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?
_______________________________________________ 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]
