On Fri, Apr 02, 2004 at 11:45:11AM +0200, Paul Kellett wrote: > "Jeff McClintock" <jeffmcc@xxxxxxxxxx> wrote: > > > > The differences between 1 instance of a multitimbral synth and several > > seperate instances (on different channels) is really just a matter of > > presentation. Mayby the solution is a clever tabbed interface or > > something. > Back to the boring example of GM... There should be a shared reverb > and chorus with sends from the patches on each MIDI channel. It's much > easier to let one plug-in handle all this internally. Again with the modules! :) If you have a master module and N channel modules you can achieve multi-timbrality (beyond just 16, even) and still have clear semantics. The master module has the IOs and the master controls, such as reverb. Each channel module has the parameters for the synth. We've already pretty much said that saving a patch from GMPI is a matter of saving all the state-bearing parameters, right? If this is true, then the model you described of Bank vs Patch saving does not work here. This discussion originated with the idea of flagging params per-channel or master. The modules model provides a simple way to have 1 to N channels, without forcing channels into the GMPI API. An alternative would be to flag parameters as "I'm a master control" or "I'm a channel control". We can then have a value somewhere that indicates how many channels a plugin has, and loop over that. Example: save master params for i = 0 to plugin->channels save channel(i) params This works, but isn't very flexible. Hardlimits suck. If we decide that modules and dynamism are really NOT what we want, then this approach could work just fine. Take it a step further: make an api for the host to add/remove channels dynamically. This is PRETTY MUCH modules, but slightly simpler. Instead of having N possible module classes, you have just 1 class. Thoughts? ---------------------------------------------------------------------- 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