[gmpi] Re: Decision Time: 8.3
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Mon, 15 Sep 2003 14:53:46 -0700
On Sun, Sep 14, 2003 at 10:42:46AM +0100, Steve Harris wrote:
On Sat, Sep 13, 2003 at 11:38:17 -0700, Tim Hockin wrote:
> What of platforms that do not have FPUs?
They still have libm, but I guess its an unnessary expense.
Another alternative would be to make it that same format as a sample (ala
LADSPA). Assuming we do go for a single sample format.
That's kinda what I was thinking.
I see a need for
float - many normal params
double - high res params
Could those two be collapsed into just one or the other? Smells a
bit redundant from a parameter perspective.
int - many normal params
enum - radio buttons, N-position knobs
bool - buttons
string - filenames, words
blob - misc
Yes, I like all these, at least as the semantic types. As you say
below, they can share the same binary reps in most cases, but I like
keeping the semantics separated at the parameter spec level. Better
clarity for users.
Now, float can be translated to be the same as sample_type. I'm not sure
how thinsg that require double-precision can be translated into non-FPU.
This whole non-FPU thing is a real pain in the ass.
<aside>
I want to make a motion that we NOT consider systems without FPUs, or that
we find some simpler way to handle it. Perhaps those non-FPU platforms
don't have to do FP audio IO, but _do_ need to do float/double parameters?
What is the real goal of non-FPU support? Where are it's backers? Whenever
someone says something that might make non-FPU systems hurt, no one speaks
up for them. Are we solving a problem that doesn't exit?
</aside>
Int parameters can be faked using float.
Enum and bool can be faked using int.
Yep..
String and Blob are obvious, I think.
Maybe. Length encoded and/or null terminated? Starts
word/doubleword aligned, or arbitrary byte address? ASCII characters
only, or Unicode support? Max possible length? Etc. So in many
ways int, float, double are far more obvious.
So that leaves my NEED list at float/real/sample_type + string + blob. Are
there good reasons to turn anything else into fundamental primitives?
Perhaps int - can anyone justify it?
Yeah, to avoid unnecessary conversions. I mean, by that logic, since
you can encode any int or float/double number as a (long enough)
sequence of ASCII characters, so why use anything other than string?
-- Chris G.
----------------------------------------------------------------------
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: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- Follow-Ups:
- [gmpi] Re: Decision Time: 8.3
- From: Steve Harris
- [gmpi] Re: Decision Time: 8.3
- From: Tim Hockin
- References:
- [gmpi] Decision Time: 8.3
- From: Tim Hockin
- [gmpi] Re: Decision Time: 8.3
- From: Steve Harris
- [gmpi] Re: Decision Time: 8.3
- From: Tim Hockin
- [gmpi] Re: Decision Time: 8.3
- From: Steve Harris
- [gmpi] Re: Decision Time: 8.3
- From: Tim Hockin
Other related posts:
- » [gmpi] Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
- » [gmpi] Re: Decision Time: 8.3
On Sat, Sep 13, 2003 at 11:38:17 -0700, Tim Hockin wrote: > What of platforms that do not have FPUs?
They still have libm, but I guess its an unnessary expense.
Another alternative would be to make it that same format as a sample (ala LADSPA). Assuming we do go for a single sample format.
That's kinda what I was thinking.
I see a need for
float - many normal params double - high res params
int - many normal params enum - radio buttons, N-position knobs bool - buttons string - filenames, words blob - misc
Now, float can be translated to be the same as sample_type. I'm not sure how thinsg that require double-precision can be translated into non-FPU. This whole non-FPU thing is a real pain in the ass.
<aside> I want to make a motion that we NOT consider systems without FPUs, or that we find some simpler way to handle it. Perhaps those non-FPU platforms don't have to do FP audio IO, but _do_ need to do float/double parameters?
What is the real goal of non-FPU support? Where are it's backers? Whenever someone says something that might make non-FPU systems hurt, no one speaks up for them. Are we solving a problem that doesn't exit? </aside>
Int parameters can be faked using float.
Enum and bool can be faked using int.
So that leaves my NEED list at float/real/sample_type + string + blob. Are there good reasons to turn anything else into fundamental primitives? Perhaps int - can anyone justify it?
- [gmpi] Re: Decision Time: 8.3
- From: Steve Harris
- [gmpi] Re: Decision Time: 8.3
- From: Tim Hockin
- [gmpi] Decision Time: 8.3
- From: Tim Hockin
- [gmpi] Re: Decision Time: 8.3
- From: Steve Harris
- [gmpi] Re: Decision Time: 8.3
- From: Tim Hockin
- [gmpi] Re: Decision Time: 8.3
- From: Steve Harris
- [gmpi] Re: Decision Time: 8.3
- From: Tim Hockin