----- Original Message ----- From: <RonKuper@xxxxxxxxxxxx> To: <gmpi@xxxxxxxxxxxxx> Sent: Tuesday, April 08, 2003 6:35 PM Subject: [gmpi] Re: multithreading host interface > This wasn't recent article, right? > > The issue that Jim is alluding to is that DirectShow makes use of Win32 > CRITICAL_SECTION objects to allow plugin state changes to be sent on one > thread while processing is done on another. This makes the host > implementation a bit easier, since we can do whatever threading we want and > not have to worry about how thread safe the plugin might be. on PC the critical section is a good way to share parameters (parameters which are shared by GUI and DSP). i'm not sure that Critical section is well used in Direct-X (for me there is too much call to CriticalSection :-) but it's true that the GMPI spec has to provide a reliable and secure way to communicate parameters from the GUI to the DSP and the opposite too. Or by CriticalSection on multithread section or by pointer flip on by semaphore on basic OS... > That said, some plugins (even DX ones) *still* aren't thread safe :-( > especially when it comes to areas like updating params from the GUI on top > of automation while playing "live." it's not due specially to threading safety , it's due to the fact that the DSP algorithm is not made to change parameters in real-time. But this point is for the developper which develop algorithm ... it's the same problem with hardware based algorithm ... just a simple Algorithm like simple GAIN provide zipper noise on low frequency (make the test with a sinus 50Hz for example) ... so even a GAIN algorithm cannot be programmed just by a y = gain * x single line but by handling the transition between old state to new state... just some thought Regards Vincent Burel ---------------------------------------------------------------------- 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