[LAD] Communicating between python UI and C++ engine for real time audio?

David Robillard d at drobilla.net
Thu Nov 3 15:53:31 UTC 2011

On Thu, 2011-11-03 at 09:39 -0400, Paul Davis wrote:
> On Thu, Nov 3, 2011 at 9:22 AM, Harry van Haaren <harryhaaren at gmail.com> wrote:
> > On Wed, Nov 2, 2011 at 5:09 PM, Iain Duncan <iainduncanlists at gmail.com>
> > wrote:
> >>
> >> I'm hoping to arrive at some sort of design that ultimately lets the
> >> engine act as an audio server with multiple user interface clients, possibly
> >> not even on the same machines
> >
> > Did you concider using OSC as an "abstraction layer" between your GUI &
> > Engine? Spares quite a lot of nasty shared-mem tricks, and RCU, well.. is
> > suppose you could have the editing commands sent to engine, or else run the
> > algo on the GUI side, and update the sequence in the engine.
> no, using a protocol like OSC doesn't solve the basic problem: making
> changes to data structures used by the RT code when those changes
> can't be done with RT constraints (e.g. memory allocation). you still
> need some code that runs outside RT constraints to modify the data
> before giving the new version to the RT code to use.

True, though it's a good idea regardless if it's feasible.  If you're
going to go cross-language anyway, you might as well put a real protocol
in-between so you gain the advantage of being able to do separate
processes/machines as well.

IMO sending "commands" between UI and engine is the best architecture
for things like this anyway, which lends itself easily to using an
actual protocol.


More information about the Linux-audio-dev mailing list