Mercurial > hg > vamp-plugin-sdk
diff README @ 40:ae3e47e76d2d
* Add plugin path traversal and plugin listing option to vamp-simple-host
* Add more notes on plugin lookup and categorisation
author | cannam |
---|---|
date | Mon, 09 Oct 2006 12:45:14 +0000 |
parents | 7d237da42772 |
children | 1eb2419fc326 |
line wrap: on
line diff
--- a/README Thu Sep 21 16:41:10 2006 +0000 +++ b/README Mon Oct 09 12:45:14 2006 +0000 @@ -94,13 +94,36 @@ it to process a complete audio file, with its default parameters. Requires libsndfile. -The Vamp API doesn't officially specify how to load plugin libraries -or where to find them. However, good practice for a host is to use -the Vamp path returned by Vamp::PluginHostAdapter::getPluginPath() and -search each directory in this path for .so, .dll or .dylib files -(depending on platform), loading each one and testing for the -vampGetPluginDescriptor function to enumerate the plugins in this -object. The example host has some code that may help. + +Plugin Lookup and Categorisation +================================ + +The Vamp API does not officially specify how to load plugin libraries +or where to find them. However, the SDK does include a function +(Vamp::PluginHostAdapter::getPluginPath()) that returns a recommended +directory search path that hosts may use for plugin libraries. + +Our suggestion for a host is to search each directory in this path for +.DLL (on Windows), .so (on Linux, Solaris, BSD etc) or .dylib (on +OS/X) files, then to load each one and perform a dynamic name lookup +on the vampGetPluginDescriptor function to enumerate the plugins in +the library. The example host has some code that may help, but this +operation will necessarily be system-dependent. + +Vamp also has an informal convention for sorting plugins into +functional categories. In addition to the library file itself, a +plugin library may install a category file with the same name as the +library but .cat extension. The existence and format of this file are +not specified by the Vamp API, but by convention the file may contain +lines of the format + +vamp:pluginlibrary:pluginname::General Category > Specific Category + +which a host may read and use to assign plugins a location within a +category tree for display to the user. The expectation is that +advanced users may also choose to set up their own preferred category +trees, which is why this information is not queried as part of the +Vamp API itself. Building the SDK