Re: [linux-audio-dev] Re: Synth APIs, pitch control

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Re: Synth APIs, pitch control
From: David Olofson (david_AT_olofson.net)
Date: Thu Dec 12 2002 - 23:44:22 EET


On Thursday 12 December 2002 21.56, nick wrote:
[...]
> My whole idea with it was to make it as simple as possible. Bearing
> in mind that many people have learned MIDI already, it makes sense
> to me to use it. Another cool thing is that you could in theory
> write a sequencer as a plugin for it - since it can output midi
> data as it wishes. Other plugins such as midi arpeggiators could
> easily be written. All the timing is catered for since you know the
> number of frames elapsed in this process_**() call.

Well, it's just that MIDI is rather hairy to deal with when it comes
to continous pitch, individual control of voices and stuff like that
- and obviously, 95% of plugin developers refuse to implement any of
that, as a result. (Look at VST.)

Thus, I think it's a better idea to look at the features we need, and
then implement a clean, simple API that's actually an *API* - not a
wire protocol for ultra low bandwidth connections.

> Also I find the whole notion of 'ports' just complicates the whole
> issue - the plugin is simply a piece of DSP code which processes
> buffer(s) of audio data. why is anything more than a pointer needed
> for this?

In fact, a Port is not even a pointer in some cases, but rather an
abstract object that you refer to using a cookie given to you by the
plugin. XAP Audio Ports will almost definitely just be pointers, as
anything else brings a bunch of non-obvious issues and no real
advantages.

These Ports, Channels, Bays etc we're talking about are either
abstract objects or init time "metadata". When you actually have your
plugin instantiated, there are only Event Queues and Audio Ports on
the API level. Anything else is entirely up to the plugin and host
designers.

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


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Dec 12 2002 - 23:47:28 EET