[gmpi] Re: multithreading host interface

  • From: "Angus F. Hewlett" <amulet@xxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Wed, 9 Apr 2003 13:46:39 -0400 (EDT)

On Wed, 9 Apr 2003, Wolfgang Kundrus wrote:

> I feel like I need to step in here. There are many ways to implement
> multithreading and there are many ways to prevent resource conflicts. VST
> plugins are faced with two threads. a) The processing thread that runs at a
> very high priority and b) The user interface thread that runs at normal
> priority.

Yes, but the spec does not mandate which calls occur in which thread. A
sufficiently complex host might want to make parameter or even
preset/state changes synchronous with process (in response to MIDI data),
or even make parameter-change calls in two different threads.

> A plugin can be arbitrarily complex. Some are very simple and resource
> conflict do not occur due the code structure. Synchronization mechanisms
> would not be needed and the cost would be too high in comparison with the
> processing time.
> Ron, I would really appreciate, you stick to technical facts when talking
> about VST to the press. We have implemented different multiprocessing
> schemes with all kinds of VST plugins, including those that use a DSP card.
> In none of these cases have we run into problems coming from the VST spec as
> such.

The problem is not so much the VST spec itself, as the severe lack of
accompanying documentation for other vendors.

A clearly defined threading model may allow plugins to use locks in the
most efficient manner; it also allows the SDK and documentation to
illustrate the correct use of locks.

Regards,
        Angus.





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