On Sat, Dec 07, 2002 at 12:25:09 -0800, Tim Hockin wrote:
This is what I am thinking: One of the flags on each
control is whether it
is a CTRL_MASTER, or a CTRL_VOICE (or both). This allows the plugin to
define a ctrl labelled (for example) VELOCITY and the host can connect it to
any MIDI input, if it wants.
I'm not sure that making one control both is meaningful. Per voice and per
instrument controls should probably be kept seperate.
1) * Host calls plug->note_on(timestamp, note,
velocity), and
gets a voice-id.
I dont think I like the firstclass-ness of note and velocity, a we've
discussed they are meaningless for some instruments and could be
overloaded.
* Host sends n VOICE_PARAM events to set up any
params it wants
You could just send pitch and velocity this way?
Should each plugin provide serialize() and
deserialize() methods (thus
storing plugin state from the plugin itself in an arbitrary string) or
should the host be expected to write-out each control's data?
The host should do it. You dont want to have to write serialising code for
every single instrument. This also ensures that all the state can be
automated.
- Steve