On Mon, 31 Mar 2003, Tim Hockin wrote: > 1) Every control change is synchronous and function-called - YUCK > + allows control changes to fail or have return codes > - still doesn't cleanly handle linked controls > - a function call for every control change is heavy, as compared to > events. > > 2) Every control change is an event. Events have 'return addresses'. > Plugins can respond to events by sending failure messages or other control > changes back out. > + clean design > - need to check every change for a failure > + only need to respond to unusual cases (no return means success) > - host does a lot of event shuttling > - responses have a 1 timeslice latency > > 3) Communication is one-way and does not fail. If you send a control change > within a control's bounds, it CAN NOT fail. Linked controls are the problem > of a custom GUI. Plugins do not spontaneously change their own controls. > - no generic way to do linked controls > - no way to update HW for linked controls > - linked controls require a custom GUI Following your layout, 4) Communication is one-way, events resulting from the communication, that might indicate a succesful update, are passed downstream on an event-output pin. + allows control changes to fail - .. but does not provide notification of this in an immediate or obvious way + linked controls is not a problem + allows the plug to generate time-dependent event cascades +- responses may have latency, it depends how the host graph is layed out and dependencies resolved - has implications for host graph complexity - care must be taken in spec. and host design regarding potential parameter feedback loops ---------------------------------------------------------------------- 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