[gmpi] Draft reqs - Parameters - Modulation?

  • From: "Angus F. Hewlett" <angus@xxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Sat, 11 Dec 2004 17:37:53 +0000

Hi,

Apologies if this has already been discussed to death - have been off the list for a while. A brief search of the archives didn't turn anything up.

I note in the requirements:-*

Req 52: * Every parameter is either stateful or non-stateful. This parameter property may not change over the lifetime of a plugin.



Now, in an API I designed for something we're doing in-house, we found it very useful for parameters to have both a static and dynamic state, to support realtime modulation in a flexible way without messing with the settings the user wants to persist for the plug.

There's a clear difference, for example, between setting the cutoff of a filter by twisting a knob, and changing it by modulating it with an LFO. When state-save happens for the plug, you want the former to be persisted, and the latter not.

So, my question is, does the group propose that:-

A) plug-ins that wish to support this kind of thing expose multiple parameters for the same fundamental thing (say Filter Cutoff, stateful, and Filter Cutoff MOD, non-stateful)?

B) in general, the host is the arbiter of all modulations, so a host doing a lot of modulation keeps a modulation-neutral state for the plug-in around (updating it when the user makes a persistent parameter change), and makes sure that the neutral state gets persisted.

C) non-stateful, additive parameter-modulation events for otherwise-stateful parameters are potentially useful, and should be considered as a requirement.

D) ... something else?

My thinking is that C is the best solution from the user point of view (it does increase plug-in complexity slightly, but it's something that's easily hidden by an SDK baseclass); A is the simplest to implement but may result in extra parameters and complexity being exposed to the end-user (bad!); B is good for the user and the plug, but is likely to be a headache to implement on the host side, and a far worse breeding ground for bugs than A or C.

Best regards,

      Angus.

--
=========================================================
Angus F. Hewlett, Managing Director (CEO)
FXpansion Audio UK Ltd - http://www.fxpansion.com
Registered in the UK - #4455834 - VAT: GB 798 7782 33
=========================================================



---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: