Re: GetParameterValueStrings
Re: GetParameterValueStrings
- Subject: Re: GetParameterValueStrings
- From: Jim Wintermyre <email@hidden>
- Date: Mon, 18 Aug 2003 14:31:48 -0700
At 6:11 PM -0500 8/15/03, Marc Poirier wrote:
Howdy Jim,
For one thing, in AU, you don't have to work around normalized parameter
ranges. So you don't need to worry about dividing by 3 or whatever to get
your 3 states like you described. You just say that your parameter has a
min of 0 and a max of 2. And then you say that it's unit type is Indexed,
and it's treated like an integer value instead of continuous. And then
you provide the ValueStrings to give the label for each of the 3 integer
states. You can also specify the Boolean unit type for a parameter, and
then it will be treated as a 2-state on/off parameter. Really, the
difference between AU and VST here is basically:
AU lets you describe the parameter as what it actually is
VST treats all parameters generically and lets you mask that with various
string output functions
The thing is, the host can never know all possible types of
parameters that a plugin might want to use. I guess that's what
kAudioUnitParameterUnit_Generic is for; but currently, there's not a
way to get the required display information to make it at least as
complete as VST. I guess kAudioUnitProperty_ParameterValueName will
help in this regard. There also should be a way to specify the
parameter unit label for generic params (see getParameterLabel() in
original message).
So you'll find that, once you define your parameters properly in AU, the
host and any generic interface has a lot more information about your
parameters than with VST, and you can get much better generic interfaces.
For example, you could check out our Skidder at
http://destroyfx.org/audiounits.html and look at it in an app that uses
the GenericView, like AudioUnitHosting, and you'll see that it's very good
what with all of the sliders with literal ranges and pop-up menus and
checkboxes and whatnot.
I was checking out one of the TC plugins installed by Spark
(SparkDelay) in this case. In Logic 6 on OS 9, in controls mode the
controls display useful information; in Logic 6 on OS X in controls
mode the param values are meaningless. This could be fixed in
subsequent Logic versions (this was 6.0 I think). I tried to check
out this plugin in AudioUnitHosting, but it crashes the app. Also,
is there a way to toggle between the custom editor view and the
generic view in AudioUnitHosting?
In my opinion, the one important thing missing is a way to specify a value
distribution curve. Like if you have some sort of parameter and you want
it to be have it's values scaled logarithmically rather than linearly to
get a nicer response with a generic interface, currently there's no way to
specify that, but I'll keep trying to convince Apple folks that it's
important... ;-)
Well, from my VST-ish background, I'd say just do the mapping in the
plugin... but I can see where this would be useful.
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.