On Sat, 2012-03-24 at 20:58 +0000, Aurélien Leblond wrote: [...] > Of course you can't do X things in the audio thread!!! Holy crap! > > Ha! How can I be so stupid! > Ok, I get it now (well I hope anyway).
:) Just makin' sure. It's easy to screw up if you're not working within a framework that avoids it. I was just trying to stress that there's a more fundamental problem here than getting the cursor position being a bit too slow. > Create a fairly simply GUI that queries the mouse position, and get > the GUI to feed that into two control inputs of the plugin itself. > The plugin would simply take the value of those 2 control input, and > feed that into two audio outputs (or VC outputs, for that matter)... > And obviously, the two would be conpletely separated, the way it > already is for other plugin: audio processing on one side, GUI on the > other.... That'll do. As long as all the communication happens via ports these problems are impossible. Some kind of event might be needed for anything more fancy, but for a couple of numbers KISS with control ports. (Historical note, it's only to accommodate porting existing plugins from certain broken proprietary APIs that the facility to directly access the plugin exists at all. I should probably put some loud disclaimers in the relevant extensions to explain that actually using them is a terrible idea intended as a last resort) > If I'm not wrong, that should dissociate GUI/plugin. In fact it > wouldn't be that different than how a usual plugin works now, but > instead of being let say a combo box changing the controls value of > the plugin, it's simply the position of the mouse cursor. Yep > (by the way you are completely right, I'm learning audio dev as I go > in this project! that does explain my confusions sometimes...) Took me a while to figure out (the hard way) that the usual "la de da direct access to everything" approach is an awful idea for audio. I've since become more or less completely convinced that anything but an event queue to and from your engine is wrong. Show me a program not built that way, and I'll show you a program that's probably not real-time safe :) -dr _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
