On 12 Dec 2002, 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.
Even as a control language MIDI has a lot of shortcomings that it's time
to get rid of: note pitch values, low precision most everywhere. We might
as well design a format ourselves. XAP can probably accommodate simple
"musical" plugins but we really need another plugin system for the
sequencer... like you, I would really like to have something that is
usable yesterday but it's not going to happen, sigh.
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?
Ports could support a pull model where plugins request data when they want
it. Imagine a granular synthesizer that has, say, 16 audio ports that it
uses to render grains.
--
Sami Perttu "Flower chase the sunshine"
Sami.Perttu(a)hiit.fi
http://www.cs.helsinki.fi/u/perttu