[linux-audio-dev] PTAF link and comments

Tim Hockin thockin at hockin.org
Wed Feb 5 13:38:00 UTC 2003


> >  Or do we just normalize 'generic' outputs?
> 
> Well, what is a "generic output", really? Looks like just another unit 
> + range combo to me, and all it means is it's *supposed* to map to 
> all sorts of inputs. Problem is that it's still not obvious how do 
> actually get it right.

A generic output is a plugin which wants to emit control data, but it
doesn't know what it is connected to - might be pitchbend, might be
oscillator shape, might be pan.  Generic outputs should emit normalized data
0.0-1.0.  To connect it to anything useful, you need to scale it by the
targets true range.

It seems more obvious to me, though, that controls DO need to do bounds
checking for their inputs, or the host needs to do snoop-and-fixup for every
control.

> > So the way I see saving the state of a plugin:
> >
> > For each control
> > 	save snooped control data to output (maybe XML)
> > endfor
> > if (plug->get_extra_state)
> > 	d = plug->get_extra_state()
> > 	save d as if it were a raw control
> > endif
> 
> Well, that eliminates the need for the in/out pair, which *is* a 
> special case after all.

right, we only need to 'read' data we didn't write.

> However, how do you actually transfer the raw data through that call? 
> It's just not about a function call, but also about the data 
> transferred. We'll need an RT safe solution for the controls. What to 
> do here? Just assume that it's not RT safe? (Which means you can't 
> save states without taking plugins out of the net, or requiring that 
> they're thread safe WRT this call...)

I'd assume this is NOT RT safe.  Don't save a preset while your track is
running :)

Tim



More information about the Linux-audio-dev mailing list