rt-vamp-plugin-sdk  0.3.1
Real-time Vamp plugin SDK for C++20
Classes | Public Types | Public Member Functions | List of all members
rtvamp::hostsdk::Plugin Class Referenceabstract

#include <rtvamp/hostsdk/Plugin.hpp>

Inheritance diagram for rtvamp::hostsdk::Plugin:
[legend]

Classes

struct  OutputDescriptor
 
struct  ParameterDescriptor
 

Public Types

enum  InputDomain { InputDomain::Time, InputDomain::Frequency }
 Input domain of the plugin. More...
 
using ParameterList = std::span< const ParameterDescriptor >
 List of parameter descriptors. More...
 
using ProgramList = std::span< const std::string_view >
 List of programs. More...
 
using CurrentProgram = std::optional< std::string_view >
 Current program (if programs avaiable) More...
 
using OutputList = std::vector< OutputDescriptor >
 List of output descriptors. More...
 
using TimeDomainBuffer = std::span< const float >
 Time domain buffer. More...
 
using FrequencyDomainBuffer = std::span< const std::complex< float > >
 Frequency domain buffer (FFT) More...
 
using InputBuffer = std::variant< TimeDomainBuffer, FrequencyDomainBuffer >
 Input buffer variant. More...
 
using Feature = std::vector< float >
 Feature with one or more values (defined by OutputDescriptor::binCount) More...
 
using FeatureSet = std::span< const Feature >
 Computed features for each output. More...
 

Public Member Functions

 Plugin (float inputSampleRate)
 
virtual ~Plugin ()=default
 
virtual std::filesystem::path getLibraryPath () const noexcept=0
 
virtual uint32_t getVampApiVersion () const noexcept=0
 
virtual std::string_view getIdentifier () const noexcept=0
 
virtual std::string_view getName () const noexcept=0
 
virtual std::string_view getDescription () const noexcept=0
 
virtual std::string_view getMaker () const noexcept=0
 
virtual std::string_view getCopyright () const noexcept=0
 
virtual int getPluginVersion () const noexcept=0
 
virtual InputDomain getInputDomain () const noexcept=0
 
virtual ParameterList getParameterDescriptors () const noexcept=0
 
virtual std::optional< float > getParameter (std::string_view id) const =0
 
virtual bool setParameter (std::string_view id, float value)=0
 
virtual ProgramList getPrograms () const noexcept=0
 
virtual CurrentProgram getCurrentProgram () const =0
 
virtual bool selectProgram (std::string_view name)=0
 
virtual uint32_t getPreferredStepSize () const =0
 
virtual uint32_t getPreferredBlockSize () const =0
 
virtual uint32_t getOutputCount () const =0
 
virtual OutputList getOutputDescriptors () const =0
 
virtual bool initialise (uint32_t stepSize, uint32_t blockSize)=0
 
virtual void reset ()=0
 
virtual FeatureSet process (InputBuffer buffer, uint64_t nsec)=0
 
float getInputSampleRate () const noexcept
 

Member Typedef Documentation

◆ CurrentProgram

using rtvamp::hostsdk::Plugin::CurrentProgram = std::optional<std::string_view>

Current program (if programs avaiable)

◆ Feature

using rtvamp::hostsdk::Plugin::Feature = std::vector<float>

Feature with one or more values (defined by OutputDescriptor::binCount)

◆ FeatureSet

using rtvamp::hostsdk::Plugin::FeatureSet = std::span<const Feature>

Computed features for each output.

◆ FrequencyDomainBuffer

using rtvamp::hostsdk::Plugin::FrequencyDomainBuffer = std::span<const std::complex<float> >

Frequency domain buffer (FFT)

◆ InputBuffer

Input buffer variant.

◆ OutputList

List of output descriptors.

◆ ParameterList

List of parameter descriptors.

◆ ProgramList

using rtvamp::hostsdk::Plugin::ProgramList = std::span<const std::string_view>

List of programs.

◆ TimeDomainBuffer

