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 |