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