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]
