[gmpi] Re: GUI and DSP separation

  • From: Marc Poirier <marc@xxxxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 11 Feb 2003 16:04:18 +0100 (CET)

> IMHO, this communication should be performed using the same basic=20
> interface as is used for control/automation. I don't like the idea of=20
> plugins having "private" interfaces for their GUIs, as that=20
> unavoidibly forces non-portable code into both parts of plugins.=20
> (Portable GUIs is a serious problem as it is.)
> 
> I think using the same basic API for GUIs as for DSP plugins would be=20
> a nice and clean solution, and I intend to try this with XAP.=20
> (http://olofson.net/xap)
> 
> The idea is that plugins can suggest another plugin (by unique ID) if=20
> the host wants to fire up a GUI. When the host looks for that plugin,=20
> it will generally find that it's an executable that's meant to be=20
> started as a separate process. The host will start the GUI plugin,=20
> setting up a "gateway node" in the local audio plugin net. The=20
> gateway node will appear as a normal plugin, ready for connections.=20
> The host will take care of the issues of communication between the=20
> hard RT domain and the outside (soft RT) world, and pipe incoming and=20
> outgoing events from/to the external GUI "plugin" process.
> 
> I will report back when I know how it turns out.

This actually sounds exactly like how it's done with AU.  The GUI and the 
DSP are separate executable code, separate DLLs, separate plugins, etc.  
In Mac OS world, they are called "components" (handled by the Component 
Manager).  The DSP component gives the host, if requested, a list of zero 
or more IDs for GUI components that are recommended, and then the host can 
instantiate any GUI components, passing along a Component Manager 
reference to the DSP component, and then the Component Manager resolves 
any property setting and getting that the GUI component does.  The DSP 
component has no awareness of the GUI component.  I personally think that 
it's an excellent system, and I think that it's basically the same as 
what you're working on, so I would say that it looks to me like it has 
already turned out well.  :)

Marc


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