David Olofson wrote:

On Saturday 14 December 2002 19.41, Tim Goetze wrote:

this is not meant to intimidate, rather to be a wake-up call.

[...many good points elided...]

Well, considering that we seem to have virtually *no* input from people with solid experience with software sequencers or traditional music theory based processing, I suggest we either decide to build a prototype base on what we *know*, or put XAP on hold until we manage to get input from people with real experience in more fields.

We do not seem to have sufficient information to answer the following questions:

* Is an explicitly scale related pitch control type needed?

I would argue that it's not.
	* Is there a good reason to make event system timestamps
	  relate to musical time rather than audio time?

Again, I would rather let the timestamps deal with audio time. Hosts which work in bars/beats/frames
should be capable of doing the necessary conversion. Remember, there are plenty of parameters which
might need some time indications but which are completely unrelated to notions of tempo. I'm thinking
mostly about LFOs and other modualtion sources here (although there might be good grounds for lumping
these in with frequency controlled parameters.) Just as I would rather see pitch control make as few
assumptions as possible about tuning and temperament, I would like to see time control make as few
assumptions as possible about tempo and duration. Sequencers generally do operate within the
shared assumptions of traditional concepts of periodic rhythm, but in a lot of music (from pure ambient
to many non-Western musics to much avant-garde music) such notions are irrelevant at best.

	* Should plugins be able to ask the sequencer about *any*
	  event, for the full length of the timeline?

Not sure that I grok the ramifications of this.

	* Is there a need for supporting multiple timelines?

Possibly. I would say definitely if the audio event timestamps relate to musical time. For example, in a sequencer, it should be possible to have different tracks existing
simultaneously with different tempi. Obviously, if the timestamps are derived from
audio time, then only a single timeline is needed, because you have a single time
source which doesn't care about tempo. This hypothetical sequencer would be
able to convert between arbirtrary representations of bpm and time signature,
but the code for doing this would be in the host app, not the plugin. Now, if the plugin timestamps events internally using musical time, then multiple
timelines are necessary in the above scenario.

And the most fundamental, and most important question:

	* Is it at all possible, or reasonable, to support
	  sequencers, audio editors and real time synths with
	  one, single plugin API?

Probably not. For audio editors, I think JACK is doing a very fine job. In fact, beginning
with FreqTweak, there seems to be some precedent for using JACK for plugins. JACK's
biggest problem, however, is its lack of midi support. Basically, the way I see it, XAP would
be for plugins and realtime synths hosted on a sequencer or DAW app which uses JACK for
audio input/output.

If we *had* sufficient information to answer these questions, there wouldn't be much of an argument after everyone understood the problem. The details would just have been a matter of taste.

Now, we seem to have lots of ideas, but few facts, so there's not much point in further discussion. We need to test our ideas in real applications, and learn from the experience.

One thing which has crossed my mind: several people have brought up VST as a frame of reference,
but has anyone looked at AudioUnits? I admit that I haven't either, but the reference code is out there,
and perhaps it might be a good idea to take a look at it. (One potential problem is that the example
code seems to be in Objective C.)
-dgm


I guess I'm hunting for *real* problems. Please post any ideas you might have - I'll try to either explain the solution, implement it, or admit that a different design is needed.


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



Reply via email to