[linux-audio-dev] XAP status : incomplete draft

David Olofson david at olofson.net
Fri Dec 13 14:11:01 UTC 2002


On Friday 13 December 2002 19.01, Steve Harris wrote:
> On Fri, Dec 13, 2002 at 05:22:06 +0100, David Olofson wrote:
> > > > ...and the optional "NOTE_PITCH" that no one will ever use,
> > > > of course. ;-)
> > >
> > > And many of us still think doesn't belong in the API... :)
> >
> > Well, my remaining point is basically this: Should we have that
> > kind of argument about *every* control type hint? :-)
>
> Yes. Redundancy in APIs is as bad as missing features.

Yes, but this is not about redundancy. NOTE_PITCH and PITCH are not 
just different representations; there is no single correct way to 
translate one into the other.

It's like not telling handles from plain integers. The fact that they 
look alike does not mean they're equivalent. Handles refer to objects 
somewhere, while integers are just plain values.


> > I don't think NOTE_PITCH is much more than that; another control
> > type hint. Indeed, if you have a sequencer that only outputs
> > NOTE_PITCH, you'll need conversion (explicit or automatic) - but
> > then don't use a note/scale based sequencer, or use one that's
> > hardcoded for 12tET, if you don't like this. All you'll miss (or
> > not) is a bunch of event processor plugins based on traditional
> > music theory.
>
> But it duplicates pitch. If you dont allow note_pitch then you dont
> miss out on anything, all the plugins that would be possible still
> are, it just makes a small number of specialised actions *slightly*
> harder.

Well, if it's ok to just *guess* which plugins expect you to 
interpret their pitch inputs and/or outputs as (1/12)/note rather 
than 1.0/octave, then fine - that factor 12.0 is all the complexity 
there is to it.

Is it obvious that you must put any "traditional theory based" 
plugins *before* the scale converter, if you're not doing 12tET?


> I haven't seen any convincing argument that it isn't redundant and
> likly to cause problems.

If the ability for the host to perform basic sanity checking on 
connections is completely irrelevant, then this feature is indeed 
redundant.

I haven't seen any proof that it will cause problems, though.


Either way, what's the deal with other control type hints anyway? 
They're still just hints, and we can't possibly cover every control 
input or output a plugin will have, so the hint's have only one real 
use: Suggesting which Control goes where when connecting "cables" 
between output and input Channels on the UI level. Either there are 
hints for *everything*, or users will just have to connect the last 
few Controls manually. Isn't this what control type hints were all 
about?


//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
|    The Multimedia Application Integration Architecture    |
`----------------------------> http://www.linuxdj.com/maia -'
   --- http://olofson.net --- http://www.reologica.se ---



More information about the Linux-audio-dev mailing list