On Fri, 6 Jun 2003, Tim Hockin wrote: > Topic 7.2: In-place processing > ------------------------------------------ > > Q: Do we do in-place processing? > > a) Yes. A plugin-global flag indicates a plugins ability to do this. > This tells the host that ANY input buffer may be re-used on ANY output > (perhaps withing some higher-level grouping of stuff (think MIDI > channel?)). If a plug can not accept this rule, it must not use > in-place processing. > > b) Yes. A plugin statically mnaps inputs to outputs. The host may > re-use an input buffer for an output if they map together. > > c) Yes. A plugin is given inputs and produces it's own output buffers > based on internal knowledge or other variables. The host is not > involved, except to furnish new buffers as requested. The plugin must > re-use or release all input buffers. All inputs and outputs are > unique. > > d) Yes. Option C, with the following change: buffers can be marked > read-only, in which case a plugin must copy the buffer. Input buffers > can be non-unique, so long as no more than one instance of the buffer > is writable (zero-filled buffer can be re-used, for example). Ouput > buffers are always unique. > e) Yes. Just like option D, but inputs and outputs may be non-unique. > Shared buffers must be read-only. e), the first instance of the buffer (input and output) is writable. This is a nice, high performance solution, we just have to make the documentation and examples very clear to avoid bugs creeping in. 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