cannam@0: cannam@0:
cannam@0:#include <PluginBase.h>
cannam@0: cannam@0:
cannam@0: List of all members.
cannam@21: The Vamp::Plugin is derived from this, and individual Vamp plugins should derive from that.
cannam@21: This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as Vamp plugins. cannam@21:
Definition at line 64 of file vamp-sdk/PluginBase.h.
cannam@0:Public Types | |
typedef std::vector cannam@0: < ParameterDescriptor > | ParameterList |
typedef std::vector< std::string > | ProgramList |
Public Member Functions | |
virtual | ~PluginBase () |
virtual unsigned int | getVampApiVersion () const |
Get the Vamp API compatibility level of the plugin. | |
virtual std::string | getIdentifier () const =0 |
Get the computer-usable name of the plugin. | |
virtual std::string | getName () const =0 |
Get a human-readable name or title of the plugin. | |
virtual std::string | getDescription () const =0 |
Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". | |
virtual std::string | getMaker () const =0 |
Get the name of the author or vendor of the plugin in human-readable form. | |
virtual std::string | getCopyright () const =0 |
Get the copyright statement or licensing summary for the plugin. | |
virtual int | getPluginVersion () const =0 |
Get the version number of the plugin. | |
virtual ParameterList | getParameterDescriptors () const |
Get the controllable parameters of this plugin. | |
virtual float | getParameter (std::string) const |
Get the value of a named parameter. | |
virtual void | setParameter (std::string, float) |
Set a named parameter. | |
virtual ProgramList | getPrograms () const |
Get the program settings available in this plugin. | |
virtual std::string | getCurrentProgram () const |
Get the current program. | |
virtual void | selectProgram (std::string) |
Select a program. | |
virtual std::string | getType () const =0 |
Get the type of plugin. | |
Classes | |
struct | ParameterDescriptor |
typedef std::vector<ParameterDescriptor> Vamp::PluginBase::ParameterList | cannam@0:
cannam@0: cannam@21:
Definition at line 203 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:typedef std::vector<std::string> Vamp::PluginBase::ProgramList | cannam@0:
cannam@0: cannam@21:
Definition at line 225 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:cannam@0:
virtual Vamp::PluginBase::~PluginBase | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: [inline, virtual] |
cannam@0:
cannam@0: cannam@21:
Definition at line 67 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:cannam@0:
virtual unsigned int Vamp::PluginBase::getVampApiVersion | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [inline, virtual] |
cannam@0:
cannam@21: Get the Vamp API compatibility level of the plugin. cannam@0:
cannam@0: cannam@0:
Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.
cannam@0: cannam@21:Definition at line 72 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@21:Referenced by enumeratePlugins().
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getIdentifier | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get the computer-usable name of the plugin. cannam@0:
cannam@0: This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.
cannam@0: This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).
cannam@0: Example: "zero_crossings" cannam@21:
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.
cannam@0: cannam@21:Referenced by enumeratePlugins(), and runPlugin().
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getName | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get a human-readable name or title of the plugin. cannam@0:
cannam@0: This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").
cannam@0: Example: "Zero Crossings" cannam@21:
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.
cannam@0: cannam@21:Referenced by enumeratePlugins(), and printPluginCategoryList().
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getDescription | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". cannam@0:
cannam@0: May be empty if the name has said it all already.
cannam@0: Example: "Detect and count zero crossing points" cannam@21:
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.
cannam@0: cannam@21:Referenced by enumeratePlugins(), and printPluginCategoryList().
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getMaker | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get the name of the author or vendor of the plugin in human-readable form. cannam@0:
cannam@0: This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. cannam@21:
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.
cannam@0: cannam@21:Referenced by enumeratePlugins(), and printPluginCategoryList().
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getCopyright | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get the copyright statement or licensing summary for the plugin. cannam@0:
cannam@0: This can be an informative text, without the same presentation constraints as mentioned for getMaker above. cannam@21:
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.
cannam@0: cannam@21:Referenced by enumeratePlugins().
cannam@0: cannam@0:virtual int Vamp::PluginBase::getPluginVersion | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get the version number of the plugin. cannam@0:
cannam@0: cannam@21:
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.
cannam@0: cannam@21:Referenced by enumeratePlugins().
cannam@0: cannam@0:virtual ParameterList Vamp::PluginBase::getParameterDescriptors | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [inline, virtual] |
cannam@0:
cannam@0: Get the controllable parameters of this plugin. cannam@0:
cannam@0: cannam@21:
Reimplemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, and PercussionOnsetDetector.
cannam@0: cannam@21:Definition at line 208 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@21:Referenced by enumeratePlugins().
cannam@0: cannam@0:virtual float Vamp::PluginBase::getParameter | cannam@0:( | cannam@0:std::string | cannam@0:cannam@0: | ) | cannam@21: const [inline, virtual] |
cannam@0:
cannam@0: Get the value of a named parameter. cannam@0:
cannam@0: The argument is the identifier field from that parameter's descriptor. cannam@21:
Reimplemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, and PercussionOnsetDetector.
cannam@0: cannam@21:Definition at line 216 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:virtual void Vamp::PluginBase::setParameter | cannam@0:( | cannam@0:std::string | cannam@0:, | cannam@0:|
cannam@0: | cannam@0: | float | cannam@0:cannam@0: | |
cannam@0: | ) | cannam@21: [inline, virtual] |
cannam@0:
cannam@0: Set a named parameter. cannam@0:
cannam@0: The first argument is the identifier field from that parameter's descriptor. cannam@21:
Reimplemented in Vamp::HostExt::PluginBufferingAdapter, Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, and PercussionOnsetDetector.
cannam@0: cannam@21:Definition at line 222 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:virtual ProgramList Vamp::PluginBase::getPrograms | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [inline, virtual] |
cannam@0:
cannam@0: Get the program settings available in this plugin. cannam@0:
cannam@0: A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.
cannam@0: The programs must have unique names. cannam@21:
Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.
cannam@0: cannam@21:Definition at line 237 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getCurrentProgram | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [inline, virtual] |
cannam@0:
cannam@0: Get the current program. cannam@0:
cannam@0: cannam@0:
Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.
cannam@0: cannam@21:Definition at line 242 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:virtual void Vamp::PluginBase::selectProgram | cannam@0:( | cannam@0:std::string | cannam@0:cannam@0: | ) | cannam@21: [inline, virtual] |
cannam@0:
cannam@0: Select a program. cannam@0:
cannam@0: (If the given program name is not one of the available programs, do nothing.) cannam@21:
Reimplemented in Vamp::HostExt::PluginBufferingAdapter, Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.
cannam@0: cannam@21:Definition at line 248 of file vamp-sdk/PluginBase.h.
cannam@0: cannam@0:virtual std::string Vamp::PluginBase::getType | cannam@0:( | cannam@0:cannam@0: | ) | cannam@21: const [pure virtual] |
cannam@0:
cannam@0: Get the type of plugin. cannam@0:
cannam@0: This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code. cannam@0:
Implemented in Vamp::Plugin.
cannam@0: cannam@0:cannam@0: