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

Reply via email to