>>> Say I want the following insert plugs (all hypothetical) on a DP audio track, some running native and some running on a PowerCore, in the following order, with all operating as first-class plugs as far as I the user am concerned:
Slot 1 - Para EQ (native) Slot 2 - Waveshaper (PowerCore) Slot 3 - Envelope Following Filter (PowerCore) Slot 4 - Bit Decimator (native) <<<
I don't think you even need subgraphs to solve this problem. Just use baton-passing for the data buffers, where the baton is an abstraction that lets the buffer be polymorphic.
IOW, a float based host produces batons that are naturally float. If the float wants to support other sample data types, it needs to provide converts from float->whatever. Each slot fetches the raw data by asking the baton for data in its native (profile) type. The host intercedes in this fetch to convert as necessary.
If 2 plugins in the chain happen to be different sample types than the host, then they can freely pass the baton without the host getting involved.
---------------------------------------------------------------------- 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