1
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
6
An API for audio analysis and feature extraction plugins.
8
Centre for Digital Music, Queen Mary, University of London.
9
Copyright 2006-2009 Chris Cannam and QMUL.
11
Permission is hereby granted, free of charge, to any person
12
obtaining a copy of this software and associated documentation
13
files (the "Software"), to deal in the Software without
14
restriction, including without limitation the rights to use, copy,
15
modify, merge, publish, distribute, sublicense, and/or sell copies
16
of the Software, and to permit persons to whom the Software is
17
furnished to do so, subject to the following conditions:
19
The above copyright notice and this permission notice shall be
20
included in all copies or substantial portions of the Software.
22
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
26
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
27
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
Except as contained in this notice, the names of the Centre for
31
Digital Music; Queen Mary, University of London; and Chris Cannam
32
shall not be used in advertising or otherwise to promote the sale,
33
use or other dealings in this Software without prior written
37
#include "vamp-hostsdk/PluginWrapper.h"
39
_VAMP_SDK_HOSTSPACE_BEGIN(PluginWrapper.cpp)
45
class PluginRateExtractor : public Plugin
48
PluginRateExtractor() : Plugin(0) { }
49
float getRate() const { return m_inputSampleRate; }
52
PluginWrapper::PluginWrapper(Plugin *plugin) :
53
Plugin(((PluginRateExtractor *)plugin)->getRate()),
58
PluginWrapper::~PluginWrapper()
64
PluginWrapper::initialise(size_t channels, size_t stepSize, size_t blockSize)
66
return m_plugin->initialise(channels, stepSize, blockSize);
70
PluginWrapper::reset()
76
PluginWrapper::getInputDomain() const
78
return m_plugin->getInputDomain();
82
PluginWrapper::getVampApiVersion() const
84
return m_plugin->getVampApiVersion();
88
PluginWrapper::getIdentifier() const
90
return m_plugin->getIdentifier();
94
PluginWrapper::getName() const
96
return m_plugin->getName();
100
PluginWrapper::getDescription() const
102
return m_plugin->getDescription();
106
PluginWrapper::getMaker() const
108
return m_plugin->getMaker();
112
PluginWrapper::getPluginVersion() const
114
return m_plugin->getPluginVersion();
118
PluginWrapper::getCopyright() const
120
return m_plugin->getCopyright();
123
PluginBase::ParameterList
124
PluginWrapper::getParameterDescriptors() const
126
return m_plugin->getParameterDescriptors();
130
PluginWrapper::getParameter(std::string parameter) const
132
return m_plugin->getParameter(parameter);
136
PluginWrapper::setParameter(std::string parameter, float value)
138
m_plugin->setParameter(parameter, value);
141
PluginBase::ProgramList
142
PluginWrapper::getPrograms() const
144
return m_plugin->getPrograms();
148
PluginWrapper::getCurrentProgram() const
150
return m_plugin->getCurrentProgram();
154
PluginWrapper::selectProgram(std::string program)
156
m_plugin->selectProgram(program);
160
PluginWrapper::getPreferredStepSize() const
162
return m_plugin->getPreferredStepSize();
166
PluginWrapper::getPreferredBlockSize() const
168
return m_plugin->getPreferredBlockSize();
172
PluginWrapper::getMinChannelCount() const
174
return m_plugin->getMinChannelCount();
177
size_t PluginWrapper::getMaxChannelCount() const
179
return m_plugin->getMaxChannelCount();
183
PluginWrapper::getOutputDescriptors() const
185
return m_plugin->getOutputDescriptors();
189
PluginWrapper::process(const float *const *inputBuffers, RealTime timestamp)
191
return m_plugin->process(inputBuffers, timestamp);
195
PluginWrapper::getRemainingFeatures()
197
return m_plugin->getRemainingFeatures();
204
_VAMP_SDK_HOSTSPACE_END(PluginWrapper.cpp)