[linux-audio-dev] Plugin APIs (again)

David Olofson david at olofson.net
Mon Dec 9 05:01:01 UTC 2002


On Monday 09 December 2002 09.45, Tim Hockin wrote:
[...XAP...]

Oh, I forgot to say what I was *actually* thinking:

eXtensible might actually be true, if we allow a bit of "you may see 
things you can't know about here - try to load a support/interface 
plugin for it!" (Such as the multiple datatypes mess I've been 
talking about every now and then.)


Anyway, this night, I realized that MAIA already contains a term for 
that "channel kinds" thing I suggested in a previous post: "Bay". A 
plugin can have any number of Bays. (Hardcoded, I *think*... See 
below.) A Bay is described to the host with a struct or something, 
containing this information:

	struct XAP_bay_descriptor
	{
		const char		*name;
		XAP_channel_type	channel_type;
		int			min_channels;
		int			max_channels;
		/*
		 * Maybe some other stuff
		 */
	};

If you like, you may have several Bays with Audio Input Channels, for 
example. These would be totally independent WRT min/max channel 
counts, audio format or whatever properties Audio Channels may have.


Number of Bays hardcoded or not?

Well, why would you ever want to *change* the number of Bays of a 
plugin? Well, consider a plugin that wraps other plugins... If 
plugins could add extra Bays as parameters change (or whatever), the 
wrapper plugin could just export the actual Bays of wrapped plugins, 
as if they were Bays of the wrapper plugin.

Does that sound cool, or just insane?


//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
|    The Multimedia Application Integration Architecture    |
`----------------------------> http://www.linuxdj.com/maia -'
   --- http://olofson.net --- http://www.reologica.se ---



More information about the Linux-audio-dev mailing list