octal-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: octal plugin API name


From: David O'Toole
Subject: RE: octal plugin API name
Date: Wed Jan 24 16:48:17 2001

On Wed, 24 Jan 2001, Matt Thomas wrote:

> Sounds fine. But, is the OX_API really striving to set the plugin format
> for _all_ gnu audio software?

Probably not. An audio *editor*, rather than a realtime music workstation
type thing, might have some different needs, and I wouldn't presume to
tell another project what their needs were. However I would like to make
the API at least available/usable by other projects because after
comparing it with others I think it will be suitable for many tasks.

You are probably right about the ambiguous name, though. Matt also thought
that the name for the API should be closely tied to the project name.
I will probably leave it alone.

> I thought tracking information was passed using OX_API...that isn't very
> helpful to a wave editor that just needs to modify a signal stream.

For what it's worth, there is actually not much tracker-specific about
the API or the machines created with it, and for a plugin like you just
mentioned that doesn't use the parameters or music functions, they can
just not call those functions. (For parameters they would just need to set
a null pointer.)

Two of the main hallmarks of tracking---hexadecimal editing and
step-sequencing--- are not really inherent in OXAPI. The hex appears only
in Octal's GUI while editing. Octal is a step-sequencer (for now) but at
the OX_API level the plugins just recieve parameter changes whenever they
happen. The only time it isn't allowed to happen is when the machine is
actually in the process of generating its audio.

So if the blocks are small, parameter changes can happen much faster than
the rows in the sequencer can---that is, a MIDI keyboard input or a human
dragging the mouse on the control sliders will update parameters and notes
as fast as the engine can take them. You won't have to wait for the next
"tick" as with Buzz.

In addition, now that I am thinking about it, a machine does not have to
implement voices (machines' "tracks") the way we expect a Buzz machine to.
That is, we usually have "tracks" with one voice per track, with all the
parameters configurable separately for each track. But this might not
always be the most convenient way to do it. A plugin might want dynamic
polyphony unrelated to the number of tracks, maybe all in one track. This
could be like a MIDI "channel" where one pitch bend event, for example,
would affect all notes playing on that channel.

You would need a piano-roll editor to edit tracks like that, tracking
wasn't designed around that paradigm. But I am planning one anyway, so
potentially we can have plugins sequenced either way, the API allows both.

Still, I would not want to push anything too strongly, it would perhaps be
better to wait and see how things go.


-- 
@@@ david o'toole
@@@ address@hidden
@@@ www.gnu.org/software/octal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]