[gmpi] Re: Topic 7: Audio packaging

  • From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 2 Jun 2003 10:48:56 -0700

Chris Grigg wrote on Wednesday

Seems as though you might want to make this a per-buffer property
under plug control, called something like always-feed, so that the
host can know whether or not there's a need to provide a zero-buffer
when the user hasn't connected a source for that buffer.
<<<

Definitely, it needs to be per buffer property.

Also, there's a cute way to implement this that allows a plugin to not care
about magic zero fill if it doesn't want to.  You do something like this:

class AudioBuffer
{
        bool IsZero() const;
        void SetZero( bool );
        float* GetPointer();
        float* GetRawPointer();
};

All AudioBuffers are created by an allocator that knows (or doesn't<g> about
zero fill.  If a plugin wants, it can ask IsZero() everywhere to bypass
processing.  It it doesn't care, it can call GetPointer().  GetPointer()
will zerofill before returning the buffer if the buffer is tagged as zero.
(Use GetRawPointer to avoid the magic.)

Very likeable. But... don't we have a C-language-implementable mandate? If so, care to comment on C-language implementation?


-- Chris


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