From: <ia...@g7...> - 2005-01-15 19:12:25
|
Hi All, I wrote: > On Thu, Jan 13, 2005 at 01:14:02PM -0800, Sean Bolton wrote: > > > On Jan 10, 2005, at 1:56 AM, Chris Cannam wrote: > > >Making jack-dssi-host work for LADSPA plugins as well would involve > > >making it: (a) use the LADSPA path as well as the DSSI path; (b) > > >recognise that a .so is a LADSPA one and call the right lookup > > >function; and (c) create a dummy DSSI descriptor wrapper for a LADSPA > > >plugin. > > > > I just committed (b) and (c), but probably won't have time to get to (a) > > or a port value setting mechanism for a while. Other changes to > > jack-dssi-host that I committed are: > > I'll check it out of CVS over the weekend, and give it a go, might > even add (a), that shouldn't be too hard for me to do. (a) is now done. Okay, its hackery, but it works, or seems to for me. Also done is a method of getting values from the command line into the plugins. I actually rewrote the dll & label parsing code to use strtok. I've also added a LADSPA example to the help text. Supplying values to the plugins is very ecasound like, value delimiter is a comma (,). Actually, a colon (:) will work as well, due to the way I wrote the strtok code. See below for some examples: jack-dssi-host -2 amp_1889.so:amp,3 would give two instances of a 3dB amplifier. jack-dssi-host -2 delay.so,0.1 would give two instances of a 100mS delay. jack-dssi-host -2 amp_1889.so,3 -2 delay.so,0.1 would do both of the above examples. I've attached two diffs. The first one is for jack-dssi-host.h - I add a couple of defines for VALUE_SEP, and TOKEN_SEP - used in a similar way to LABEL_SEP. The second diff is of course, to jack-dssi-host.c There's probably things I've done that I shouldnt, or things I haven't done that I should have, comments welcome. Two things come instantly to mind: 1) Around line 1275 of jack-dssi-host.c, where I actually put the values into the plugin instances. Can I just nuke that call to get_port_default, since I seem to just stomp all over the work it just did anyway ? 2) I've only tested plugins with a single variable value so far. Not sure how binary, or discrete values will fare right at the moment. Plugins with multiple variable values might be okay, with the way I've written the code, but no promises. Anyway, enough from me for now, diffs are attached below. Iain |