Re: Hardware control surfaces (was Re: Private Parameters)
Re: Hardware control surfaces (was Re: Private Parameters)
- Subject: Re: Hardware control surfaces (was Re: Private Parameters)
- From: Jim Wintermyre <email@hidden>
- Date: Fri, 18 Jul 2003 11:47:42 -0700
At 2:48 PM +0200 7/18/03, Urs Heckmann wrote:
Am Freitag, 18.07.03, um 12:09 Uhr (Europe/Berlin) schrieb Jim Wintermyre:
Hardware control surfaces are another reason that Urs' idea (it was
you, right Urs?) for parameter groups is important to consider.
On a control surface, you have only a very limited number of controls
that you can edit at once (a "page" of controls). It is quite
important--if only for user experience--that related controls be
grouped together, so you don't have to flip back and forth between
pages all the time.
The only plugin API that I know of that handles this is RTAS.
Developers explicitly map parameters to hardware knobs and define what
parameters appear on what pages. You can even provide a page table for
a specific piece of hardware, to provide the absolute best mapping
possible. Very, very nice. (There are definitely reasons that people
stick with ProTools.)
Actually, VST does have a routine that allows you to specify the
ordering of parameters for "display" purposes (where "display"
could be either a generic UI, or external hardware controller).
That routine is called getParameterProperties(). It allows you to
specify a number of other useful things which would be useful for
a hardware controller to know, such as a "shortened" param name,
whether a param is a switch/discrete/continuous, display
"categories" (which would be like the related control groups you
mention above) etc. Unfortunately most hosts don't support this
routine, or only partially support it.
One host which does support it in part is Logic, and it is very
helpful for making Logic Control work well with with VST plugs.
I'm new to AU, so I don't know this, but I would assume that AU has
some similar functionality? If not, it's definitely something to
think about adding.
Hehe, actually, in VST you can stuff the "category" attribute in the
VstParameterProperties struct, which for instance is used to build
submenues for automation channel selectors:
http://ygrabit.steinberg.de/users/ygrabit/public_html/vstsdk/OnlineDoc/
vstsdk2.3/html/plug/2.0/aeffectx.html#VstParameterProperties
Yeah, uh... that's what I said, right? :-) You set this attribute in
the VST getParameterProperties() function I mentioned.
To put it simple: VST has Parameter groups, but no-one knows that.
Yeah, unfortunately no hosts (that I know of) support it. Hopefully
AU hosts won't go the same route...
Jim
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.