[gmpi] Re: 3.10 - Audio I/O

Reqs 36 and 37 are fine, and sound pretty standard to me.

Is req 38 referring to the data types like int and float? I believe so but
I'm not sure.

Also not sure about req 39 - is this basically interleaved format? If we can
work with that (although personally I prefer non-interleaved just because I
find it easier to visualize!) that's fine. Maybe we can provide some form of
macro (DEINTERLEAVE_SAMPLE(channel, samplenumber)?)

Req 40: With the program I'm working on at the moment, the different
connection types are important. The bundles of channels mentioned sound like
a good idea, provided we can accomodate future expansions (I believe you can
get even 7.1 sound cards now!) If plugins can be connected to each other,
there'll need to be a way to ensure that the user doesn't attempt to link an
audio socket to a MIDI one. This is fairly straightforward from my
experience - just use a range of numbers for audio connections, and have a
generic "wave" socket for non-channel-specific purposes (eg: vocoder
modulator input? - if mono, that is.)

Req 41: Things may get tricky when the user wishes to connect 3 plugins
together, using individual outputs. Maybe we could somehow tell each plugin
which channels aren't being routed to that plugin?

Req 42: That's fine...

Req 43: I suggest that each input have an activity status, to indicate
whether that input is "live" or not. Ditto for outputs. I use "live" as it
just describes if there's a signal - a "live wire", as it were. Such an
indicator would be dual-purpose. If an input isn't connected, its live
status would be 0 (false.) If an input is connected but there's no signal on
it, its live status would still be 0 (false.) Obviously it'd take a bit of
CPU time for the host to identify parts where there are sound samples that
contain nothing, so maybe the host should just be able to specify when it's
coming up to a part (in its sequencer) containing audio, and just set the
live status to 0 when there's silence.

And another benefit of the live status is that it can be used to track
plugin processing - the host just needs to loop through the plugin list,
checking which plugins have connected inputs that are live, and attempting
to process them. Once all inputs are live, the scanning loop exits.

Obviously, it's up to the host however how it handles things like that.

-Andrew



----- Original Message ----- 
From: "Tim Hockin" <thockin@xxxxxxxxxx>
To: "GMPI list" <gmpi@xxxxxxxxxxxxx>
Sent: Saturday, March 20, 2004 12:47 AM
Subject: [gmpi] 3.10 - Audio I/O


> The last detail of 3.9 is pending, let's open 3.10.
>
> Read it over, post any edits, concerns, or things we've missed.
>
> http://www.gmpi-plugins.org/gmpi/requirements.php#sec_3.10
>
> Let's see if we can do this one in less time :)
>
> Happy weekend.
>
> ----------------------------------------------------------------------
> 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: http://www.freelists.org/archives/gmpi
> Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
>
>
>


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

Other related posts: