[gmpi] Re: Topic 1: Audience for and users of plugins

  • From: David Olofson <david@xxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 18 Feb 2003 14:26:13 +0100

On Tuesday 18 February 2003 12.59, Steve Harris wrote:
[...]
> Back on topic, are driver plugins neccesary?

Not strictly, but they can make life a bit easier if they can be 
supported without messing up the API.


> I dont think they will
> be generally useful enough to support in the API myself. I think
> they will end up being host and platform specific.

I don't think so. I'm doing something like this in the 
soon-to-be-released Audiality 0.1.1, and the only special case is 
this "driver runs client through callback" thing that's required for 
SDL audio output. (SDL does it that way since it's the only way to do 
audio on some of the platforms it supports.) There is nothing truly 
platform specific about it at all.


> How do you represent the range of connection possibilities in
> rewire or jack?

To avoid confusion (false feedback loops); two plugins. One for the 
inputs and one for the outputs. They'll be part of the same lib, so 
they can share stuff internally, to deal with APIs that cannot open 
input and output separately.


> In a way that can be understood by the host or
> controlled by a UI?

Nothing special needed here, as long as we're talking about APIs that 
allow clients to have their own threads and block on I/O.


> What are the advantages of represting low level
> i/o as a plugin (other than computer sciency design aesthetics).

You don't have to make I/O an integral part of the host, using "fake" 
plugins or whatever to present the devices in the net. Even if you do 
implement them as part of the host, using the usual plugin API 
instead of internal "special" stuff might make it easier to get 
things right.


> Will it make the users experience better?

I think it can. Most importantly, all hosts can use the same driver 
plugins, so it's no big deal if your favorite app doesn't support 
SomeDriverAPI natively. All you need is a SomeDriverAPI driver 
plugin.


That said, if this conflicts with normal use of the API, it's a bad 
idea. Though, I think those who haven't should take a look at ASIO 
and EASI, and perhaps some other modern driver APIs. They're 
remarkably similar to plugin APIs in many ways, especially when it 
comes to the execution model and state management.


//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 -'
   --- 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: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: