[gmpi] Re: Req 76,78

  • From: Jeff McClintock <jeffmcc@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Fri, 04 Feb 2005 16:25:07 +1300

Hi Dider,
GIMPI doesn't force you to use two processes. In SynthEdit (PC software) I use two *threads*.
The point is, when you want to send data to the GUI, You say "Hey host, send this data to the GUI".


This is very powerful. GUI might in other thread, other process, or other computer entirely.

It's not your plugin that does the inter-thread (or inter-process) communication, it's the host.

Your plugin is sheilded from the problem.
After switcheding SynthEdit to this model, I went though and deleted line after line of complex inter-thread locking code, very satisfiying.


The inter-thread/process code still exists, in one single central point, the host.

Best Regards,
Jeff

Didier Dambrin wrote:

i'm willing to grant you whatever knowledge of windows you have - its
likely to far exceed my own. but i also know that windows current
design is not part of the future of audio. the new design for audio in
longhorn looks nothing like the stuff in XP, and thats because MS
knows that what they have isn't adequate. i don't know that longhorn
will be able to match OSX and Linux for low latency audio, but it
seems more likely. meanwhile,


Interprocess communication will always be very hard to achieve under OSes that 'protect' processes, and Windows is just about that (and even more with upcoming 64bit ones).
Right now it's also very inefficient, and probably related to the task switcher. I don't know what's planned in longhorn here, but I don't see any good reason for them to change that.


I also don't know shit about audio driver systems in longhorn, but what's sure is that our sequencers won't start doing their processing at a driver level anyway, so we're still 'stuck' with standard processes.

What's low latency audio? Everyone can get <1ms latency under Windows these days. Personally, I don't see the point, as it also makes processing less efficient (if the chunks are too small).
Even my crap soundboard built-in my motherboard gives me a 2ms latency. It takes more than that for the sound to go from the speakers to my ears.


True, with such small latencies, there are some lower-level stuff in windows that can sometimes interrupt the flow. But I don't see how this is related with our problem anyway.



again I really don't know about OSX or linux, but there's no efficient way
under windows. When you do this, it's really that you don't have the choice,


the people from GRAME got it work pretty well when they ported their
software to windows. its not as good as OSX or linux, but it provides
acceptable latencies when done correctly.


great, so why would people change from the VST specs, that can run in hosts that offer a great latency, for GMPI that will run with just an 'acceptable latency'?





---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe




----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: