ASPiK SDK
Loading...
Searching...
No Matches
guiconstants.h File Reference

globally utilized constants and enumerations More...

#include <stdint.h>
#include <stdlib.h>
#include <vector>
#include <string>
#include <math.h>

Go to the source code of this file.

Classes

class  ParamSmoother< T >
 The ParamSmoother object performs parameter smoothing on GUI control information. You can choose linear or exponential smoothing. More...
 

Macros

#define _MATH_DEFINES_DEFINED
 
#define enumToInt(ENUM)   static_cast<int>(ENUM)
 macro helper to cast a typed enum to an int
 
#define compareEnumToInt(ENUM, INT)   (static_cast<int>(ENUM) == (INT))
 compare a typed enum value to an int
 
#define compareIntToEnum(INT, ENUM)   ((INT) == static_cast<int>(ENUM))
 compare a typed enum value to an int
 
#define convertIntToEnum(INT, ENUM)   static_cast<ENUM>(INT)
 convert an int to an enum, e.g. for passing to functions
 
#define FLT_EPSILON_PLUS   1.192092896e-07
 /* smallest such that 1.0+FLT_EPSILON != 1.0 *‍/
 
#define FLT_EPSILON_MINUS   -1.192092896e-07
 /* smallest such that 1.0-FLT_EPSILON != 1.0 *‍/
 
#define FLT_MIN_PLUS   1.175494351e-38
 /* min positive value *‍/
 
#define FLT_MIN_MINUS   -1.175494351e-38
 /* min negative value *‍/
 
#define _MATH_DEFINES_DEFINED
 

Enumerations

enum  {
  tinyGUI , verySmallGUI , smallGUI , normalGUI ,
  largeGUI , veryLargeGUI
}
 
enum class  smoothingMethod { kLinearSmoother , kLPFSmoother }
 Use this strongly typed enum to easily set the smoothing type. More...
 
enum class  taper { kLinearTaper , kLogTaper , kAntiLogTaper , kVoltOctaveTaper }
 Use this strongly typed enum to easily set the control taper. More...
 
enum class  meterCal { kLinearMeter , kLogMeter }
 Use this strongly typed enum to easily set meter calibration. More...
 
enum class  controlVariableType {
  kFloat , kDouble , kInt , kTypedEnumStringList ,
  kMeter , kNonVariableBoundControl
}
 Use this strongly typed enum to easily set the control's behavior; this tells the PluginParameter object how to interpret the control information (e.g. as float versus int).

Note that you can set a PluginParameter as kNonVariableBoundControl to indicate that it is not bound to any variable. More...
 
enum class  boundVariableType { kFloat , kDouble , kInt , kUInt }
 Use this strongly typed enum to easily set the control's linked variable datatype (for automatic variable binding). More...
 

Functions

bool isReservedTag (int tag)
 check to see if a tag is reserved: ASPiK defines several reserved control ID values.
 
bool isBonusParameter (int tag)
 check to see if a tag is Bonus Parameter: these should NOT be added to API parameter lists
 

Variables

const unsigned int PLUGIN_SIDE_BYPASS = 131072
 RESERVED PARAMETER ID VALUE.
 
const unsigned int XY_TRACKPAD = 131073
 RESERVED PARAMETER ID VALUE.
 
const unsigned int VECTOR_JOYSTICK = 131074
 RESERVED PARAMETER ID VALUE.
 
const unsigned int PRESET_NAME = 131075
 RESERVED PARAMETER ID VALUE.
 
const unsigned int WRITE_PRESET_FILE = 131076
 RESERVED PARAMETER ID VALUE.
 
const unsigned int SCALE_GUI_SIZE = 131077
 RESERVED PARAMETER ID VALUE.
 
const unsigned int CUSTOM_VIEW_BASE = 132000
 ID values for Custom Views (not necessarily required)
 
const double kCTCoefficient = 5.0 / 12.0
 concave and/or convex transform correction factor
 
const double kCTCorrFactorZero = pow(10.0, (-1.0/kCTCoefficient))
 concave/convex transform correction factor at x = 0
 
const double kCTCorrFactorAnitZero = 1.0 / (1.0 - kCTCorrFactorZero)
 inverse concave/convex transform factor at x = 0
 
const double kCTCorrFactorUnity = 1.0 / (1.0 + kCTCoefficient*log10(1.0 + kCTCorrFactorZero))
 concave/convex transform correction factor at x = 1
 
const double kCTCorrFactorAntiUnity = 1.0 / (1.0 + (-pow(10.0, (-1.0/kCTCoefficient))))
 inverse concave/convex transform correction factor at x = 1
 
const double kCTCorrFactorAntiLog = kCTCoefficient*log10(1.0 + kCTCorrFactorZero)
 concave/convex transform correction factor
 
const double kCTCorrFactorAntiLogScale = 1.0 / (-kCTCoefficient*log10(kCTCorrFactorZero) + kCTCorrFactorAntiLog)
 concave/convex transform scaling factor
 
const double kPi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899
 pi to 80 decimal places
 
const double kTwoPi = 2.0*3.14159265358979323846264338327950288419716939937510582097494459230781640628620899
 2pi to 80 decimal places
 
const float GUI_METER_UPDATE_INTERVAL_MSEC = 50.f
 repaint interval; larger = slower
 
const float GUI_METER_MIN_DB = -60.f
 min GUI value in dB
 
Audio Detector Constants
const uint32_t ENVELOPE_DETECT_MODE_PEAK = 0
 |x|
 
const uint32_t ENVELOPE_DETECT_MODE_MS = 1
 (1/N)|x|^2
 
const uint32_t ENVELOPE_DETECT_MODE_RMS = 2
 SQRT((1/N)|x|^2)
 
const uint32_t ENVELOPE_DETECT_MODE_NONE = 3
 not used
 
const float ENVELOPE_DIGITAL_TC = -4.6051701859880913680359829093687
 ln(1%)
 
const float ENVELOPE_ANALOG_TC = -1.0023934309275667804345424248947
 ln(36.7%)
 

Detailed Description

globally utilized constants and enumerations

Author
Will Pirkle
Date
17-September-2018