37#ifndef VAMP_HEADER_INCLUDED
38#define VAMP_HEADER_INCLUDED
53#define VAMP_API_VERSION 2
288 float inputSampleRate);
295 unsigned int inputChannels,
296 unsigned int stepSize,
297 unsigned int blockSize);
345 const float *
const *inputBuffers,
377 (
unsigned int hostApiVersion,
unsigned int index);
382 (
unsigned int,
unsigned int);
unsigned int featureCount
Number of features in this feature list.
VampFeatureUnion * features
Features in this feature list.
int hasDuration
1 if the feature has a duration.
int durationSec
Seconds component of duratiion.
int durationNsec
Nanoseconds component of duration.
int sec
Seconds component of timestamp.
char * label
Label for this returned sample.
int nsec
Nanoseconds component of timestamp.
unsigned int valueCount
Number of values.
int hasTimestamp
1 if the feature has a timestamp (i.e.
float * values
Values for this returned sample.
const char ** binNames
Names of returned value bins, if hasFixedBinCount.
float sampleRate
Sample rate of returned results, if sampleType is vampFixedSampleRate.
const char * identifier
Computer-usable name of the output.
float maxValue
Maximum value for a returned result in any bin, if hasKnownExtents.
VampSampleType sampleType
Time positioning method for returned results (see VampSampleType).
unsigned int binCount
Number of values per result, if hasFixedBinCount.
float quantizeStep
Quantization resolution for returned results, if isQuantized.
float minValue
Minimum value for a returned result in any bin, if hasKnownExtents.
int isQuantized
1 if returned results are quantized to a particular resolution.
const char * description
Human-readable short text about the output.
const char * unit
Human-readable name of the unit of the output.
int hasFixedBinCount
1 if output has equal number of values for each returned result.
const char * name
Human-readable name of the output.
int hasKnownExtents
1 if each returned value falls within the same fixed min/max range.
int hasDuration
1 if the returned results for this output are known to have a duration field.
C language API for Vamp plugins.
const char ** valueNames
Human-readable names of the values, if isQuantized.
const char * identifier
Computer-usable name of the parameter.
float defaultValue
Default value.
int isQuantized
1 if parameter values are quantized to a particular resolution.
float quantizeStep
Quantization resolution, if isQuantized.
float maxValue
Maximum value.
const char * unit
Human-readable unit of the parameter.
const char * description
Human-readable short text about the parameter.
float minValue
Minimum value.
const char * name
Human-readable name of the parameter.
int pluginVersion
Version number of the plugin.
void(* reset)(VampPluginHandle)
Reset an instance, ready to use again on new input data.
float(* getParameter)(VampPluginHandle, int)
Get a parameter value.
unsigned int programCount
Number of programs.
unsigned int(* getCurrentProgram)(VampPluginHandle)
Get the current program (if programCount > 0).
unsigned int(* getPreferredBlockSize)(VampPluginHandle)
Get the plugin's preferred processing window size in samples.
const char * identifier
Computer-usable name of the plugin.
const char * maker
Human-readable name of plugin's author or vendor.
const VampParameterDescriptor ** parameters
Fixed descriptors for parameter inputs.
void(* selectProgram)(VampPluginHandle, unsigned int)
Set the current program.
void(* releaseOutputDescriptor)(VampOutputDescriptor *)
Destroy a descriptor for a feature output.
void(* cleanup)(VampPluginHandle)
Destroy an instance of this plugin.
unsigned int(* getOutputCount)(VampPluginHandle)
Get the number of feature outputs (distinct sets of results).
int(* initialise)(VampPluginHandle, unsigned int inputChannels, unsigned int stepSize, unsigned int blockSize)
Initialise an instance following parameter configuration.
unsigned int(* getMinChannelCount)(VampPluginHandle)
Get the minimum number of input channels this plugin can handle.
const char * name
Human-readable name of the plugin.
const char * description
Human-readable short text about the plugin.
VampPluginHandle(* instantiate)(const struct _VampPluginDescriptor *, float inputSampleRate)
Create and return a new instance of this plugin.
void(* releaseFeatureSet)(VampFeatureList *)
Release a feature set returned from process or getRemainingFeatures.
unsigned int vampApiVersion
API version with which this descriptor is compatible.
void(* setParameter)(VampPluginHandle, int, float)
Set a parameter value.
const char ** programs
Fixed names for programs.
unsigned int parameterCount
Number of parameter inputs.
const char * copyright
Human-readable summary of copyright or licensing for plugin.
unsigned int(* getPreferredStepSize)(VampPluginHandle)
Get the plugin's preferred processing window increment in samples.
unsigned int(* getMaxChannelCount)(VampPluginHandle)
Get the maximum number of input channels this plugin can handle.
VampInputDomain inputDomain
Preferred input domain for audio input (time or frequency).
const VampPluginDescriptor * vampGetPluginDescriptor(unsigned int hostApiVersion, unsigned int index)
Get the descriptor for a given plugin index in this library.
struct _VampFeature VampFeature
struct _VampParameterDescriptor VampParameterDescriptor
C language API for Vamp plugins.
struct _VampFeatureList VampFeatureList
@ vampFixedSampleRate
Returned results are evenly spaced at samplerate specified below.
@ vampOneSamplePerStep
Each process call returns results aligned with call's block start.
@ vampVariableSampleRate
Returned results have their own individual timestamps.
struct _VampOutputDescriptor VampOutputDescriptor
struct _VampPluginDescriptor VampPluginDescriptor
struct _VampFeatureV2 VampFeatureV2
union _VampFeatureUnion VampFeatureUnion