[gmpi] Re: Decision Time: 7.1.1

  • From: Mike Berry <mberry@xxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 09 Jun 2003 18:30:26 -0600

Why is it useful to make it contiguous instead of separate buffers? It would seem that for many operations you are going to hurt yourself on memory loading and alignment issues without much benefit. For instance, consider stereo uninterleaved where the buffer length is 1023. By requiring continuity, you guarantee that the second channel cannot be 16 byte aligned if the first one is. This method also seems to mandate buffer copying for hosts that use mono uninterleaved buffers, since few hosts are going keep them contiguous.

As for the channels, I see no reason to put a limitation on the number that a plugin can request.

Michael Gogins wrote:

e) Other.

void gmpi::send(double* buffer, size_t dimensionCount, int* shape);
void gmpi::receive(double* buffer, size_t dimensionCount, int* shape);

buffer: contiguous block of memory, can be 1 or more dimensions; each
dimension can be 1 or more samples; or even an N x M block of transform
coefficients or envelope breakpoints. This preserves some of the usefulness
of GMPI for experimental computer music without going into all the
complexity of SDIF.

E.g. 1 mono buffer would be dimensionCount 1, shape {1024};
1 stereo non-interleaved buffer would be dimensionCount 2, shape (2, 1024};
1 stereo interleaved buffer would be dimensionCount 2, shape {1024, 2};
1 stereo non-interleaved FFT frame would be dimensionCount 3, shape {2,
1024, 2};

Failing that, mono only, non-interleaved; with enough channels you can do a
lot of the above sort of thing.

===========================================
Michael Gogins
gogins at pipeline period com
Irreducible Productions
Silence, a language for programming music and sound
Available at http://www.csounds.com
===========================================


----- Original Message ----- From: "Tim Hockin" <thockin@xxxxxxxxxx>
To: <gmpi@xxxxxxxxxxxxx>
Sent: Monday, June 09, 2003 2:05 PM
Subject: [gmpi] Decision Time: 7.1.1




OK, gang - it's decision time.  We've bantered for almost a month on this.
We will NEVER finish if we don't devote some time to finishing.

One topic at a time.  Let's bang out a majority (or better) on each topic,
PLEASE.



Q 7.1.1: Do we support interleaved or mono buffers?

a) Mono buffers only.

b) Interleaved buffers only.

 c) Either, as requested by the plugin.  Plugin chooses one (global or
    per-stream).

 d) Both, as requested by the plugin.  Plugin can specify preference, but
    accept either (global or per-stream).

e) Other. Explain.

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




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




--
Mike Berry
Adobe Systems


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