[gmpi] Re: Topic 7: Audio packaging

  • From: "Silver Blade" <lists@xxxxxxxxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Thu, 22 May 2003 13:54:28 +0100

> 1.  How should multichannel audio streams be represented, interleaved or
> not?

Definitely non-interleaved, simply because I believe it's easier to
visualize and therefore easier to understand. Data[channel][sample] reads
nicer than Data[(sample * channels) + channel] if that is correct. I think
ASIO also works with non-interleaved buffers as well. I've found interleaved
buffers to be very troublesome.


> 2.  What audio sample data types should be supported?

All standard ones (8, 16, 24 and 32 bit (floats??)). These can probably
easily be typecasted as necessary. Maybe support for even higher bit-depths
could be added for future compatibility.


> 3.  How are audio data buffers allocated?

This should definitely be the host's responsibility. Plugins could call
functions of the host for this purpose, perhaps?


> 4.  Are audio data buffers timestamped?

Hmm... Not sure. On the timeline they should be, and possibly when plugins
are being called the time stamp could be supplied.


> 5.  Are compressed formats like MP3 permitted?

While the idea of being able to use compressed audio data in near-realtime
is interesting, I don't see any reason why it should be done on-the-fly.
It'd be a waste of CPU time and memory. Best for the host to convert the
data into the format it works natively with first (or not, depending on how
the host is implemented.)


> 6.  Should data be packaged as objects a la DirectX, or as raw buffers a
la
> VST?

The way I'd do it is to have a structure containing sample rate, bit depth
and channels, and then a pointer to the buffer(s). This information could
then be passed to plugins.


-SB


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