Forums > MaxMSP

VST Presets

August 31, 2006 | 4:40 pm

Hi All,

As always, apologies for what might be the obvious, but…

I’m trying to create VST/AU Plug-ins with Max/MSP, and I’m finding it a bit challenging to understand how Presets are saved and recalled.

I’ve read the Ref Guide, and it’s not quite clear what the easiest way to do it is – if there is someone who has indeed done this, and can explain it to me in a more plain English, I’d be hugely appreciative.

My Plugin needs to be able to save MATRIX object states (32X128)as well as some other smaller parameters. It would be great if I could do this with several ‘Programs’, but even if it could just recall what it looked like when I last saved, I’d be happy.

Could someone please help me by giving me a more concise explanation of which objects do this effectively, and how to use them when building VST/AU instruments?

Thanks in advance,
Joel


August 31, 2006 | 7:34 pm

OK, maybe I should be more specific here…

Is there anyway to save the state of a MATRIXCTL within a Plugin?

-j


August 31, 2006 | 7:55 pm

Interfacing a matrixctrl object to plugmultiparam is not a very straight-forward process. For Hipno, I developed an abstraction ( tap.plug.pp.matrixctrl ) that is available in the Tap.Tools.

Hope this helps!
Tim


August 31, 2006 | 8:08 pm

Right on!

Looks like you just got yourself a new customer :)

Cheers and thank you for your response and for your programming work!

-Joel


September 1, 2006 | 12:16 am

Not sure if you’ve looked into the pattr family of objects, but
that’s an option

Dan

At 3:34 PM -0400 8/31/06, joelsquare wrote:
>OK, maybe I should be more specific here…
>
>Is there anyway to save the state of a MATRIXCTL within a Plugin?
>
>-j


Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X
http://www.defectiverecords.com

http://www.jackosx.com


September 1, 2006 | 9:19 am

if you know the logical data format of your matrix,
and you also know that VST presets are 32 bit float numbers,
it should be no problem to convert the data from the matrix
in order to save it via pp.
custom solutions (other than using pp?s/plugconfig) are risky.

eventually you might want to use plugmultiparam instead of
plugparameter if it is a big matrix …


September 9, 2006 | 7:33 am

joelsquare wrote:
> My Plugin needs to be able to save MATRIX object states (32X128)as
> well as some other smaller parameters.
>
> Could someone please help me by giving me a more concise explanation
> of which objects do this effectively, and how to use them when
> building VST/AU instruments?

The easiest is the preset object, but will be difficult if you start to
save more complex stuff inside subpatchers and so on, then pattr is your
friend. (And its not that difficult either if you once understood the
basics…)
But beware, VST hosts do have their own way of saving presets as well,
but they only include parameters which are connected to pp objects. For
the host they are one dimensional floats between 0. and 1. Not so easy
for your matrix unless you have 32×128 pp objects to save each point
with its own parameter…
You could also try to translate the matrix state into several floating
point numbers and then store just these, look at the lftoa and atolf
conversion tools which come with the pluggo installer. (One row of your
32×128 Matrix can be translated into one ascii number, 3 ascii numbers
can be represented as one float…)
If I find some time, I’ll make an abhaXion to deal with Matrices in
pluggos…

But first you need to decide if you want to use your own preset saving
and storing mechanism (which might confuse some users), or the one of
the host. The host mechanism is important, as a user usually wants to
save evereything including all presets within a session or a sequence
(in case its a DAW or a sequencer), without the need of storing presets
elsewise. then all these parameters have to be in a propriate format…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


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