[gmpi] Re: on mutliple sample types (OT, but let's finish?)

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 16 Dec 2003 11:40:07 -0800

On Tue, Dec 16, 2003 at 10:55:30AM -0800, Chris Grigg wrote:
> >Except the non-FPU system idea requires a different format.  But that will
> >fall under a 'profile' so maybe that is OK?

> Good point.  I guess each platform might need a separate example host 
> & plug-in(s) anyway, so this might not be a big issue.  (Though of 

Hopefully we can do a demonstrable cross-platform host SDK.

> meant, like, a fixed-point graph on the same platform as the float 
> graph, per Kord's concern about DSPO accelerators -- and keep in 
> mind, again, this is all only -if- we decide to go that way -- then I 
> guess that would mean we'd have to furnish both the float set 
> (example host graph + plugs) and the fixed set, plus the glue for 
> bridging different graph types.  (About which, my feeling is: ick, 
> but what else could ya do?)

I think it is dubious whether people will really mix float and non-float in
any meaningful way.

Non-FPU systems will only run integer plugins.
FPU systems will run only float plugins.

There are a couple what-ifs that can lurch those assumptions.  What if Digi
(or whomever) wants to do an integer based host on a PC/Mac platform?  What
if the next PocketPC suddenly gets an FPU?

I think that the assumptions are mostly safe, AS LONG AS we are ready to
handle the issues, should they arise.  Like I said, I don't really see much
cross pollination between int and float happening, but we can't stop hosts
from doing it.

The thing that I question more is what about if/when double becomes industry
standard for DAWs?  And what about integer - fixed point or integral
representation?  How many bits?  16, 24, 32, 48.48?

Again, we have two choices that I can see:

1) Solve it now. Design in multiple IO types.  We provide converter
routines, and all hosts must support all GMPI types (trivial with our

2) Ignore it now. We either don't allow int plugins on float platforms, or
we provide a 'float on PC' profile and an 'int on PC' profile and maybe a
'double on PC' profile.  Those profiles are all identical except the types
are different.  Then it up to any host that wants to support more than one
profile to solve the problem itself.

Either way can work.  I don't like the word 'profile' to represent JUST a
sample-type on the same platform, though.  a 'profile' to me is something
that makes the GMPI spec work on a DAW and an embedded ARM chip with minimal
differences.  So we're essentially introducing multiple 'platform profiles'
(some small number of them) and multiple 'datatype profiles' on each
platform profile.

If we choose #2, we just have to hope that no one ever wants 'int on PC' and
'double on PC'.  Then we're very much like VST - we do float.  Period.  If
you don't like that, it's your problem.

I'm torn on it.


p.s.  are my timestamps better now?

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: