|
rt-vamp-plugin-sdk 0.3.1
Real-time Vamp plugin SDK for C++20
|
Extended plugin base class with automatic parameter / program handling. More...
#include <rtvamp/pluginsdk/PluginExt.hpp>
Public Member Functions | |
| PluginExt (float inputSampleRate) | |
| std::optional< float > | getParameter (std::string_view id) const final |
| bool | setParameter (std::string_view id, float value) final |
| std::string_view | getCurrentProgram () const final |
| bool | selectProgram (std::string_view name) final |
| virtual void | onParameterChange (std::string_view id, float newValue) |
| virtual void | onProgramChange (std::string_view newProgram) |
Public Member Functions inherited from rtvamp::pluginsdk::Plugin< NOutputs > | |
| constexpr | Plugin (float inputSampleRate) |
| virtual uint32_t | getPreferredStepSize () const |
| virtual uint32_t | getPreferredBlockSize () const |
| virtual OutputList | getOutputDescriptors () const =0 |
| virtual bool | initialise (uint32_t stepSize, uint32_t blockSize)=0 |
| virtual void | reset ()=0 |
| virtual const FeatureSet & | process (InputBuffer buffer, uint64_t nsec)=0 |
Public Member Functions inherited from rtvamp::pluginsdk::PluginBase | |
| PluginBase ()=default | |
| virtual | ~PluginBase ()=default |
| PluginBase (const PluginBase &)=default | |
| PluginBase (PluginBase &&)=default | |
| PluginBase & | operator= (const PluginBase &)=default |
| PluginBase & | operator= (PluginBase &&)=default |
Additional Inherited Members | |
Public Types inherited from rtvamp::pluginsdk::Plugin< NOutputs > | |
| using | OutputList = std::array< OutputDescriptor, NOutputs > |
| List of output descriptors. | |
| using | FeatureSet = std::array< Feature, NOutputs > |
| Computed features for each output. | |
Public Types inherited from rtvamp::pluginsdk::PluginBase | |
| enum class | InputDomain { Time , Frequency } |
| Input domain of the plugin. More... | |
| using | TimeDomainBuffer = std::span< const float > |
| Time domain buffer. | |
| using | FrequencyDomainBuffer = std::span< const std::complex< float > > |
| Frequency domain buffer (FFT) | |
| using | InputBuffer = std::variant< TimeDomainBuffer, FrequencyDomainBuffer > |
| Input domain variant. | |
| using | Feature = std::vector< float > |
| Feature with one or more values (defined by OutputDescriptor::binCount) | |
Static Public Attributes inherited from rtvamp::pluginsdk::Plugin< NOutputs > | |
| static constexpr uint32_t | outputCount = NOutputs |
| Number of outputs (defined by template parameter) | |
| static constexpr Meta | meta {} |
| Required static plugin descriptor. | |
| static constexpr std::array< ParameterDescriptor, 0 > | parameters {} |
| Optional parameter descriptors (default: none) | |
| static constexpr std::array< const char *, 0 > | programs {} |
| Optional program list (default: none) | |
Protected Member Functions inherited from rtvamp::pluginsdk::Plugin< NOutputs > | |
| float | getInputSampleRate () const noexcept |
| FeatureSet & | getFeatureSet () noexcept |
| void | initialiseFeatureSet () |
Extended plugin base class with automatic parameter / program handling.
Two template arguments must be provided:
Assumptions:
|
inlineexplicit |
|
finalvirtual |
Reimplemented from rtvamp::pluginsdk::Plugin< NOutputs >.
|
finalvirtual |
Reimplemented from rtvamp::pluginsdk::Plugin< NOutputs >.
|
inlinevirtual |
|
inlinevirtual |
|
finalvirtual |
Reimplemented from rtvamp::pluginsdk::Plugin< NOutputs >.
|
finalvirtual |
Reimplemented from rtvamp::pluginsdk::Plugin< NOutputs >.