using rtvamp::hostsdk::Plugin::TimeDomainBuffer = std::span<const float>

Time domain buffer.

Member Enumeration Documentation

◆ InputDomain

Input domain of the plugin.

Enumerator
Time 
Frequency 

Constructor & Destructor Documentation

◆ Plugin()

rtvamp::hostsdk::Plugin::Plugin ( float  inputSampleRate)
inlineexplicit

◆ ~Plugin()

virtual rtvamp::hostsdk::Plugin::~Plugin ( )
virtualdefault

Member Function Documentation

◆ getCopyright()

virtual std::string_view rtvamp::hostsdk::Plugin::getCopyright ( ) const
pure virtualnoexcept

◆ getCurrentProgram()

virtual CurrentProgram rtvamp::hostsdk::Plugin::getCurrentProgram ( ) const
pure virtual

◆ getDescription()

virtual std::string_view rtvamp::hostsdk::Plugin::getDescription ( ) const
pure virtualnoexcept

◆ getIdentifier()

virtual std::string_view rtvamp::hostsdk::Plugin::getIdentifier ( ) const
pure virtualnoexcept

◆ getInputDomain()

virtual InputDomain rtvamp::hostsdk::Plugin::getInputDomain ( ) const
pure virtualnoexcept

◆ getInputSampleRate()

float rtvamp::hostsdk::Plugin::getInputSampleRate ( ) const
inlinenoexcept

◆ getLibraryPath()

virtual std::filesystem::path rtvamp::hostsdk::Plugin::getLibraryPath ( ) const
pure virtualnoexcept

◆ getMaker()

virtual std::string_view rtvamp::hostsdk::Plugin::getMaker ( ) const
pure virtualnoexcept

◆ getName()

virtual std::string_view rtvamp::hostsdk::Plugin::getName ( ) const
pure virtualnoexcept

◆ getOutputCount()

virtual uint32_t rtvamp::hostsdk::Plugin::getOutputCount ( ) const
pure virtual

◆ getOutputDescriptors()

virtual OutputList rtvamp::hostsdk::Plugin::getOutputDescriptors ( ) const
pure virtual

◆ getParameter()

virtual std::optional<float> rtvamp::hostsdk::Plugin::getParameter ( std::string_view  id) const
pure virtual

◆ getParameterDescriptors()

virtual ParameterList rtvamp::hostsdk::Plugin::getParameterDescriptors ( ) const
pure virtualnoexcept

◆ getPluginVersion()

virtual int rtvamp::hostsdk::Plugin::getPluginVersion ( ) const
pure virtualnoexcept

◆ getPreferredBlockSize()

virtual uint32_t rtvamp::hostsdk::Plugin::getPreferredBlockSize ( ) const
pure virtual

◆ getPreferredStepSize()

virtual uint32_t rtvamp::hostsdk::Plugin::getPreferredStepSize ( ) const
pure virtual

◆ getPrograms()

virtual ProgramList rtvamp::hostsdk::Plugin::getPrograms ( ) const
pure virtualnoexcept

◆ getVampApiVersion()

virtual uint32_t rtvamp::hostsdk::Plugin::getVampApiVersion ( ) const
pure virtualnoexcept

◆ initialise()

virtual bool rtvamp::hostsdk::Plugin::initialise ( uint32_t  stepSize,
uint32_t  blockSize 
)
pure virtual

◆ process()

virtual FeatureSet rtvamp::hostsdk::Plugin::process ( InputBuffer  buffer,
uint64_t  nsec 
)
pure virtual

◆ reset()

virtual void rtvamp::hostsdk::Plugin::reset ( )
pure virtual

◆ selectProgram()

virtual bool rtvamp::hostsdk::Plugin::selectProgram ( std::string_view  name)
pure virtual

◆ setParameter()

virtual bool rtvamp::hostsdk::Plugin::setParameter ( std::string_view  id,
float  value 
)
pure virtual

The documentation for this class was generated from the following file: