[gmpi] Re: Revised Topic 7.1: Audio I/O

  • From: Steve Harris <S.W.Harris@xxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Fri, 6 Jun 2003 16:56:32 +0100

On Fri, Jun 06, 2003 at 05:15:54 +0200, Vincent Burel wrote:
> > But it can happen inside the graph too. Multiplexing certainly will.
> > eg. seperate channels -> mutiplex -> reverb -> out
> 
> no, if we decide to work only in n-mono float32, there will be nothing else
> in the graph.

Multiplexed streams still appears as 2+ mono stremas, but they contatin
information in the phase.
 
> > Well, at the very least it would need a big red warning in the docs ;) I'm
> > sure there are plugin platforms which dont offer inplace processing.
> 
> ha, i'm not aware, which one !? Inplace is so much andy for insert chain
> that i will be surprise to learn that.

I was speculating. You have far wider expereince of plugin systems than I
do, maybe they all support inplace processing.
 
> > > > > Q: How do we handle disconnected inputs/outputs?
...
> > Its not a useless feature, I do it all the time. Surely its not that
> > unusual?
> 
> maybe it has some interest, i cannot see where...  but again i think also to
> reliability and developpement cost and so on.

As long as (dis)connected state can be transparent to plugins I dont see
how this would be an issue. In one block you connected and receive audio
data, in the next your unconnected and receive a magic 'silent' block. IT
doesn't matter to your code.
 
> when i've programmed DX hosting in my FFX-4 and FFX-16 and also in Pyramix
> software. It was in 1998 or 1999.
> i've used only one DirectXGraph to route a complete insert plug-i chain in
> mono or stereo. and i've implemented as a mute buton a
> disconnect/re-connection plug-in into this chain without destroying any FX
> object.
> 
> The result has been a disaster. On disconnection, Some Dx plug-in didn't
> release their interface correctly, some allocation was not free, the
> buffers, the synchronization object, and the reconnection was often fatal. i
> remember , even with some wellknown plug-ins , each time i was clicking on
> the mute button , the memory was increased ... and increased and increased
> up to the crash.

Right, but thats because the DX buffer API is unnecesarily complex ;) If
it was just float * buffers and flags it would have been fine.
 
> Hot connection means more complicated hosting scenario  and more complicated
> plug-in implementation.

Not neccesarily, c.f. LADSPA. LADSPA plugins are completly ignorant of
thier connection state and can be reconnected (outside of thier process()
callbacks) freely.

- Steve

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