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,
OK, maybe I should be more specific here…
Is there anyway to save the state of a MATRIXCTL within a Plugin?
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!
Looks like you just got yourself a new customer :)
Cheers and thank you for your response and for your programming work!
Not sure if you’ve looked into the pattr family of objects, but
that’s an option
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?
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X
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 …
> 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
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
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…