[LAD] LAD] RT-Safe UI/Engine Decoupling using Functional

Florian Paul Schmidt mista.tapas at gmx.net
Sat Aug 6 21:26:32 UTC 2011

On 08/06/2011 10:55 PM, Jeff McClintock wrote:
> I'm just in the process of porting my plugin to a platform where the GUI
> runs on Windows, but the Audio processing runs on an real-time optimized
> Linux box.
>   With the proliferation of iPads etc, I see this approach of mixing a cool
> portable GUI with a Linux 'powerhouse' audio processor become more common in
> studios.
>   Surly passing functors (which are pointers?) to audio code running in a
> separate address space can not work?

No, a functor (in c++-speak) is an object that has operator() and thus 
behaves in a way like a function (thus the suggestive name).. But you 
are right, with boost::bind you can _easily_ create functors that call 
preexisting functions (or member functions). And this is done via the 
address of the function.. And yeah, I think you are right about your 
assumption. For sending commands to another address space you don't get 
around serialization in some form, since you cannot just point the other 
process to the address of a function and tell it to run that function.. 
The different processes don't have this intricate knowledge of each other..

Now if C++ had some decent introspection calling a method in another 
process space might be more easily done (or rather: the serialization 
would become much simpler), but alas C++ lacks in that respect..


> Jeff McClintock
>> From: Florian Paul Schmidt<mista.tapas at gmx.net>
>> Subject: [LAD] RT-Safe UI/Engine Decoupling using Functional
>> 	Programming and Reference Counted SmartPointers
>> To: linux-audio-dev at lists.linuxaudio.org
>> Message-ID:<4E3CA5A4.7060208 at gmx.net>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>> Hi,
>> during the process of writing a new small jack sampler which fits my
>> workflow I came up with this little scheme to solve the UI/engine
>> decoupling problem. For the purpose of spreading the idea or
>> alternatively getting answers about how it's broken and sucks I decided
>> to write a little article describing it..
>> The (largely unfinished and unusable) sampler project is here:
>> https://github.com/fps/jass
>> Let me have it..
>> Regards,
>> Flo
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev at lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev

More information about the Linux-audio-dev mailing list