[gmpi] Re: multithreading host interface

  • From: "Vincent Burel" <vincent.burel@xxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Tue, 8 Apr 2003 21:47:22 +0200

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

Other related posts: