• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Dynamically notify a DAW about a change in parameter info
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dynamically notify a DAW about a change in parameter info


  • Subject: Re: Dynamically notify a DAW about a change in parameter info
  • From: Christian Rober <email@hidden>
  • Date: Sun, 23 Aug 2015 20:41:33 -0400

Hi,

No, as far as I know, hosts are not required, via the that Audio Unit API, to update the info for a parameter after those parameters have been set by the plug-in during construction/initialization and the AUBase::GetParameterList() and GetParameterInfo() combo has been called.

In fact, I think most hosts rely on the fact that the type, min, and max values of a parameter do not change during the lifetime of the plug-in.  For example, in an automation lane, it is probably helpful for hosts to just map min and max parameter boundaries to the Y coordinates of the track/lane UI.  Simplifying the range is probably also helpful when hosts load plug-in automation from a saved file.

In other words, this behavior may be just a healthy design compromise to give AU developers flexible-enough parameters, while reducing the required implementation overhead for hosts.

In your case, I would consider the following options:

1.  Add a new boolean/toggle parameter separate from your max-of-a-1000 parameter.  Then, just manually control, or ignore, its value depending on the state of your audio unit.  Also, consider if this toggle is a three way toggle or just a two way toggle.  If it is two-way, then just use the boolean field (returning kAudioUnitParameterUnit_Boolean in AUBase::GetParameterInfo().)

2.  Leave the max of your max-of-a-1000 parameter at its true absolute max value for the lifetime of the AU.  Then adjust the value manually as the state of your audio unit changes, possibly forcing a value lower than the absolute max.  I have done this myself with discrete parameters where I can control the value of the parameter in the host UI, and force a logically consistent value, regardless of what the user tries to do.

--Christian

On Sun, Aug 23, 2015 at 5:06 AM, Oshrat Fahima <email@hidden> wrote:

Hi,

Is there a way our AUMIDIEffectBase can notify the host dynamically about a change in AudioUnitParameterInfo besides plug-in initialization phase?

So as a result we’ll get a call AUBase::getParamaterInfo().

 

i.e: When our AudioUnitParameterInfo changes entirely, including maxValue from 1000 to 2 (from continuous to toggle control),
we call
AUParameterListenerNotify(), and as a result the host calls AUBase::getParameter() which updates only the parameter’s value.

                                                                                                                                       

A side effect will result in a wrong display in the automation lane.

 

Thanks,

Doron & Oshrat


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Dynamically notify a DAW about a change in parameter info (From: Doron Atuar <email@hidden>)
 >Dynamically notify a DAW about a change in parameter info (From: Oshrat Fahima <email@hidden>)

  • Prev by Date: Dynamically notify a DAW about a change in parameter info
  • Next by Date: Very basic concrete questions about a LogicPro instrument plugin
  • Previous by thread: Dynamically notify a DAW about a change in parameter info
  • Next by thread: Very basic concrete questions about a LogicPro instrument plugin
  • Index(es):
    • Date
    • Thread