VST 3 Interfaces  VST 3.6.7
SDK for developing VST Plug-in
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Public Member Functions | Static Public Attributes

Queue of changes for a specific parameter. More...

#include <ivstparameterchanges.h>

+ Inheritance diagram for IParamValueQueue:

Public Member Functions

virtual ParamID getParameterId ()=0
 Returns its associated ID. More...
 
virtual int32 getPointCount ()=0
 Returns count of points in the queue. More...
 
virtual tresult getPoint (int32 index, int32 &sampleOffset, ParamValue &value)=0
 Gets the value and offset at a given index. More...
 
virtual tresult addPoint (int32 sampleOffset, ParamValue value, int32 &index)=0
 Adds a new value at the end of the queue, its index is returned. More...
 
- Public Member Functions inherited from FUnknown
virtual tresult queryInterface (const TUID _iid, void **obj)=0
 
virtual uint32 addRef ()=0
 
virtual uint32 release ()=0
 

Static Public Attributes

static const FUID iid
 
- Static Public Attributes inherited from FUnknown
static const FUID iid
 

Detailed Description

Queue of changes for a specific parameter.

The change queue can be interpreted as segment of an automation curve. For each processing block a segment with the size of the block is transmitted to the processor. The curve is expressed as sampling points of a linear approximation of the original automation curve. If the original already is a linear curve it can be transmitted precisely. A non-linear curve has to be converted to a linear approximation by the host. Every point of the value queue defines a linear section of the curve as a straight line from the previous point of a block to the new one. So the Plug-in can calculate the value of the curve for any sample position in the block.

Implicit Points:
In each processing block the section of the curve for each parameter is transmitted. In order to reduce the amount of points, the point at block position 0 can be omitted.

Jumps:
A jump in the automation curve has to be transmitted as two points: one with the old value and one with the new value at the next sample position.

automation.jpg
See also
IParameterChanges, ProcessData

Member Function Documentation

virtual ParamID getParameterId ( )
pure virtual

Returns its associated ID.

Implemented in ParamChanges, and ParameterValueQueue.

virtual int32 getPointCount ( )
pure virtual

Returns count of points in the queue.

Implemented in ParamChanges, and ParameterValueQueue.

virtual tresult getPoint ( int32  index,
int32 sampleOffset,
ParamValue value 
)
pure virtual

Gets the value and offset at a given index.

Implemented in ParamChanges, and ParameterValueQueue.

virtual tresult addPoint ( int32  sampleOffset,
ParamValue  value,
int32 index 
)
pure virtual

Adds a new value at the end of the queue, its index is returned.

Implemented in ParamChanges, and ParameterValueQueue.

Field Documentation

const FUID iid
static
Empty

Copyright ©2017 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.