Mercurial > hg > vamp-plugin-sdk
comparison 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 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 39:46c39790588b | 40:ae3e47e76d2d | 
|---|---|
| 92 | 92 | 
| 93 A simple command-line Vamp host, capable of loading a plugin and using | 93 A simple command-line Vamp host, capable of loading a plugin and using | 
| 94 it to process a complete audio file, with its default parameters. | 94 it to process a complete audio file, with its default parameters. | 
| 95 Requires libsndfile. | 95 Requires libsndfile. | 
| 96 | 96 | 
| 97 The Vamp API doesn't officially specify how to load plugin libraries | 97 | 
| 98 or where to find them. However, good practice for a host is to use | 98 Plugin Lookup and Categorisation | 
| 99 the Vamp path returned by Vamp::PluginHostAdapter::getPluginPath() and | 99 ================================ | 
| 100 search each directory in this path for .so, .dll or .dylib files | 100 | 
| 101 (depending on platform), loading each one and testing for the | 101 The Vamp API does not officially specify how to load plugin libraries | 
| 102 vampGetPluginDescriptor function to enumerate the plugins in this | 102 or where to find them. However, the SDK does include a function | 
| 103 object. The example host has some code that may help. | 103 (Vamp::PluginHostAdapter::getPluginPath()) that returns a recommended | 
| 104 directory search path that hosts may use for plugin libraries. | |
| 105 | |
| 106 Our suggestion for a host is to search each directory in this path for | |
| 107 .DLL (on Windows), .so (on Linux, Solaris, BSD etc) or .dylib (on | |
| 108 OS/X) files, then to load each one and perform a dynamic name lookup | |
| 109 on the vampGetPluginDescriptor function to enumerate the plugins in | |
| 110 the library. The example host has some code that may help, but this | |
| 111 operation will necessarily be system-dependent. | |
| 112 | |
| 113 Vamp also has an informal convention for sorting plugins into | |
| 114 functional categories. In addition to the library file itself, a | |
| 115 plugin library may install a category file with the same name as the | |
| 116 library but .cat extension. The existence and format of this file are | |
| 117 not specified by the Vamp API, but by convention the file may contain | |
| 118 lines of the format | |
| 119 | |
| 120 vamp:pluginlibrary:pluginname::General Category > Specific Category | |
| 121 | |
| 122 which a host may read and use to assign plugins a location within a | |
| 123 category tree for display to the user. The expectation is that | |
| 124 advanced users may also choose to set up their own preferred category | |
| 125 trees, which is why this information is not queried as part of the | |
| 126 Vamp API itself. | |
| 104 | 127 | 
| 105 | 128 | 
| 106 Building the SDK | 129 Building the SDK | 
| 107 ================ | 130 ================ | 
| 108 | 131 | 
