ASPiK SDK
Loading...
Searching...
No Matches
Steinberg::Vst::ASPiK::VSTParamUpdateQueue Class Reference

The VSTParamUpdateQueue object maintains a parameter update queue for one ASPiK PluginParameter object. It is only used as part of the sample-accurate automation feature in ASPiK. More...

#include <vst3plugin.h>

Inheritance diagram for Steinberg::Vst::ASPiK::VSTParamUpdateQueue:
IParameterUpdateQueue

Public Member Functions

 VSTParamUpdateQueue (void)
 ASPiK support for sample accurate auatomation.
 
void initialize (ParamValue _initialValue, ParamValue _minValue, ParamValue _maxValue, unsigned int *_sampleAccuracy)
 ASPiK support for sample accurate auatomation.
 
void setParamValueQueue (IParamValueQueue *_paramValueQueue, unsigned int _bufferSize)
 ASPiK support for sample accurate auatomation.
 
void setSlope ()
 ASPiK support for sample accurate auatomation.
 
ParamValue interpolate (int x1, int x2, ParamValue y1, ParamValue y2, int x)
 ASPiK support for sample accurate auatomation.
 
int needsUpdate (int x, ParamValue &value)
 ASPiK support for sample accurate auatomation.
 
unsigned int getParameterIndex ()
 ASPiK support for sample accurate auatomation.
 
bool getValueAtOffset (long int _sampleOffset, double _previousValue, double &_nextValue)
 ASPiK support for sample accurate auatomation.
 
bool getNextValue (double &_nextValue)
 ASPiK support for sample accurate auatomation.
 
virtual uint32_t getParameterIndex ()=0
 
virtual bool getValueAtOffset (long int _sampleOffset, double _previousValue, double &_nextValue)=0
 
virtual bool getNextValue (double &_nextValue)=0
 

Protected Attributes

unsigned int bufferSize = 0
 
ParamValue initialValue = 0.0
 
ParamValue previousValue = 0.0
 
ParamValue maxValue = 0.0
 
ParamValue minValue = 0.0
 
ParamValue slope
 
ParamValue yIntercept
 
unsigned int * sampleAccuracy = nullptr
 
int queueIndex = 0
 
int queueSize = 0
 
IParamValueQueue * parameterQueue = nullptr
 
int x1
 
int x2 = 0
 
double y1
 
double y2 = 0
 
bool dirtyBit = false
 
int sampleOffset = 0
 

Detailed Description

The VSTParamUpdateQueue object maintains a parameter update queue for one ASPiK PluginParameter object. It is only used as part of the sample-accurate automation feature in ASPiK.

Author
Will Pirkle http://www.willpirkle.com
Remarks
This object is part of the ASPiK plugin framework
Version
Revision : 1.0
Date
Date : 2018 / 09 / 7

Constructor & Destructor Documentation

◆ VSTParamUpdateQueue()

Steinberg::Vst::ASPiK::VSTParamUpdateQueue::VSTParamUpdateQueue ( void  )

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

Member Function Documentation

◆ getNextValue()

bool Steinberg::Vst::ASPiK::VSTParamUpdateQueue::getNextValue ( double &  _nextValue)
virtual

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

Implements IParameterUpdateQueue.

◆ getParameterIndex()

unsigned int Steinberg::Vst::ASPiK::VSTParamUpdateQueue::getParameterIndex ( )
virtual

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

Implements IParameterUpdateQueue.

◆ getValueAtOffset()

bool Steinberg::Vst::ASPiK::VSTParamUpdateQueue::getValueAtOffset ( long int  _sampleOffset,
double  _previousValue,
double &  _nextValue 
)
virtual

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

Implements IParameterUpdateQueue.

◆ initialize()

void Steinberg::Vst::ASPiK::VSTParamUpdateQueue::initialize ( ParamValue  _initialValue,
ParamValue  _minValue,
ParamValue  _maxValue,
unsigned int *  _sampleAccuracy 
)

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

◆ interpolate()

ParamValue Steinberg::Vst::ASPiK::VSTParamUpdateQueue::interpolate ( int  x1,
int  x2,
ParamValue  y1,
ParamValue  y2,
int  x 
)

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

◆ needsUpdate()

int Steinberg::Vst::ASPiK::VSTParamUpdateQueue::needsUpdate ( int  x,
ParamValue &  value 
)

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

◆ setParamValueQueue()

void Steinberg::Vst::ASPiK::VSTParamUpdateQueue::setParamValueQueue ( IParamValueQueue *  _paramValueQueue,
unsigned int  _bufferSize 
)

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

◆ setSlope()

void Steinberg::Vst::ASPiK::VSTParamUpdateQueue::setSlope ( )

ASPiK support for sample accurate auatomation.

NOTES:

  • see Designing Audio Effects in C++ 2nd Ed. by Will Pirkle for more information and a VST3 Programming Guide
  • see VST3 SDK Documentation for more information on this function and its parameters

The documentation for this class was generated from the following files: