On Fri, 30 Nov 2001, Lance Blisters wrote: > an xml fragment. the Ladspa-Plugin-Settings > is a named collection of port values for > one or more plugins. we also use > Ladspa-Plugin-Settings for the root node. > > <!-- various numbered presets for one ladspa filter. /> > > <Ladspa-Plugin-Settings> > <Ladspa-Plugin-Settings preset_name="0"> > <Plugin plugin_id="1186" name="Audio divider (suboctave generator)"> > <Control-Port index="0" name="Denominator" value="3.000000"/> > </Plugin> > </Ladspa-Plugin-Settings> > <Ladspa-Plugin-Settings preset_name="1"> > <Plugin plugin_id="1186" name="Audio divider (suboctave generator)"> > <Control-Port index="0" name="Denominator" value="4.000000"/> > </Plugin> > </Ladspa-Plugin-Settings>
This is pretty much the same as the Ardour one except for a couple things. One, the name of the control-port isn't saved; we can just ask the LADSPA plugin for its value. Two, each preset goes in its own file. I think this is important because it simplifes adding new presets that aren't created internally. All the presets for a given plugin are in the same directory which has the plugin_id as its name. The name of the preset is the name of file plus ".xml". So for your example above, the equivilant for Ardour would be: <Ladspa-Plugin plugin_id="1186" name="Audio divider (suboctave generator)"> <Control-Port index="0" name="Denominator" value="3.000000"/> </Ladspa-Plugin> The file would be saved as $LADSPA_PRESET/1186/denominator\ three.xml. I left the names in because it helps with editing the file by hand. The plugin_id should be in the header so that someone can look at the file and know what plugin it is a preset for. The name I chose for the file is meaningless and is assigned by the user. I also think that there should be two or more directories in $LADSPA_PRESET. Maybe a /usr/share/ladspa/preset/, /usr/local/share/ladspa/preset/, and one for the users home directory. I'm not sure how that would be defined. Obviously, this doesn't support networks. But I think it shouldn't. That should be defined in a different file. This is only for defining presets for one level in the sound chain. Comments? Taybin
