[gmpi] Re: Where are we?: 7.1.2/Untangling issues

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 16 Jun 2003 22:51:41 -0700 (PDT)

> jumps to the solutions.    Jumping to the solutions is what's been 
> stopping us.

I'm not sure I follow the line of questioning on these, but I'll answer and
let you sort it out :)

> 1 - For each of the areas GMPI is intended to address, what sample 

You should publish a list of "areas GMPI is intended to address" for this.

> 1 - For each of the areas GMPI is intended to address, what sample 
> data types are currently appropriate?  (Make no attempt to reduce the 
> set, just list them.)

Assumption: "currently appropriate" means REQUIRED NOW.

DAW: Float32
Mobile: Int16

> 2 - For each of the areas GMPI is intended to address, what sample 
> data types are reasonably foreseeable in the next (say) four years? 
> (Make no attempt to reduce the set, just list them.)

DAW: Float64
Mobile: Int24

> 3 - For each of the areas GMPI is intended to address, are multiple 
> sample data types within a single graph required?

REQUIRED?  No.   It's 'desirable' that is up for debate.

> 4 - For each of the areas GMPI is intended to address, are multiple 
> sample data type pins per plug required?

Question is unclear: 
  Multiple types per pin: NO.
  Multiple types per plug (1 per pin): If multiple types inside one graph
      are allowed, MAYBE.  It can be obviated by a simpler and orthogonal
      converter API.

> 5 - In the (likely) event that the set of areas GMPI is intended to 
> address has sufficiently different data type requirements as to make 
> supporting all of them too cumbersome or expensive (in the opinion of 
> enough developers), is it necessary to do anything in the official 
> documents to keep any of the areas separated from the other, for 
> either technical or marketing or other reasons?

I have no idea what you're asking here - this question requires foresight
beyond any of us.  What do you mean by areas?  Does areas mean DAW vs
Mobile apps, or does it mean channel bundling vs datatype issues, or
something else?  I don't know how to answer this.

> 6 - If the answer to 5 is Yes, then how, exactly, should the official 
> documents achieve this separation?  (E.g., with technical API-level 
> measures?; with technical option(parameter)-limiting measures?; with 
> industry-consensus or market mechanisms?; on a per-project basis?; or 
> through some combination of these?)
>
> 7 - If the answer to 5 is No, then what, if any, mechanism outside of 
> the official documents is needed to handle the situation?

There are too many IFs at this point.  I'm not comfortable thinking about
5-7 until 1-4 are agreed upon.  If we agree that we need multiple types per
pin, it is very different than if we decide that we need one type per
graph.

Which is why I asked the question: is it REQUIRED to support more than one
datatype withing a graph?

Uggh, I'm so tired of this.  I think I see your point in your other rant.
Profiles are NOT the solution to the datatype question.  I think we are
clear on the fact that we DO need to support different datatypes, even if
that is only Int and Float.  As we work further on the requirements and
specs we might come across other issues that tend to be divided around the
target platform.  All these issues might best be solved by profiles.

If we are requirements gathering, then lets do that.

REQUIRED: GMPI MUST support variable datatypes for I/O, at some granularity.

Now let's find out what the granularity is.


Is it the GRAPH?  Each graph contains plugins which all use a single datatype
for all I/O. (Example:  All hosts support either Float32 or Int24)

Is it the PLUGIN?  Each graph contains plugins which each use one of a list
of datatypes for all I/O.  (Example: a host can load Float32 or Float64
plugs)

Is it the CONTEXT?  Each graph contains plugins which use one of a list of
datatypes for input and one for output.  (Example: a host can load a plug
which converts Float32 to Float64)

Is it the PORT/PIN?  Each graph contains plugins which use one of a list of
datatypes for each input or output.  (Example: the host can load plugins
which have some Float32, some Float64, and some Int24 inputs)


Be prepared to justify your decision.

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