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

Regards,
Flo

Jeff McClintock


From: Florian Paul Schmidt<[email protected]>
Subject: [LAD] RT-Safe UI/Engine Decoupling using Functional
        Programming and Reference Counted SmartPointers
To: [email protected]
Message-ID:<[email protected]>
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..

http://178.63.2.231/~tapas/wordpress/?page_id=45

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
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev

_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Reply via email to