Subject: Re: [linux-audio-dev] No IPC in LADSPA?!
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Thu Mar 30 2000 - 06:26:25 EEST
>> The effect I was describing is a design "error" that allows parameter
>> changes to take effect in a way that is not synchronized with audio
>> synthesis. It allows a change to take place in the middle of the
>> engine's cycle over all the current plugins/opcodes/ugens/flavor-of-the-week
>.
>
>In traditional electronics, that's a "signal edge" problem. There,
>you just standardize on something, either rising edge, falling edge,
>zero crossing, whatever. In programming, that's precisely what locks
>and mutexes were invented for... keeping your data from being modified
>out from under you by another thread or process. I know locks tend
>to be taboo when you're trying to keep latency down, but there
>definitely are reasons to use them.
Actually, locks/mutexes are not the right answer here. MuCoS is! The
idea is that you really want to just queue up the timestamped events,
and then pass them to the plugin/opcode/ugen/whatever to handle as
part of its next "process()" call. This avoids locks completely, *and*
sequences the event processing with sample generation in the correct
fashion.
--p
This archive was generated by hypermail 2b28 : Thu Mar 30 2000 - 13:27:56 EEST