Re: [linux-audio-dev] Plugin APIs (again)

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

Subject: Re: [linux-audio-dev] Plugin APIs (again)
From: David Olofson (david_AT_olofson.net)
Date: Tue Dec 10 2002 - 23:28:29 EET


On Tuesday 10 December 2002 15.08, Tim Goetze wrote:
> Steve Harris wrote:
> >On Tue, Dec 10, 2002 at 02:03:42 +0100, Tim Goetze wrote:
> >> >Not if it generates machine code. That way, it could
> >> > (theoretically)
> >>
> >> in realtime? we'll need everybodies' spare cpu cycles!
> >
> >No, it really isn't that slow.
> >
> >SyncModular does a similar trick.
>
> it'd still be interesting to know how the sync problems this
> method poses are solved: you cannot rely on executable code
> modifications to be atomic. an indirect jump instruction is
> not guaranteed to work ok: a pointer on x86 is 32 bits, and
> atomic is 24 bits (besides, indirect jumps have ill influence
> on the cache). could do this with branching though -- but you
> don't want your dsp code interspersed with volatile if()s.

There's no problem if you just wait until no processing is going on
(this is when you'd normally block on the audio deice), and then
switch in the new version.

Obiously, you'll have to remake connections and all that stuff as
well, but that's no different from non-compiling approaches.

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


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

This archive was generated by hypermail 2b28 : Tue Dec 10 2002 - 23:32:59 EET