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.
float maxValue
Maximum value for a returned result in any bin, if hasKnownExtents.
struct _VampOutputDescriptor VampOutputDescriptor
struct _VampFeatureV2 VampFeatureV2
void(* selectProgram)(VampPluginHandle, unsigned int)
Set the current program.
Each process call returns results aligned with call's block start.
unsigned int binCount
Number of values per result, if hasFixedBinCount.
void(* reset)(VampPluginHandle)
Reset an instance, ready to use again on new input data.
const char * identifier
Computer-usable name of the output.
unsigned int(* getOutputCount)(VampPluginHandle)
Get the number of feature outputs (distinct sets of results).
float minValue
Minimum value for a returned result in any bin, if hasKnownExtents.
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.
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(* setParameter)(VampPluginHandle, int, float)
Set a parameter value.
const char ** programs
Fixed names for programs.
unsigned int(* getPreferredStepSize)(VampPluginHandle)
Get the plugin's preferred processing window increment in samples.
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.
unsigned int(* getMinChannelCount)(VampPluginHandle)
Get the minimum number of input channels this plugin can handle.
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.
unsigned int programCount
Number of programs.
const VampPluginDescriptor * vampGetPluginDescriptor(unsigned int hostApiVersion, unsigned int index)
Get the descriptor for a given plugin index in this library.
void(* cleanup)(VampPluginHandle)
Destroy an instance of this plugin.
float(* getParameter)(VampPluginHandle, int)
Get a parameter value.
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.
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.
unsigned int(* getPreferredBlockSize)(VampPluginHandle)
Get the plugin's preferred processing window size in samples.
Returned results are evenly spaced at samplerate specified below.
int(* initialise)(VampPluginHandle, unsigned int inputChannels, unsigned int stepSize, unsigned int blockSize)
Initialise an instance following parameter configuration.
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
void(* releaseFeatureSet)(VampFeatureList *)
Release a feature set returned from process or getRemainingFeatures.
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.
float * values
Values for this returned sample.
const char * unit
Human-readable unit of the parameter.
unsigned int(* getCurrentProgram)(VampPluginHandle)
Get the current program (if programCount > 0).
const char ** binNames
Names of returned value bins, if hasFixedBinCount.
VampSampleType sampleType
Time positioning method for returned results (see VampSampleType).
void(* releaseOutputDescriptor)(VampOutputDescriptor *)
Destroy a descriptor for a feature output.
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.