comparison vamp-sdk/doc-overview @ 75:0f8524203677

* doc updates
author cannam
date Thu, 07 Jun 2007 13:56:26 +0000
parents 933fee59d33a
children 7a27dbdd663a
comparison
equal deleted inserted replaced
74:64d45f526afc 75:0f8524203677
42 using Percussive Feature Detection and Spectral Modulation" by Dan 42 using Percussive Feature Detection and Spectral Modulation" by Dan
43 Barry, Derry Fitzgerald, Eugene Coyle and Bob Lawlor, ISSC 2005. 43 Barry, Derry Fitzgerald, Eugene Coyle and Bob Lawlor, ISSC 2005.
44 44
45 \section hosts For Hosts 45 \section hosts For Hosts
46 46
47 Hosts will usually want to use a Vamp::PluginHostAdapter to convert 47 Hosts will normally use a Vamp::PluginHostAdapter to convert each
48 each plugin's exposed C API back into a useful Vamp::Plugin object. 48 plugin's exposed C API back into a useful Vamp::Plugin C++ object.
49
50 Starting with version 1.1 of the Vamp SDK, there are several classes
51 in the Vamp::HostExt namespace that aim to make the host's life as
52 easy as possible:
53
54 - Vamp::HostExt::PluginLoader provides a very simple interface for a
55 host to discover, load, and find out category information about the
56 available plugins. Most "casual" Vamp hosts will probably want to
57 use this class.
58
59 - Vamp::HostExt::PluginInputDomainAdapter provides a simple means for
60 hosts to handle plugins that expect frequency-domain input, without
61 having to convert the input themselves.
62
63 - Vamp::HostExt::PluginChannelAdapter provides a simple means for
64 hosts to use plugins that do not necessarily support the same number
65 of audio channels as they have available, without having to apply a
66 channel management / mixdown policy themselves.
67
68 The PluginLoader class can also use the input domain and channel
69 adapters automatically to make the entire conversion process
70 transparent to the host if required.
49 71
50 Hosts should link with -lvamp-hostsdk. 72 Hosts should link with -lvamp-hostsdk.
73
74 (The following notes in this section are mostly relevant for
75 developers that are not using the HostExt classes, or that wish to
76 know more about the policy they implement.)
51 77
52 The Vamp API does not officially specify how to load plugin libraries 78 The Vamp API does not officially specify how to load plugin libraries
53 or where to find them. However, the SDK does include a function 79 or where to find them. However, the SDK does include a function
54 (Vamp::PluginHostAdapter::getPluginPath()) that returns a recommended 80 (Vamp::PluginHostAdapter::getPluginPath()) that returns a recommended
55 directory search path that hosts may use for plugin libraries. 81 directory search path that hosts may use for plugin libraries.
76 category tree for display to the user. The expectation is that 102 category tree for display to the user. The expectation is that
77 advanced users may also choose to set up their own preferred category 103 advanced users may also choose to set up their own preferred category
78 trees, which is why this information is not queried as part of the 104 trees, which is why this information is not queried as part of the
79 Vamp API itself. 105 Vamp API itself.
80 106
81 There is an example host in the "host" directory from 107 There is an example host in the "host" directory from which code may
82 which code may be drawn. 108 be drawn.
83 109
84 \section license License 110 \section license License
85 111
86 This plugin SDK is freely redistributable under a "new-style BSD" 112 This plugin SDK is freely redistributable under a "new-style BSD"
87 licence. See the file COPYING for more details. In short, you may 113 licence. See the file COPYING for more details. In short, you may