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