On Sat, Dec 1, 2018 at 5:24 PM Paul Davis <[email protected]>
wrote:

> here at ardour HQ we're trying to figure how we're supposed to do
> something that we want to do: indicate to the user when the parameters of a
> plugin, previously set by a preset, have been subsequently modified by the
> user.
>
> the problem comes from the fact that when PresentPreset is set on a
> plugin, it notifies property listeners about the change in the
> PresentProperty value. Great!
>
> but then according to apple docs and other code, we are supposed to call
> AUParameterListenerNotify() with AnyParameter as the parameter ID, so that
> all listeners get notified about the (potentially) new values of all the
> parameters. Ardour is itself a listener.
>
> The notifications occur in this order, so there is no way sensible to know
> when the notifications that we've triggered by using AnyParameter have
> finished.
>
> This means that managing a flag that indicates "all parameters have a
> value that comes from a preset" seems hard, because we don't know whether a
> ParameterValueChanged notification comes from:
>
>    (1) a preset change itself (specifically, us notifying all listeners
> about it)
>    (2) the plugin GUI being used to change a parameter on its own
>    (3) some other GUI (eg. host provided) being used to change a parameter
> on its own
>
> Can anyone recommend a "best practice" here, if there is one?
>

ps. one idea we've had is to queue some other notification that will be
delivered *after* all the parameter value change notifications are done,
but we have no idea what that might be.
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to