Forums > MaxMSP

Is this possible with Max? (VSTi related)

February 1, 2012 | 10:47 pm

Hello! I’m absolutely new to Max and wanted to ask whether it is possible to do the following thing:
1) load any VSTi plugin (I know that it’s possible)
2) display plugins’ own editor
3) list all available parameters (let’s say, in some sort of a table)
4) ability to pick any number of these params
5) display these params somewhere else on the screen visually as knobs and be able to change param values by turning these knobs (knobs should also represent value changes if they are mode through the plugins’ editor)
6) ability to group the selected params in groups and be able to enable/disable specified group(s)
7) ability to randomize values of the selected parameters; ideally randomization should be done according to specific algorithm; is it possible to use any programming languages to interact with objects?
8) link parameters to midi controller including one midi CC controls multiple params

As I said I’m new to Max. Gut instinct tells me that most of those things indeed can be done with Max. However I’m not sure whether they can be done the way I described. Especially I’m concerned about GUI part.
If you know any projects that implement any of the described things please let me know.


February 1, 2012 | 11:34 pm

Absolutely possible. All of it, as far as I can tell.

Also, I believe if you google sufficiently you will uncover patches that already do most of this.


February 1, 2012 | 11:47 pm

All of this is possible, although it is going to be a lot of work!

Supported programming languages that interact with objects are JAVA, javascript, lisp, python, C/C++.


February 2, 2012 | 3:11 am

How does one use Python to interact with Max objects….is there a document somewhere on this topic?


February 2, 2012 | 7:32 am

dhjdhjdhj: I think the preferred method is Jython?

http://wiki.python.org/jython/WhyJython


February 2, 2012 | 1:40 pm

Below is something to get you started – if you look at the references files for the various objects you should be able to make it more streamlined but this is the core functionality you are looking for.

– Pasted Max Patch, click to expand. –

February 2, 2012 | 3:41 pm

grizzle, thank you for the patch. I will definitely investigate it later.


February 2, 2012 | 4:21 pm

Hi there,

quote "5) display these params somewhere else on the screen visually as knobs and be able to change param values by turning these knobs (knobs should also represent value changes if they are mode through the plugins’ editor)
"

Please bear in mind that, if you wish to display ‘real’ parameter values on the knobs, that VSTs generally report parameter values as a float 0. – 1. This can make displaying the real values in a max gui a little more awkward. I’ve overcome this , for example with the Lexicon Reverb VST, by making a mixture of lookup tables, scaling and simple max patches to do the math to get the real values. Some, like Lexicon’s size/time parameters, were a little tricky to implement!

Hope this helps,

Regards,
Leigh


February 2, 2012 | 9:47 pm

thats all possible, but you will have to put some patience into
controlling the vst~ object until it works like you wish.

dont try all of these things at once, start with the helpfile and
the reference for [vst~].

-110


February 2, 2012 | 10:54 pm

Alternatively, take a look at the wrapper I did for VSTs to hide some of the complexity. Here’s the blog entry that describes my GenericVST implementation.

http://deskew.com/component/content/article/19/76.html


February 3, 2012 | 4:55 am

you have that on the examples of audiounit~.. just make something similar with vst~ and it should be ok


February 3, 2012 | 3:37 pm

Regarding python, there is version of python built by Thomas Grill that
allows you to load python scripts and run them.

http://grrrr.org/research/software/

You can route messages from the python external to any other Max object you want.


Viewing 12 posts - 1 through 12 (of 12 total)