[linux-audio-dev] XAP status : incomplete draft

Steve Harris S.W.Harris at ecs.soton.ac.uk
Fri Dec 13 09:14:01 UTC 2002


Generally I agree with David, but there are a few things wher I dont:

On Fri, Dec 13, 2002 at 02:30:32 +0100, David Olofson wrote:
> > 	 * The label is a file-unique, non-whitespace, string identifier
> > for * the plugin.  Hosts can use the filename and label to identify
> > a * plugin uniquely.  The label is all upper case, by convention.
> > */
> > 	const char *xap_label;
> 
> Why is this needed? (There are unique IDs, I mean...)

LADSPA has them and its useful sometime, eg. for selecting plugins in
command line apps, and for developers.
 
> > 	void *(*xap_create)(XAP_descriptor *descriptor, XAP_host *host,
> > 	    int rate);
> 
> Why only "rate" here - or rather, why "rate" at all? I think there 
> are more things that a Plugin might want to know, so it might be 
> better to pass this kind of info some other way.

Well, you might want to refuse to instantiate, based on the sample rate.
 
> > 	/*
> > 	 * set_rate: set the sample rate
> > 	 *
> > 	 * This method may only be called on plugins that are not active.
> 
> (Same thing as controls that may only be changed in certain states.)

This should not be allowed, if you want to run the instrument at a
different rate, reinstantiate it.
 
> > #define XAP_RTFL_SLOW		0x20	/* is 'slow' in general */
> 
> Well, everything is relative...
> 
> I think it would be much more interesting to have a warning hint for 
> plugins that are significantly nondeterministic in their CPU usage. 
 
Agreed. I think tis less confusing to have to indicate that a plugin /is/
deterministic though.

Don't do what ladspa did though and mix together RT safe-ness and
determinicity (is that a real word?).
 
> > #define XAP_CTRLHINT_PITCH		"PITCH"		//channel,voice
> 
> ...and the optional "NOTE_PITCH" that no one will ever use, of 
> course. ;-)

And many of us still think doesn't belong in the API... :)

- Steve 



More information about the Linux-audio-dev mailing list