[gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- From: David Olofson <david@xxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Wed, 28 Apr 2004 14:36:23 +0200
On Wednesday 28 April 2004 10.11, Chris Grigg wrote:
[...]
> E.g. the three
> GMPI parameters LpfFreq[ 2 ], LpfGain[ 2 ], and LpfQ[ 2 ] could
> characterize the bass EQ band for the mixer plug-in's channel 2.
> (Somebody suggested using ".2" as part of the parameter name, but
> I'm not so sure that's the best, seems you'd have to do unnecessary
> string conversions, memory-burning catenations, etc.)
Though it's probably a bad idea to build anything that's inherently
very resource intensive into the API, I don't think this is an issue,
unless we actually use an string as the address field of every single
event.
If we use these strings only when making connections, we can implement
grouping, indexing, hints and whatnot on that level. Plugins could
have an interface looking something like this:
GMPI_target *connect(GMPI_plugin *p, const char *name);
where 'name' is this OSC style parameter name, and the result is an
"event target", looking something like this:
typedef struct
{
GMPI_queue *queue;
uint32_t id;
} GMPI_target;
So, the plugin gets to pick an event queue and an ID for each control.
The plugin can have separate queues for separate internal loops to
avoid internal event dispatching, and to reduce the need for
sort/merge operations when sending events from other plugins. The
'id' can be a plain index, a few bitfields for multidimensional
indexing, or whatever fits the internal design best. No need to
explicitly define a number of indexing dimensions - anything that can
be described with the OSC style addressing scheme will work just
fine.
As to specifically dealing with GM, beyond just hinting what
corresponds to a MIDI channel, and which parameters correspond to
what MIDI CCs, that seems like a bad idea to me. Such a feature would
be of use only to host authors who want to send MIDI to synth plugins
without doing their homework - and it would only work with synths
that actually care to implement it. Other synths wouldn't work at all
with such hosts, even if the user is willing to connect CCs to
parameters manually.
Or maybe I'm just not getting it...?
//David Olofson - Programmer, Composer, Open Source Advocate
.- Audiality -----------------------------------------------.
| Free/Open Source audio engine for games and multimedia. |
| MIDI, modular synthesis, real time effects, scripting,... |
`-----------------------------------> http://audiality.org -'
--- http://olofson.net --- http://www.reologica.se ---
----------------------------------------------------------------------
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: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- Follow-Ups:
- [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- From: Chris Grigg
- References:
- [gmpi] 3.11 topic: Multi-timbrality and parameters
- From: Tim Hockin
- [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- From: Chris Grigg
Other related posts:
- » [gmpi] 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- » [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- From: Chris Grigg
- [gmpi] 3.11 topic: Multi-timbrality and parameters
- From: Tim Hockin
- [gmpi] Re: 3.11 topic: Multi-timbrality and parameters
- From: Chris Grigg