[gmpi] Re: Topic 7: Audio packaging

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 27 May 2003 22:42:10 -0700 (PDT)

> implement such features just to make it possible to use actually 
> plugins. A "modular synth" style host shouldn't really need to have 
> any converters and stuff at all, but rather just publish all the mono 
> channels and leave the decisions to the user.

Assuming we go with multi-channel connections, the host can transparently
decouple all the wires at the edge of each plugin.  To the user, your 5.1
plugin looks just like a 6-channel plugin.  Behind the scenes you'd have to
rebundle them.  Making a universal wire-converter would be pretty straight
forward.  Add to that the meta-data of definitions.  download a new
gmpi_formats.def file and now your host knows that format #27 is 7.1 and
contains 8 channels in the following order with the following names...

Now you can unbundle a 7.1 wire.  No host change needed.

> So you can't run plugins at all if they happen to say that some input 
> is 7.1, while your host supports only up to 5.1? I don't see the 
> point. If it's just an enum that says something about a group of mono 
> channels, the plugin will at least run, and if it's done properly, 
> fixing the problem is just a matter of downloading a more up-to-date 
> definition file.

We're saying the same thing.

The differences between our 'everything is mono' (A) model and the 'enumerated
formats' (B) model:


point: A allows the host to connect anything anywhere
counter: B can use a universal adapter to emulate A very closely

point: A is very flexible
counter: B allows the plugin to be more sure of it's inputs

point: A includes some ambiguity and room for weird failure modes
counter: B requires that plugins enumerate supported formats

point: A requires the host has to make some guesses or goto the user to 
       emulate B
counter: B requires someone to keep up to date on formats

point: B forces you to unbundle and re-bundle signal-sets (baton-passing makes
   this become almost 0 cost)

point: B requires the host to code flexibly for an external format defs 
    file (SDK candidate)


----------------------------------------------------------------------
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: