[gmpi] Re: Topic 7: Audio packaging

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Fri, 23 May 2003 23:13:00 -0700 (PDT)

> This scheme avoids all possible confusion.  There is no loss of 
> flexibility for the plug writer, because if they support 
> gmpiMultichannelFormatID 37, then they know the mapping in the table, 
> so they -do- know the 'hint', it's just not represented in explicit 
> data at runtime because there's no need for that.  So where exactly 
> is the net loss in flexibility?

Because now your plugin can only accept certain formats of data streams.  It
rules out what are technically invalid, but potentially useful arrangements.

I might very well want to take a 5.1 capable plugin and only connect three
inputs.  Now we have to jump through hoops to do it.

> Using just hints, how do you avoid spec confusions like one format 
> using Rear Right and another using Right Rear?  More importantly, 
> what good does it do to try to match the hint Left get you when the 
> format you're trying to interface with defines both Front Left and 
> Rear Left?

Hints are standardized.  HINT_REAR_RIGHT is what you'd hint both of those as,
because that is the GMPI defined hint.  

When the host sees a LEFT output and only FRONT_LEFT and REAR_LEFT inputs,
there is no match.  How does ANY solution solve this?  You either guess, or
you ask the user.

The bundled method means that the host can know the fact that at this
particular junction, we're working with Stereo outs and 5.1 ins.  But it 
doesn't help much (if any) to know that.

> Flexibility and predictability frequently need to be balanced in designs...

Agree completely.

> Unambiguous rules for an extensible set of predefined multichannel 
> formats, plus a 'bag' format for user expansion, address all the use 
> cases, and enable simple, reliable plug connections for any 
> conceivable multichannel format.  It provides, in short, a framework 
> for the automatic correct handling of all future multichannel formats.

It does provide more obvious ways of doing things, and in general I am all
for explicit decisions.  It also, however, assumes that data is always
grouped.  I'm coming round a bit.  It isn't as distasteful as it once was.

I still haven't seen one example that properly done hints fails at, that
bundled channels succeeds.

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