On 1/30/07, Chris Cannam <cannam@xxxxxxxxxxxxxxxxxxxxx> wrote:
Tom, can you point me to any documentation or examples for your flattened metadata format? For a long time Rosegarden has supported flat text files as well as LRDF for plugin categorisation although not for any of the other metadata, and so far I've been using the same format for SV's Vamp feature extraction plugins -- but mine is not an especially good format and I wouldn't mind supporting another instead if it was simple to use without any additional libraries.
I came up with the following for utter simplicity on the host's side. It is ugly and probably inefficient, but I couldn't allocate more than an afternoon to do it, and I wanted to have some working stuff at the end. Also, I only bothered to support metadata that my projects (Aqualung and TAP-plugins) actually use, so this is probably incomplete as well. In the directory Aqualung installs itself (%ProgramFiles%\Aqualung by default), the following subtree is installed: ladspa\dll\*.dll : plugin loadable modules ladspa\meta\<UniqueID>\cat.txt : category specification for plugin ladspa\meta\<UniqueID>\scale.txt : scale values for plugin The scale.txt file is optional. It contains rows of the same format (parseable with scanf()), containing space-separated fields: <port> <value> <string> The string extends to the end of the line, thus it may contain any character (minus the newline). This is the text associated with <value>, which is a float. The worst aspect of this is probably that the plugins are not installed system-wide; they are kept private to the particular host (in this case, Aqualung).
Also, how about a default LADSPA plugin path on Windows? Audacity irritatingly likes to have them in %ProgramFiles%\Audacity\Plug-Ins, but a generic name like %ProgramFiles%\LADSPA Plugins (or Plug-Ins?) would seem more sensible.
It would be great to have a common ground so such programs could share plugins. It's only a matter of standardization -- not to say that this is something easy. :) Tom