Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Thorsten Wilms
On 05/28/2012 12:52 PM, Fons Adriaensen wrote: They are not that stupid. And they didn't need me to find out the things they did not like: extensions being created and then deprecated, extensions that 'exist' on some web page but are implemented nowhere, tutorials that start with saying that

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Fons Adriaensen
On Mon, May 28, 2012 at 02:58:55AM +0300, Stefano D'Angelo wrote: (Maybe just for the record) I meant one version for sample accurate control (whether by accessing future values or by the host providing latency compensation) and another for live usage (virtually latency-free, but less

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Stefano D'Angelo
2012/5/28 Fons Adriaensen f...@linuxaudio.org: On Mon, May 28, 2012 at 02:58:55AM +0300, Stefano D'Angelo wrote: (Maybe just for the record) I meant one version for sample accurate control (whether by accessing future values or by the host providing latency compensation) and another for live

Re: [LAD] Should LV2 Activate() clear MIDI CC parameters?

2012-05-28 Thread Stefano D'Angelo
2012/5/25 Jeremy Salwen jeremysal...@gmail.com: Hi all, The LV2 spec says that on a call to activate(), the plugin instance MUST reset all state information dependent on the history of the plugin instance except for any data locations provided by connect_port() I am not certain whether MIDI

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Fons Adriaensen
On Mon, May 28, 2012 at 06:05:20PM +0300, Stefano D'Angelo wrote: IMO it's easily said: if control rate audio rate it's plugin's responsibility, otherwise the host feeds upsampled/filtered control signals at audio rate to the plugin and all problems evaporate... The don't evaporate, they

Re: [LAD] Should LV2 Activate() clear MIDI CC parameters?

2012-05-28 Thread David Robillard
On Mon, 2012-05-28 at 18:41 +0300, Stefano D'Angelo wrote: 2012/5/25 Jeremy Salwen jeremysal...@gmail.com: Hi all, The LV2 spec says that on a call to activate(), the plugin instance MUST reset all state information dependent on the history of the plugin instance except for any data

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread David Robillard
On Mon, 2012-05-28 at 17:01 +, Fons Adriaensen wrote: On Mon, May 28, 2012 at 06:05:20PM +0300, Stefano D'Angelo wrote: IMO it's easily said: if control rate audio rate it's plugin's responsibility, otherwise the host feeds upsampled/filtered control signals at audio rate to the

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Fons Adriaensen
On Mon, May 28, 2012 at 01:30:37PM -0400, David Robillard wrote: Take a filter plugin. Calculating the actual filter coefficients from the 'user' parameters (frequency, gain, etc..) can easily be 10..1000 times more complex than actually using those coefficients to process one sample. So

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread David Robillard
On Mon, 2012-05-28 at 19:48 +, Fons Adriaensen wrote: On Mon, May 28, 2012 at 01:30:37PM -0400, David Robillard wrote: Take a filter plugin. Calculating the actual filter coefficients from the 'user' parameters (frequency, gain, etc..) can easily be 10..1000 times more complex than

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Jeff McClintock
I assume that computing parameter trajectories basically means interpolating, and that inevitably introduces some latency. That's a key point. Interpolating any sampled signal introduces latency. let the host pass a limited number of future parameter samples at each run() (could be

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Fons Adriaensen
On Mon, May 28, 2012 at 05:08:02PM -0400, David Robillard wrote: Assuming that by 'signals' you mean audio rate controls, yes. Again, the exception is 'synthesis' modules. You'd expect a VCA in a modular synth to do what the ADSR tells it to do, even if that results in artefacts. But you

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread Fons Adriaensen
On Tue, May 29, 2012 at 10:06:42AM +1200, Jeff McClintock wrote: You can't provide live MIDI playing 'in advance', you can't prove parameter updates in advance, just like you can't provide live audio in advance. If the plugin wants 'future' data to interpolate stuff, it needs to introduce

Re: [LAD] Should LV2 Activate() clear MIDI CC parameters?

2012-05-28 Thread Albert Graef
On 05/28/2012 07:27 PM, David Robillard wrote: For live plugins if you're going to stop continually running the plugin, you must deactivate it, so I can see how a complete and total state reset here might be undesirable. I'm not sure. A complete cleanup/re-initialization is always an option

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread David Robillard
On Tue, 2012-05-29 at 10:06 +1200, Jeff McClintock wrote: I assume that computing parameter trajectories basically means interpolating, and that inevitably introduces some latency. That's a key point. Interpolating any sampled signal introduces latency. let the host pass a limited

Re: [LAD] Plugin buffer size restrictions

2012-05-28 Thread David Robillard
On Mon, 2012-05-28 at 22:40 +, Fons Adriaensen wrote: On Mon, May 28, 2012 at 05:08:02PM -0400, David Robillard wrote: Assuming that by 'signals' you mean audio rate controls, yes. Again, the exception is 'synthesis' modules. You'd expect a VCA in a modular synth to do what the

Re: [LAD] Should LV2 Activate() clear MIDI CC parameters?

2012-05-28 Thread David Robillard
On Tue, 2012-05-29 at 01:43 +0200, Albert Graef wrote: On 05/28/2012 07:27 PM, David Robillard wrote: For live plugins if you're going to stop continually running the plugin, you must deactivate it, so I can see how a complete and total state reset here might be undesirable. I'm not sure.