Fwd: Re: [linux-audio-dev] XAP: Pitch control

David Olofson david at olofson.net
Wed Dec 11 15:37:01 UTC 2002


On Wednesday 11 December 2002 19.49, Nathaniel Virgo wrote:
> On Wednesday 11 December 2002 5:19 pm, David Olofson wrote:
> > (Oops. Replied to the direct reply, rather than via the list.
> > Please, don't CC me - I'm on the list! :-)
>
> Sorry, I just tend to hit "reply to all" because some lists seem to
> be set up so that "reply" doesn't go to the list.
>
> > I like the idea of enforced "explicit casting", but I think it's
> > rather restrictive not to allow synths to take note_pitch. That
> > would make it impossible to have synths with integrated event
> > processors (including scale converters; although *that* might
> > actually be a good idea)
>
> That would be bad.  If a synth takes note_pitch it's bound to
> interpret it as 12tET, which would be annoying to someone trying to
> use a different scale.

That would be a sloppy implementation, which pretends to understand 
scales, but is hardcoded to 12tET.

Either way, point taken; it's probably a good idea to at least 
*strongly* discourage people from ever touching note_pitch in synths 
and the like.


> A synth could still have a built in event
> processor, but it should only process linear_pitch events.

Yes - but you could not implement a useful arpeggiator that way, for 
example. It would do the wrong thing as soon as you're not using 
12tET anymore - and *now*, users wouldn't have clue as to why this 
happens, because the synth *lies* and says that it cares only about 
linear_pitch...


>  Scale
> converters should definately not be built into synths.

I think I agree, but I bet *someone* will eventually figure out a 
valid reason to do it... ;-)


> > Either way, there will *not* be a distinction between synths and
> > other plugins in the API. Steinberg did that mistake, and has
> > been forced to correct it. Let's not repeat it.
>
> I wasn't thinking so much of an API distinction as a very
> well-documented convention.  Also I was thinking more of the
> distinction being between scale-related event processors and
> everything else, rather than synths and everything else which I
> agree would be bad.

Ok, then I agree.


> You could enforce it with rules like "if it's got a note_pitch
> input port it's not allowed to have any other kind of port, except
> in the case of a plugin with one note_pitch input and one
> linear_pitch output, which is a scale converter" - but there might
> be the odd case where these rules don't make sense.

Yeah. We could "strongly suggest" things, but officially saying "you 
cannot do this" about things that are physically possible is 
dangerous. Host coders might actually take your word for it!

And then everyone goes "Hmm... That's actually useful, after all." 
Bang! VST host incompatibilities reinvented... *heh*


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