[gmpi] Re: Topic 7: Audio packaging

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

> Just mark each channel/pin/whatever (ie one mono audio stream in or 
> out) with a context ID. Same IDs means same inner loop, provided that 
> loop is in-place safe.
> 
> If a plugin is *totally* in-place broken, each audio input or output 
> will will have it's own plugin unique context ID. This tells the host 
> that there must be one unique buffer connected to each pin, or weird 
> things will happen.

Once again, David conceives something clever and deceptively simple.  I like
this idea quite a lot, assuming that my othe rproposal goes down in flames
(with mine, you don't need to know ANYTHING about in-place safety).

> Please note that I came up with this just now, and haven't thought all 
> that much about it. There might be holes in it.

The idea I'm fighting with is this:

It seems logical that for mono-stereo conversion you would pass the same
input buffer to both channels (not a copy, the same buffer).  But then we
impose that the plugin be aware of this aliasing, and handle it.  There ARE
solutions, but it sems to me to be best if we dictate that a single buffer
may only be involved in one stream at any given time.  This means you can't
get the same buffer on 2 inputs, and you can't return the same buffer on two
outputs.

With your proposal it is possible to do, but it can get complicated fast.




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