[gmpi] Re: Reqs 3.8

  • From: Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Wed, 10 Dec 2003 15:40:04 -0500

>why not simply require that all plugins present a float interface to
>the host? 

otoh, to be my own devil's advocate for a bit... considering the case
of the current crop of hand-helds and portable hard-disk/memstick
audio players. on such systems the host doesn't even use floats!

what to do? well, i think that the "platform" idea has an idea here,
but its not quite right.

as has been noted, its not sure to be trivial (or even easy) to move
the DSP code between these two sample formats. consider the way that
Ogg Vorbis was held up for some significant time by the absence of any
fixed-point implementations of its codec (this has now been addressed,
of course, and there are number of devices now using this). 

if we were to assume that it is *never* trivial to move like this,
then we could also assume that a vendor who targets both platforms
will need to provide two different implementations. this is very
similar to the situation with wintel/macos+ppc implementations
today. a fully optimized plugin (using sse, altivec etc) is *not* just
"recompile" portable across platforms. probably.

if this is true, then we do not have to concern ourselves with
providing some framework by which a host for a given platform can load
the relevant version of a plugin. what we do instead is to declare the
platform to be either float or fixed point (or double). GMPI does
this. GMPI says "GMPI on wintel uses float" or "GMPI on ARM is fixed
point 48.8" etc. 

when compiling for a given platform, you do indeed include
"gmpi/platform.h", which will define some equivalent of GMPISample as
a type. but that's it. no discovery protocol, no distinguishing the
float and fixed point implementations. if the host is on wintel, it
loads plugins that use the declared platform because that is all that
is there. the host is on an ARM device, it does the same.

this puts work on the plugin writer/vendor, but guess what: they
almost certainly have to do most of this work already. 

--p

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