Re: [linux-audio-dev] a new application underway

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

Subject: Re: [linux-audio-dev] a new application underway
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: to loka   07 1999 - 22:46:00 EDT


[ ... MIDI-based automation with the ALSA sequencer ... ]

>The same can be done with an engine using a plug-in API with my event
>system. A sequencer could be either a plug-in or a client
>application, and it could record anything that goes on in the
>system. (That's the routing functionality that's one of all things I
>worry about when trying to design an efficient even t system...) No
>need for a special automated mixer (although one would be very nice
>as a GUI) and *anything* could be automated. And it would be sample
>accurate...

actually, i don't think this is quite true unless you're talking about
RTLinux or special audio apps. userspace processes have a fundamental
timing limit of 1/HZ seconds, unless they (1) run at RT priority and
use the RTC to kick them periodically or (2) continually drive +
monitor the status of a DAC of some kind.

the beauty of the ALSA sequencer is that it offers an extremely
generic event router with a timing limit that is not subject to the
same limits. Alas, this is a theoretical possibility right now, since
even the kernel doesn't check the timer queue more than HZ times a
second. However, add the UTIME patch, and the kernel can do flexibly
scheduled stuff with microsecond resolution.

also, note that my point about automation was not that one would have
a "specially automated mixer" - in fact, I meant *exactly* the
opposite: an application can take the simple step of writing a
Standard MIDI file as a record of all automation messages. why MIDI ?
why not some more "evolved" event specification ? 99% of all
available control surfaces use MIDI to do their thing. if you're doing
this stuff with any seriousness, US$300 for a PC1600X is a fairly
minimal investment in 16 physical faders.

once you've got the MIDI file, the existence of MIDI playback tools
*and* the ALSA sequencer allow anything to become automated *without*
any special code: you just add the relevant sequencer port to the list
of MIDI ports you select(2) on, and it all works like magic.

yes, you could instead come up with a new event API and record the
"happenings" in the application with it, and then arrange for a way to
play it back. while you code it, we'll get on with using the ALSA
sequencer :)

--p


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

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:13 EST