VampPluginSDK  2.1
Vamp::Plugin::OutputDescriptor Struct Reference

#include <Plugin.h>

List of all members.

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

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

Vamp::Plugin::OutputDescriptor::OutputDescriptor ( ) [inline]

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


Member Data Documentation

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 FixedTempoEstimator::D::getOutputDescriptors(), AmplitudeFollower::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), ZeroCrossing::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), and PercussionOnsetDetector::getOutputDescriptors().

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 FixedTempoEstimator::D::getOutputDescriptors(), AmplitudeFollower::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), ZeroCrossing::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), and PercussionOnsetDetector::getOutputDescriptors().

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 FixedTempoEstimator::D::getOutputDescriptors(), AmplitudeFollower::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), ZeroCrossing::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), and PercussionOnsetDetector::getOutputDescriptors().

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 FixedTempoEstimator::D::getOutputDescriptors(), AmplitudeFollower::getOutputDescriptors(), SpectralCentroid::getOutputDescriptors(), ZeroCrossing::getOutputDescriptors(), PowerSpectrum::getOutputDescriptors(), and PercussionOnsetDetector::getOutputDescriptors().

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.

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().

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().

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(), ZeroCrossing::getOutputDescriptors(), and PercussionOnsetDetector::getOutputDescriptors().

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(), ZeroCrossing::getOutputDescriptors(), and PercussionOnsetDetector::getOutputDescriptors().

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: