> > SynthEdit handles this by sending the plugin an event.. "input number 1 is > > now silent". > Either way, this is a detail that we shouldn't even be talking about yet. Well, Ron suggested buffers should be objects, because we can include a silence flag. I'm just saying: Yes silent flag is usefull, but dosn't have to impact performance by being part of the audio buffer. Sorry to rant on about this... I just feel the best thing for raw performance, is give the plugin simple, direct access to it's audio buffers. Everything else should be secondary. If we want to provide silence-flag and process-in-place, cool!, no problem. Just don't use extra layers of indirection to achieve those goals. There are several alternatives that are just as simple. > We dreamed up a similar thing for XAP. How does something that outputs > silence (an attenuator set to 0) tell the downstream plugin? Does it send > an event to the host or does it have connections to each downstream port? > The buffer is a nice place for this, since they are by definition the comms > mechanism for downstream plugs. The plugin sends the host an event "output 1 silent". The host knows where that output goes, and sends the downstream plugin "input 1 is silent". Each plugin only worries about it's own 'state'. And the message is only sent once (not every buffer). So rather than continue to execute, checking the buffer repeatedly for silence, the plugin 'switches off" saving CPU untill it receives a new event "input 1 active again". What i like about this method, is a basic plugin can ignore these events, and just carry on processing as usual. (Host provides global zeroed input buffer either way). There's no harm in providing a zeroed buffer AND a silence flag. Smart plugins don't access the zeroed input buffer anyhow, so won't pollute the cache or anything. It's a feature that's optional for beginers, but allows advanced programers to get the maximum performance out of their plugins. I guess i just don't like buffers-as-objects (but I would say that, coming from the VST world!). I'll try not to get too fanatical about it ... :-) Best Regards, Jeff M. ----- Original Message ----- From: "Tim Hockin" <thockin@xxxxxxxxxx> To: <gmpi@xxxxxxxxxxxxx> Sent: Tuesday, June 03, 2003 9:30 AM Subject: [gmpi] Re: Topic 7: Audio packaging > > SynthEdit handles this by sending the plugin an event.. "input number 1 is > > now silent". > > > Should I be telling all my competitors this?, or keep it to myself? > > > We dreamed up a similar thing for XAP. How does something that outputs > silence (an attenuator set to 0) tell the downstream plugin? Does it send > an event to the host or does it have connections to each downstream port? > The buffer is a nice place for this, since they are by definition the comms > mechanism for downstream plugs. > > Either way, this is a detail that we shouldn't even be talking about yet, I > think. Or maybe..Ron? > ---------------------------------------------------------------------- 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