VampPluginSDK 2.10
Vamp::Plugin::OutputDescriptor Struct Reference

#include <Plugin.h>

Public Types

enum  SampleType { OneSamplePerStep , FixedSampleRate , VariableSampleRate }
 

Public Member Functions

 OutputDescriptor ()
 

Public Attributes

std::string identifier
 The name of the output, in computer-usable form.
 
std::string name
 The human-readable name of the output.
 
std::string description
 A human-readable short text describing the output.
 
std::string unit
 The unit of the output, in human-readable form.
 
bool hasFixedBinCount
 True if the output has the same number of values per sample for every output sample.
 
size_t binCount
 The number of values per result of the output.
 
std::vector< std::string > binNames
 The (human-readable) names of each of the bins, if appropriate.
 
bool hasKnownExtents
 True if the results in each output bin fall within a fixed numeric range (minimum and maximum values).
 
float minValue
 Minimum value of the results in the output.
 
float maxValue
 Maximum value of the results in the output.
 
bool isQuantized
 True if the output values are quantized to a particular resolution.
 
float quantizeStep
 Quantization resolution of the output values (e.g.
 
SampleType sampleType
 Positioning in time of the output results.
 
float sampleRate
 Sample rate of the output results, as samples per second.
 
bool hasDuration
 True if the returned results for this output are known to have a duration field.
 

Detailed Description

Definition at line 206 of file vamp-sdk/Plugin.h.

Member Enumeration Documentation

◆ SampleType

Enumerator
OneSamplePerStep 

Results from each process() align with that call's block start.

FixedSampleRate 

Results are evenly spaced in time (sampleRate specified below)

VariableSampleRate 

Results are unevenly spaced and have individual timestamps.

Definition at line 287 of file vamp-sdk/Plugin.h.

Constructor & Destructor Documentation

◆ OutputDescriptor()

Vamp::Plugin::OutputDescriptor::OutputDescriptor ( )
inline

Definition at line 322 of file vamp-sdk/Plugin.h.

Member Data Documentation

◆ identifier

std::string Vamp::Plugin::OutputDescriptor::identifier

The name of the output, in computer-usable form.

Should be reasonably short and without whitespace or punctuation, using the characters [a-zA-Z0-9_-] only. Example: "zero_crossing_count"

Definition at line 214 of file vamp-sdk/Plugin.h.

Referenced by AmplitudeFollower::getOutputDescriptors(), FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ name

std::string Vamp::Plugin::OutputDescriptor::name

◆ description

std::string Vamp::Plugin::OutputDescriptor::description

A human-readable short text describing the output.

May be empty if the name has said it all already. Example: "The number of zero crossing points per processing block"

Definition at line 227 of file vamp-sdk/Plugin.h.

Referenced by AmplitudeFollower::getOutputDescriptors(), FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ unit

◆ hasFixedBinCount

bool Vamp::Plugin::OutputDescriptor::hasFixedBinCount

True if the output has the same number of values per sample for every output sample.

Outputs for which this is false are unlikely to be very useful in a general-purpose host.

Definition at line 239 of file vamp-sdk/Plugin.h.

Referenced by AmplitudeFollower::getOutputDescriptors(), FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ binCount

size_t Vamp::Plugin::OutputDescriptor::binCount

The number of values per result of the output.

Undefined if hasFixedBinCount is false. If this is zero, the output is point data (i.e. only the time of each output is of interest, the value list will be empty).

Definition at line 247 of file vamp-sdk/Plugin.h.

Referenced by AmplitudeFollower::getOutputDescriptors(), FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ binNames

std::vector<std::string> Vamp::Plugin::OutputDescriptor::binNames

The (human-readable) names of each of the bins, if appropriate.

This is always optional.

Definition at line 253 of file vamp-sdk/Plugin.h.

◆ hasKnownExtents

bool Vamp::Plugin::OutputDescriptor::hasKnownExtents

True if the results in each output bin fall within a fixed numeric range (minimum and maximum values).

Undefined if binCount is zero.

Definition at line 260 of file vamp-sdk/Plugin.h.

Referenced by AmplitudeFollower::getOutputDescriptors(), FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ minValue

float Vamp::Plugin::OutputDescriptor::minValue

Minimum value of the results in the output.

Undefined if hasKnownExtents is false or binCount is zero.

Definition at line 266 of file vamp-sdk/Plugin.h.

Referenced by FixedTempoEstimator::D::getOutputDescriptors().

◆ maxValue

float Vamp::Plugin::OutputDescriptor::maxValue

Maximum value of the results in the output.

Undefined if hasKnownExtents is false or binCount is zero.

Definition at line 272 of file vamp-sdk/Plugin.h.

Referenced by FixedTempoEstimator::D::getOutputDescriptors().

◆ isQuantized

bool Vamp::Plugin::OutputDescriptor::isQuantized

◆ quantizeStep

float Vamp::Plugin::OutputDescriptor::quantizeStep

Quantization resolution of the output values (e.g.

1.0 if they are all integers). Undefined if isQuantized is false or binCount is zero.

Definition at line 285 of file vamp-sdk/Plugin.h.

Referenced by FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ sampleType

◆ sampleRate

float Vamp::Plugin::OutputDescriptor::sampleRate

Sample rate of the output results, as samples per second.

Undefined if sampleType is OneSamplePerStep.

If sampleType is VariableSampleRate and this value is non-zero, then it may be used to calculate a resolution for the output (i.e. the "duration" of each sample, in time, will be 1/sampleRate seconds). It's recommended to set this to zero if that behaviour is not desired.

Definition at line 314 of file vamp-sdk/Plugin.h.

Referenced by FixedTempoEstimator::D::getOutputDescriptors(), PercussionOnsetDetector::getOutputDescriptors(), and ZeroCrossing::getOutputDescriptors().

◆ hasDuration

bool Vamp::Plugin::OutputDescriptor::hasDuration

True if the returned results for this output are known to have a duration field.

Definition at line 320 of file vamp-sdk/Plugin.h.

Referenced by FixedTempoEstimator::D::getOutputDescriptors().


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