| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions | Variables
AAX Namespace Reference

## Namespaces
namespace | Exception
| AAX exception classes
namespace | internal

## Enumerations
enum | EStatusNibble { eStatusNibble_NoteOff = 0x80 , eStatusNibble_NoteOn = 0x90 , eStatusNibble_KeyPressure = 0xA0 , eStatusNibble_ControlChange = 0xB0 , eStatusNibble_ChannelMode = 0xB0 , eStatusNibble_ProgramChange = 0xC0 , eStatusNibble_ChannelPressure = 0xD0 , eStatusNibble_PitchBend = 0xE0 , eStatusNibble_SystemCommon = 0xF0 , eStatusNibble_SystemRealTime = 0xF0 }
| Values for the status nibble in a MIDI packet. More...
enum | EStatusByte { eStatusByte_SysExBegin = 0xF0 , eStatusByte_MTCQuarterFrame = 0xF1 , eStatusByte_SongPosition = 0xF2 , eStatusByte_SongSelect = 0xF3 , eStatusByte_TuneRequest = 0xF6 , eStatusByte_SysExEnd = 0xF7 , eStatusByte_TimingClock = 0xF8 , eStatusByte_Start = 0xFA , eStatusByte_Continue = 0xFB , eStatusByte_Stop = 0xFC , eStatusByte_ActiveSensing = 0xFE , eStatusByte_Reset = 0xFF }
| Values for the status byte in a MIDI packet. More...
enum | EChannelModeData { eChannelModeData_AllSoundOff = 120 , eChannelModeData_ResetControllers = 121 , eChannelModeData_LocalControl = 122 , eChannelModeData_AllNotesOff = 123 , eChannelModeData_OmniOff = 124 , eChannelModeData_OmniOn = 125 , eChannelModeData_PolyOff = 126 , eChannelModeData_PolyOn = 127 }
| Values for the first data byte in a Channel Mode Message MIDI packet. More...
enum | ESpecialData { eSpecialData_AccentedClick = 0x00 , eSpecialData_UnaccentedClick = 0x01 }
| Special message data for the first data byte in a message. More...
enum | ESampleRates { e44100SampleRate = 44100 , e48000SampleRate = 48000 , e88200SampleRate = 88200 , e96000SampleRate = 96000 , e176400SampleRate = 176400 , e192000SampleRate = 192000 }

## Functions
std::string | AsString (const char *inStr)
const std::string & | AsString (const std::string &inStr)
const std::string & | AsString (const Exception::Any &inStr)
bool | IsNoteOn (const AAX_CMidiPacket *inPacket)
| Returns true if `inPacket` is a Note On message.
bool | IsNoteOff (const AAX_CMidiPacket *inPacket)
| Returns true if `inPacket` is a Note Off message, or a Note On message with velocity zero.
bool | IsAllNotesOff (const AAX_CMidiPacket *inPacket)
| Returns true if `inPacket` is an All Sound Off or All Notes Off message.
bool | IsAccentedClick (const AAX_CMidiPacket *inPacket)
| Returns true if `inPacket` is a special Pro Tools accented click message.
bool | IsUnaccentedClick (const AAX_CMidiPacket *inPacket)
| Returns true if `inPacket` is a special Pro Tools unaccented click message.
bool | IsClick (const AAX_CMidiPacket *inPacket)
| Returns true if `inPacket` is a special Pro Tools click message.
template<class T1 , class T2 >
bool | PageTableParameterMappingsAreEqual (const T1 &inL, const T2 &inR)
template<class T1 , class T2 >
bool | PageTableParameterNameVariationsAreEqual (const T1 &inL, const T2 &inR)
template<class T1 , class T2 >
bool | PageTablesAreEqual (const T1 &inL, const T2 &inR)
template<class T >
void | CopyPageTable (T &to, const T &from)
template<class T >
std::vector< std::pair< int32_t, int32_t > > | FindParameterMappingsInPageTable (const T &inTable, AAX_CParamID inParameterID)
template<class T >
void | ClearMappedParameterByID (T &ioTable, AAX_CParamID inParameterID)
void | GetCStringOfLength (char *stringOut, const char *stringIn, int32_t aMaxChars)
| ==============================================================
int32_t | Caseless_strcmp (const char *cs, const char *ct)
std::string | Binary2String (uint32_t binaryValue, int32_t numBits)
uint32_t | String2Binary (const AAX_IString &s)
bool | IsASCII (char inChar)
bool | IsFourCharASCII (uint32_t inFourChar)
std::string | AsStringFourChar (uint32_t inFourChar)
std::string | AsStringPropertyValue (AAX_EProperty inProperty, AAX_CPropertyValue inPropertyValue)
std::string | AsStringInt32 (int32_t inInt32)
std::string | AsStringUInt32 (uint32_t inUInt32)
std::string | AsStringIDTriad (const AAX_SPlugInIdentifierTriad &inIDTriad)
std::string | AsStringStemFormat (AAX_EStemFormat inStemFormat, bool inAbbreviate=false)
std::string | AsStringStemChannel (AAX_EStemFormat inStemFormat, uint32_t inChannelIndex, bool inAbbreviate)
std::string | AsStringResult (AAX_Result inResult)
std::string | AsStringSupportLevel (AAX_ESupportLevel inSupportLevel)
double | SafeLog (double aValue)
| Double-precision safe log function. Returns zero for input values that are <= 0.0.
float | SafeLogf (float aValue)
| Single-precision safe log function. Returns zero for input values that are <= 0.0.
AAX_CBoolean | IsParameterIDEqual (AAX_CParamID iParam1, AAX_CParamID iParam2)
| Helper function to check if two parameter IDs are equivalent.
AAX_CBoolean | IsEffectIDEqual (const AAX_IString *iEffectID1, const AAX_IString *iEffectID2)
| Helper function to check if two Effect IDs are equivalent.
AAX_CBoolean | IsAvidNotification (AAX_CTypeID inNotificationID)
| Helper function to check if a notification ID is reserved for host notifications.
void | alignFree (void *p)
template<class T >
T * | alignMalloc (int iArraySize, int iAlignment)
void | DeDenormal (double &iValue)
| Clamps very small floating point values to zero.
void | DeDenormal (float &iValue)
| Clamps very small floating point values to zero.
void | DeDenormalFine (float &iValue)
void | FilterDenormals (float *inSamples, int32_t inLength)
| Round all denormal/subnormal samples in a buffer to zero.
template<class GFLOAT >
GFLOAT | ClampToZero (GFLOAT iValue, GFLOAT iClampThreshold)
void | ZeroMemorySW (void *iPointer, int iNumBytes)
void | ZeroMemoryDW (void *iPointer, int iNumBytes)
template<typename T , int N>
void | Fill (T *iArray, const T *iVal)
template<typename T , int M, int N>
void | Fill (T *iArray, const T *iVal)
template<typename T , int L, int M, int N>
void | Fill (T *iArray, const T *iVal)
double | fabs (double iVal)
float | fabs (float iVal)
float | fabsf (float iVal)
template<class T >
T | AbsMax (const T &iValue, const T &iMax)
template<class T >
T | MinMax (const T &iValue, const T &iMin, const T &iMax)
template<class T >
T | Max (const T &iValue1, const T &iValue2)
template<class T >
T | Min (const T &iValue1, const T &iValue2)
template<class T >
T | Sign (const T &iValue)
double | PolyEval (double x, const double *coefs, int numCoefs)
double | CeilLog2 (double iValue)
void | SinCosMix (float aLinearMix, float &aSinMix, float &aCosMix)
int32_t | FastRound2Int32 (double iVal)
| Round to Int32.
int32_t | FastRound2Int32 (float iVal)
| Round to Int32.
int32_t | FastRndDbl2Int32 (double iVal)
int32_t | FastTrunc2Int32 (double iVal)
| Float to Int conversion with truncation.
int32_t | FastTrunc2Int32 (float iVal)
| Float to Int conversion with truncation.
int64_t | FastRound2Int64 (double iVal)
| Round to Int64.
int32_t | GetInt32RPDF (int32_t *iSeed)
int32_t | GetFastInt32RPDF (int32_t *iSeed)
| CALL: Calculate pseudo-random 32 bit number based on linear congruential method.
float | GetRPDFWithAmplitudeOneHalf (int32_t *iSeed)
float | GetRPDFWithAmplitudeOne (int32_t *iSeed)
float | GetFastRPDFWithAmplitudeOne (int32_t *iSeed)
float | GetTPDFWithAmplitudeOne (int32_t *iSeed)
MIDI logging utilities
void | AsStringMIDIStream_Debug (const AAX_CMidiStream &inStream, char *outBuffer, int32_t inBufferSize)
Filesystem utilities
bool | GetPathToPlugInBundle (const char *iBundleName, int iMaxLength, char *oModuleName)
| Retrieve the file path of the .aaxplugin bundle.

## Variables
const int | cBigEndian =0
const int | cLittleEndian =1
const double | cPi = 3.1415926535897932384626433832795
const double | cTwoPi = 6.2831853071795862319959269370884
const double | cHalfPi = 1.5707963267948965579989817342721
const double | cQuarterPi = 0.78539816339744827899949086713605
const double | cRootTwo = 1.4142135623730950488016887242097
const double | cOneOverRootTwo = 0.70710678118654752440084436210485
const double | cPos3dB =1.4142135623730950488016887242097
const double | cNeg3dB =0.70710678118654752440084436210485
const double | cPos6dB =2.0
const double | cNeg6dB =0.5
const double | cNormalizeLongToAmplitudeOneHalf = 0.00000000023283064365386962890625
const double | cNormalizeLongToAmplitudeOne = 1.0/double(1<<31)
const double | cMilli =0.001
const double | cMicro =0.001*0.001
const double | cNano =0.001*0.001*0.001
const double | cPico =0.001*0.001*0.001*0.001
const double | cKilo =1000.0
const double | cMega =1000.0*1000.0
const double | cGiga =1000.0*1000.0*1000.0
const double | cDenormalAvoidanceOffset =3.0e-34
const float | cFloatDenormalAvoidanceOffset =3.0e-20f
const unsigned int | kPowExtent = 9
const unsigned int | kPowTableSize = 1 << kPowExtent
const float | cSeedDivisor = 1/127773.0f
const int32_t | cInitialSeedValue =0x00F54321

## Enumeration Type Documentation

## ◆ EStatusNibble

enum AAX::EStatusNibble

Values for the status nibble in a MIDI packet.

Enumerator
eStatusNibble_NoteOff |
eStatusNibble_NoteOn |
eStatusNibble_KeyPressure |
eStatusNibble_ControlChange |
eStatusNibble_ChannelMode |
eStatusNibble_ProgramChange |
eStatusNibble_ChannelPressure |
eStatusNibble_PitchBend |
eStatusNibble_SystemCommon |
eStatusNibble_SystemRealTime |

## ◆ EStatusByte

enum AAX::EStatusByte

Values for the status byte in a MIDI packet.

Enumerator
eStatusByte_SysExBegin |
eStatusByte_MTCQuarterFrame |
eStatusByte_SongPosition |
eStatusByte_SongSelect |
eStatusByte_TuneRequest |
eStatusByte_SysExEnd |
eStatusByte_TimingClock |
eStatusByte_Start |
eStatusByte_Continue |
eStatusByte_Stop |
eStatusByte_ActiveSensing |
eStatusByte_Reset |

## ◆ EChannelModeData

enum AAX::EChannelModeData

Values for the first data byte in a Channel Mode Message MIDI packet.

Enumerator
eChannelModeData_AllSoundOff |
eChannelModeData_ResetControllers |
eChannelModeData_LocalControl |
eChannelModeData_AllNotesOff |
eChannelModeData_OmniOff |
eChannelModeData_OmniOn |
eChannelModeData_PolyOff |
eChannelModeData_PolyOn |

## ◆ ESpecialData

enum AAX::ESpecialData

Special message data for the first data byte in a message.

Enumerator
eSpecialData_AccentedClick | For use when the high status nibble is eStatusNibble_NoteOn and the low status nibble is zero.
eSpecialData_UnaccentedClick | For use when the high status nibble is eStatusNibble_NoteOn and the low status nibble is zero.

## ◆ ESampleRates

enum AAX::ESampleRates

Enumerator
e44100SampleRate |
e48000SampleRate |
e88200SampleRate |
e96000SampleRate |
e176400SampleRate |
e192000SampleRate |

## Function Documentation

## ◆ AsString() [1/3]

std::string AAX::AsString | ( | const char * | inStr | ) |
| inline

Generic conversion of a string-like object to a std::string

## ◆ AsString() [2/3]

const std::string & AAX::AsString | ( | const std::string & | inStr | ) |
| inline

Generic conversion of a string-like object to a std::string

## ◆ AsString() [3/3]

const std::string & AAX::AsString | ( | const Exception::Any & | inStr | ) |
| inline

Generic conversion of a string-like object to a std::string

References AAX::Exception::Any::What().

Here is the call graph for this function:

## ◆ IsNoteOn()

bool AAX::IsNoteOn | ( | const AAX_CMidiPacket * | inPacket | ) |
| inline

Returns true if `inPacket` is a Note On message.

References eStatusNibble_NoteOn, and AAX_CMidiPacket::mData.

## ◆ IsNoteOff()

bool AAX::IsNoteOff | ( | const AAX_CMidiPacket * | inPacket | ) |
| inline

Returns true if `inPacket` is a Note Off message, or a Note On message with velocity zero.

References eStatusNibble_NoteOff, eStatusNibble_NoteOn, and AAX_CMidiPacket::mData.

## ◆ IsAllNotesOff()

bool AAX::IsAllNotesOff | ( | const AAX_CMidiPacket * | inPacket | ) |
| inline

Returns true if `inPacket` is an All Sound Off or All Notes Off message.

References eChannelModeData_AllNotesOff, eChannelModeData_AllSoundOff, eChannelModeData_OmniOff, eChannelModeData_OmniOn, eChannelModeData_PolyOff, eChannelModeData_PolyOn, eStatusNibble_ChannelMode, and AAX_CMidiPacket::mData.

## ◆ IsAccentedClick()

bool AAX::IsAccentedClick | ( | const AAX_CMidiPacket * | inPacket | ) |
| inline

Returns true if `inPacket` is a special Pro Tools accented click message.

References eSpecialData_AccentedClick, eStatusNibble_NoteOn, and AAX_CMidiPacket::mData.

Referenced by IsClick().

Here is the caller graph for this function:

## ◆ IsUnaccentedClick()

bool AAX::IsUnaccentedClick | ( | const AAX_CMidiPacket * | inPacket | ) |
| inline

Returns true if `inPacket` is a special Pro Tools unaccented click message.

References eSpecialData_UnaccentedClick, eStatusNibble_NoteOn, and AAX_CMidiPacket::mData.

Referenced by IsClick().

Here is the caller graph for this function:

## ◆ IsClick()

bool AAX::IsClick | ( | const AAX_CMidiPacket * | inPacket | ) |
| inline

Returns true if `inPacket` is a special Pro Tools click message.

References IsAccentedClick(), and IsUnaccentedClick().

Here is the call graph for this function:

## ◆ PageTableParameterMappingsAreEqual()

template<class T1 , class T2 >

bool AAX::PageTableParameterMappingsAreEqual | ( | const T1 & | inL,
|  | const T2 & | inR
| ) |  |
| inline

Compare the parameter mappings in two page tables

`T1` and `T2:` Page table class types (e.g. AAX_IACFPageTable, AAX_IPageTable)

References AAX_SUCCESS.

Referenced by PageTablesAreEqual().

Here is the caller graph for this function:

## ◆ PageTableParameterNameVariationsAreEqual()

template<class T1 , class T2 >

bool AAX::PageTableParameterNameVariationsAreEqual | ( | const T1 & | inL,
|  | const T2 & | inR
| ) |  |
| inline

References AAX_SUCCESS, and AAX_CString::Get().

Referenced by PageTablesAreEqual().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ PageTablesAreEqual()

template<class T1 , class T2 >

bool AAX::PageTablesAreEqual | ( | const T1 & | inL,
|  | const T2 & | inR
| ) |  |
| inline

References PageTableParameterMappingsAreEqual(), and PageTableParameterNameVariationsAreEqual().

Here is the call graph for this function:

## ◆ CopyPageTable()

template<class T >

void AAX::CopyPageTable | ( | T & | to,
|  | const T & | from
| ) |  |
| inline

Copy a page table

`T:` A page table class type (e.g. AAX_IACFPageTable, AAX_IPageTable)

References AAX_SUCCESS, AAX_CString::CString(), and AAX_CString::Get().

Here is the call graph for this function:

## ◆ FindParameterMappingsInPageTable()

template<class T >

std::vector< std::pair< int32_t, int32_t > > AAX::FindParameterMappingsInPageTable | ( | const T & | inTable,
|  | AAX_CParamID | inParameterID
| ) |  |
| inline

Find all slots where a particular parameter is mapped

`T:` A page table class type (e.g. AAX_IACFPageTable, AAX_IPageTable)

Returns
  A vector of pairs of [page index, slot index] each representing a single mapping of the parameter

References AAX_SUCCESS.

Referenced by ClearMappedParameterByID().

Here is the caller graph for this function:

## ◆ ClearMappedParameterByID()

template<class T >

void AAX::ClearMappedParameterByID | ( | T & | ioTable,
|  | AAX_CParamID | inParameterID
| ) |  |
| inline

Remove all mappings of a particular from a page table

`T:` A page table class type (e.g. AAX_IACFPageTable, AAX_IPageTable)

References FindParameterMappingsInPageTable().

Here is the call graph for this function:

## ◆ GetCStringOfLength()

void AAX::GetCStringOfLength | ( | char * | stringOut,
|  | const char * | stringIn,
|  | int32_t | aMaxChars
| ) |  |
| inline

==============================================================

References AAX_ASSERT.

## ◆ Caseless_strcmp()

int32_t AAX::Caseless_strcmp | ( | const char * | cs,
|  | const char * | ct
| ) |  |
| inline

## ◆ Binary2String()

std::string AAX::Binary2String | ( | uint32_t | binaryValue,
|  | int32_t | numBits
| ) |  |
| inline

Referenced by AsStringPropertyValue().

Here is the caller graph for this function:

## ◆ String2Binary()

uint32_t AAX::String2Binary | ( | const AAX_IString & | s | ) |
| inline

References AAX_ASSERT, AAX_IString::Get(), and AAX_IString::Length().

Here is the call graph for this function:

## ◆ IsASCII()

bool AAX::IsASCII | ( | char | inChar | ) |
| inline

Referenced by AsStringFourChar(), and IsFourCharASCII().

Here is the caller graph for this function:

## ◆ IsFourCharASCII()

bool AAX::IsFourCharASCII | ( | uint32_t | inFourChar | ) |
| inline

References IsASCII().

Referenced by AsStringPropertyValue().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ AsStringFourChar()

std::string AAX::AsStringFourChar | ( | uint32_t | inFourChar | ) |
| inline

References AAX_CONSTEXPR, and IsASCII().

Referenced by AsStringIDTriad(), and AsStringPropertyValue().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ AsStringPropertyValue()

std::string AAX::AsStringPropertyValue | ( | AAX_EProperty | inProperty,
|  | AAX_CPropertyValue | inPropertyValue
| ) |  |
| inline

References AAX_CONSTEXPR, AAX_eProperty_Constraint_Location, AAX_eProperty_SampleRate, AsStringFourChar(), Binary2String(), and IsFourCharASCII().

Here is the call graph for this function:

## ◆ AsStringInt32()

std::string AAX::AsStringInt32 | ( | int32_t | inInt32 | ) |
| inline

Referenced by AAX::Exception::ResultError::FormatResult().

Here is the caller graph for this function:

## ◆ AsStringUInt32()

std::string AAX::AsStringUInt32 | ( | uint32_t | inUInt32 | ) |
| inline

## ◆ AsStringIDTriad()

std::string AAX::AsStringIDTriad | ( | const AAX_SPlugInIdentifierTriad & | inIDTriad | ) |
| inline

References AsStringFourChar(), AAX_SPlugInIdentifierTriad::mManufacturerID, AAX_SPlugInIdentifierTriad::mPlugInID, and AAX_SPlugInIdentifierTriad::mProductID.

Here is the call graph for this function:

## ◆ AsStringStemFormat()

std::string AAX::AsStringStemFormat | ( | AAX_EStemFormat | inStemFormat,
|  | bool | inAbbreviate = `false`
| ) |  |
| inline

References AAX_eStemFormat_5_0, AAX_eStemFormat_5_0_2, AAX_eStemFormat_5_0_4, AAX_eStemFormat_5_1, AAX_eStemFormat_5_1_2, AAX_eStemFormat_5_1_4, AAX_eStemFormat_6_0, AAX_eStemFormat_6_1, AAX_eStemFormat_7_0_2, AAX_eStemFormat_7_0_4, AAX_eStemFormat_7_0_6, AAX_eStemFormat_7_0_DTS, AAX_eStemFormat_7_0_SDDS, AAX_eStemFormat_7_1_2, AAX_eStemFormat_7_1_4, AAX_eStemFormat_7_1_6, AAX_eStemFormat_7_1_DTS, AAX_eStemFormat_7_1_SDDS, AAX_eStemFormat_9_0_4, AAX_eStemFormat_9_0_6, AAX_eStemFormat_9_1_4, AAX_eStemFormat_9_1_6, AAX_eStemFormat_Ambi_1_ACN, AAX_eStemFormat_Ambi_2_ACN, AAX_eStemFormat_Ambi_3_ACN, AAX_eStemFormat_Ambi_4_ACN, AAX_eStemFormat_Ambi_5_ACN, AAX_eStemFormat_Ambi_6_ACN, AAX_eStemFormat_Ambi_7_ACN, AAX_eStemFormat_Any, AAX_eStemFormat_INT32_MAX, AAX_eStemFormat_LCR, AAX_eStemFormat_LCRS, AAX_eStemFormat_Mono, AAX_eStemFormat_None, AAX_eStemFormat_Quad, AAX_eStemFormat_Stereo, and AAX_eStemFormatNum.

## ◆ AsStringStemChannel()

std::string AAX::AsStringStemChannel | ( | AAX_EStemFormat | inStemFormat,
|  | uint32_t | inChannelIndex,
|  | bool | inAbbreviate
| ) |  |
| inline

References AAX_eStemFormat_5_0, AAX_eStemFormat_5_0_2, AAX_eStemFormat_5_0_4, AAX_eStemFormat_5_1, AAX_eStemFormat_5_1_2, AAX_eStemFormat_5_1_4, AAX_eStemFormat_6_0, AAX_eStemFormat_6_1, AAX_eStemFormat_7_0_2, AAX_eStemFormat_7_0_4, AAX_eStemFormat_7_0_6, AAX_eStemFormat_7_0_DTS, AAX_eStemFormat_7_0_SDDS, AAX_eStemFormat_7_1_2, AAX_eStemFormat_7_1_4, AAX_eStemFormat_7_1_6, AAX_eStemFormat_7_1_DTS, AAX_eStemFormat_7_1_SDDS, AAX_eStemFormat_9_0_4, AAX_eStemFormat_9_0_6, AAX_eStemFormat_9_1_4, AAX_eStemFormat_9_1_6, AAX_eStemFormat_Ambi_1_ACN, AAX_eStemFormat_Ambi_2_ACN, AAX_eStemFormat_Ambi_3_ACN, AAX_eStemFormat_Ambi_4_ACN, AAX_eStemFormat_Ambi_5_ACN, AAX_eStemFormat_Ambi_6_ACN, AAX_eStemFormat_Ambi_7_ACN, AAX_eStemFormat_Any, AAX_eStemFormat_INT32_MAX, AAX_eStemFormat_LCR, AAX_eStemFormat_LCRS, AAX_eStemFormat_Mono, AAX_eStemFormat_None, AAX_eStemFormat_Quad, AAX_eStemFormat_Stereo, and AAX_eStemFormatNum.

## ◆ AsStringResult()

std::string AAX::AsStringResult | ( | AAX_Result | inResult | ) |
| inline

References AAX_ERROR_ACF_ERROR, AAX_ERROR_ARGUMENT_BUFFER_OVERFLOW, AAX_ERROR_CONTEXT_ALREADY_HAS_METERS, AAX_ERROR_DIRECT_ACCESS_OUT_OF_BOUNDS, AAX_ERROR_DUPLICATE_EFFECT_ID, AAX_ERROR_DUPLICATE_TYPE_ID, AAX_ERROR_EMPTY_EFFECT_NAME, AAX_ERROR_FIELD_TYPE_DOES_NOT_SUPPORT_DIRECT_ACCESS, AAX_ERROR_FIFO_FULL, AAX_ERROR_INCORRECT_CHUNK_SIZE, AAX_ERROR_INITIALIZING_PACKET_STREAM_THREAD, AAX_ERROR_INVALID_ARGUMENT, AAX_ERROR_INVALID_CHUNK_ID, AAX_ERROR_INVALID_CHUNK_INDEX, AAX_ERROR_INVALID_FIELD_INDEX, AAX_ERROR_INVALID_INTERNAL_DATA, AAX_ERROR_INVALID_METER_INDEX, AAX_ERROR_INVALID_METER_TYPE, AAX_ERROR_INVALID_PARAMETER_ID, AAX_ERROR_INVALID_PARAMETER_INDEX, AAX_ERROR_INVALID_PATH, AAX_ERROR_INVALID_STRING_CONVERSION, AAX_ERROR_INVALID_VIEW_SIZE, AAX_ERROR_MALFORMED_CHUNK, AAX_ERROR_MIXER_THREAD_FALLING_BEHIND, AAX_ERROR_NO_COMPONENTS, AAX_ERROR_NOT_INITIALIZED, AAX_ERROR_NOTIFICATION_FAILED, AAX_ERROR_NULL_ARGUMENT, AAX_ERROR_NULL_COMPONENT, AAX_ERROR_NULL_OBJECT, AAX_ERROR_OLDER_VERSION, AAX_ERROR_PLUGIN_BEGIN, AAX_ERROR_PLUGIN_END, AAX_ERROR_PLUGIN_NOT_AUTHORIZED, AAX_ERROR_PLUGIN_NULL_PARAMETER, AAX_ERROR_PORT_ID_OUT_OF_RANGE, AAX_ERROR_POST_PACKET_FAILED, AAX_ERROR_PROPERTY_UNDEFINED, AAX_ERROR_SIGNED_INT_OVERFLOW, AAX_ERROR_TOD_BEHIND, AAX_ERROR_UNIMPLEMENTED, AAX_ERROR_UNKNOWN_EXCEPTION, AAX_ERROR_UNKNOWN_ID, AAX_ERROR_UNKNOWN_PLUGIN, AAX_RESULT_ADD_FIELD_UNSUPPORTED_FIELD_TYPE, AAX_RESULT_NEW_PACKET_POSTED, AAX_RESULT_PACKET_STREAM_NOT_EMPTY, AAX_SUCCESS, and DEFINE_AAX_ERROR_STRING.

Referenced by AAX::Exception::ResultError::FormatResult().

Here is the caller graph for this function:

## ◆ AsStringSupportLevel()

std::string AAX::AsStringSupportLevel | ( | AAX_ESupportLevel | inSupportLevel | ) |
| inline

References AAX_eSupportLevel_ByProperty, AAX_eSupportLevel_Disabled, AAX_eSupportLevel_Supported, AAX_eSupportLevel_Uninitialized, and AAX_eSupportLevel_Unsupported.

## ◆ SafeLog()

double AAX::SafeLog | ( | double | aValue | ) |
| inline

Double-precision safe log function. Returns zero for input values that are <= 0.0.

Referenced by AAX_CLogTaperDelegate< T, RealPrecision >::NormalizedToReal(), and AAX_CLogTaperDelegate< T, RealPrecision >::RealToNormalized().

Here is the caller graph for this function:

## ◆ SafeLogf()

float AAX::SafeLogf | ( | float | aValue | ) |
| inline

Single-precision safe log function. Returns zero for input values that are <= 0.0.

## ◆ IsParameterIDEqual()

AAX_CBoolean AAX::IsParameterIDEqual | ( | AAX_CParamID | iParam1,
|  | AAX_CParamID | iParam2
| ) |  |
| inline

Helper function to check if two parameter IDs are equivalent.

## ◆ IsEffectIDEqual()

AAX_CBoolean AAX::IsEffectIDEqual | ( | const AAX_IString * | iEffectID1,
|  | const AAX_IString * | iEffectID2
| ) |  |
| inline

Helper function to check if two Effect IDs are equivalent.

References AAX_IString::Get().

Here is the call graph for this function:

## ◆ IsAvidNotification()

AAX_CBoolean AAX::IsAvidNotification | ( | AAX_CTypeID | inNotificationID | ) |
| inline

Helper function to check if a notification ID is reserved for host notifications.

## ◆ alignFree()

void AAX::alignFree | ( | void * | p | ) |
| inline

## ◆ alignMalloc()

template<class T >

T * AAX::alignMalloc | ( | int | iArraySize,
|  | int | iAlignment
| ) |  |

## ◆ DeDenormal() [1/2]

void AAX::DeDenormal | ( | double & | iValue | ) |
| inline

Clamps very small floating point values to zero.

On Pentiums and Pentium IIs the generation of denormal floats causes enormous performance losses. This routine removes denormals by clamping very small values to zero. The clamping threshold is very small, but is not the absolute minimum. If absolute minimum clamping is desired, use AAX::DeDenormalFine()

References cDenormalAvoidanceOffset.

## ◆ DeDenormal() [2/2]

void AAX::DeDenormal | ( | float & | iValue | ) |
| inline

Clamps very small floating point values to zero.

On Pentiums and Pentium IIs the generation of denormal floats causes enormous performance losses. This routine removes denormals by clamping very small values to zero. The clamping threshold is very small, but is not the absolute minimum. If absolute minimum clamping is desired, use AAX::DeDenormalFine()

References cFloatDenormalAvoidanceOffset.

## ◆ DeDenormalFine()

void AAX::DeDenormalFine | ( | float & | iValue | ) |
| inline

Similar to AAX::DeDenormal(), but uses the minimum possible normal float value as the clamping threshold

## ◆ FilterDenormals()

void AAX::FilterDenormals | ( | float * | inSamples,
|  | int32_t | inLength
| ) |  |
| inline

Round all denormal/subnormal samples in a buffer to zero.

Parameters

  [in] | inSamples | Samples to convert
  [in] | inLength | Number of samples in inSamples

References fabsf().

Here is the call graph for this function:

## ◆ ClampToZero()

template<class GFLOAT >

GFLOAT AAX::ClampToZero | ( | GFLOAT | iValue,
|  | GFLOAT | iClampThreshold
| ) |  |
| inline

## ◆ ZeroMemorySW()

void AAX::ZeroMemorySW | ( | void * | iPointer,
|  | int | iNumBytes
| ) |  |
| inline

## ◆ ZeroMemoryDW()

void AAX::ZeroMemoryDW | ( | void * | iPointer,
|  | int | iNumBytes
| ) |  |
| inline

## ◆ Fill() [1/3]

template<typename T , int N>

void AAX::Fill | ( | T * | iArray,
|  | const T * | iVal
| ) |  |

Referenced by Fill().

Here is the caller graph for this function:

## ◆ Fill() [2/3]

template<typename T , int M, int N>

void AAX::Fill | ( | T * | iArray,
|  | const T * | iVal
| ) |  |
| inline

References Fill().

Here is the call graph for this function:

## ◆ Fill() [3/3]

template<typename T , int L, int M, int N>

void AAX::Fill | ( | T * | iArray,
|  | const T * | iVal
| ) |  |
| inline

References Fill().

Here is the call graph for this function:

## ◆ fabs() [1/2]

double AAX::fabs | ( | double | iVal | ) |
| inline

Referenced by fabsf().

Here is the caller graph for this function:

## ◆ fabs() [2/2]

float AAX::fabs | ( | float | iVal | ) |
| inline

## ◆ fabsf()

float AAX::fabsf | ( | float | iVal | ) |
| inline

References fabs().

Referenced by FilterDenormals().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ AbsMax()

template<class T >

T AAX::AbsMax | ( | const T & | iValue,
|  | const T & | iMax
| ) |  |
| inline

## ◆ MinMax()

template<class T >

T AAX::MinMax | ( | const T & | iValue,
|  | const T & | iMin,
|  | const T & | iMax
| ) |  |
| inline

## ◆ Max()

template<class T >

T AAX::Max | ( | const T & | iValue1,
|  | const T & | iValue2
| ) |  |
| inline

## ◆ Min()

template<class T >

T AAX::Min | ( | const T & | iValue1,
|  | const T & | iValue2
| ) |  |
| inline

## ◆ Sign()

template<class T >

T AAX::Sign | ( | const T & | iValue | ) |
| inline

## ◆ PolyEval()

double AAX::PolyEval | ( | double | x,
|  | const double * | coefs,
|  | int | numCoefs
| ) |  |
| inline

## ◆ CeilLog2()

double AAX::CeilLog2 | ( | double | iValue | ) |
| inline

## ◆ SinCosMix()

void AAX::SinCosMix | ( | float | aLinearMix,
|  | float & | aSinMix,
|  | float & | aCosMix
| ) |  |
| inline

References cHalfPi.

## ◆ FastRound2Int32() [1/2]

int32_t AAX::FastRound2Int32 | ( | double | iVal | ) |
| inline

Round to Int32.

Parameters

  [in] | iVal | Value to convert

Referenced by FastRndDbl2Int32(), FastRound2Int32(), and FastTrunc2Int32().

Here is the caller graph for this function:

## ◆ FastRound2Int32() [2/2]

int32_t AAX::FastRound2Int32 | ( | float | iVal | ) |
| inline

Round to Int32.

Parameters

  [in] | iVal | Value to convert

References FastRound2Int32().

Here is the call graph for this function:

## ◆ FastRndDbl2Int32()

int32_t AAX::FastRndDbl2Int32 | ( | double | iVal | ) |
| inline

Deprecated:

References FastRound2Int32().

Here is the call graph for this function:

## ◆ FastTrunc2Int32() [1/2]

int32_t AAX::FastTrunc2Int32 | ( | double | iVal | ) |
| inline

Float to Int conversion with truncation.

Parameters

  [in] | iVal | Value to convert

Note
  This truncation is NOT identical to C style casting. Because the Intel (and I would assume PowerPC) processors use convergent rounding by default, exactly whole odd numbers will truncate down by 1.0 (e.g. 0.0->0, 1.0->0, 2.0->2, 3.0->2). Surprisingly, even with these limitations this fast float to int conversion is often very useful in practice, as long as one is aware of these issues.

References FastRound2Int32().

Referenced by AAX_FastInterpolatedTableLookup< TFLOAT, DFLOAT >::DoTableLookupExtraFast(), and AAX_FastInterpolatedTableLookup< TFLOAT, DFLOAT >::DoTableLookupExtraFastMulti().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ FastTrunc2Int32() [2/2]

int32_t AAX::FastTrunc2Int32 | ( | float | iVal | ) |
| inline

Float to Int conversion with truncation.

Parameters

  [in] | iVal | Value to convert

## ◆ FastRound2Int64()

int64_t AAX::FastRound2Int64 | ( | double | iVal | ) |
| inline

Round to Int64.

Taken from Paul V's implementation in Sys_VecUtils. This only works on values smaller than 2^52.

Parameters

  [in] | iVal | Value to convert

## ◆ GetInt32RPDF()

int32_t AAX::GetInt32RPDF | ( | int32_t * | iSeed | ) |
| inline

References cSeedDivisor.

Referenced by GetRPDFWithAmplitudeOne(), and GetRPDFWithAmplitudeOneHalf().

Here is the caller graph for this function:

## ◆ GetFastInt32RPDF()

int32_t AAX::GetFastInt32RPDF | ( | int32_t * | iSeed | ) |
| inline

CALL: Calculate pseudo-random 32 bit number based on linear congruential method.

This is required if you want our master bypass functionality in the host to hook up to your bypass parameters.

Parameters

  [in] | iSeed | Seed for random generator

Note
  This method produces lower quality random numbers (i.e. less random) than plain old GetInt32RPDF, but in many cases it should be plenty good.

Referenced by GetFastRPDFWithAmplitudeOne(), and GetTPDFWithAmplitudeOne().

Here is the caller graph for this function:

## ◆ GetRPDFWithAmplitudeOneHalf()

float AAX::GetRPDFWithAmplitudeOneHalf | ( | int32_t * | iSeed | ) |
| inline

References cNormalizeLongToAmplitudeOneHalf, and GetInt32RPDF().

Here is the call graph for this function:

## ◆ GetRPDFWithAmplitudeOne()

float AAX::GetRPDFWithAmplitudeOne | ( | int32_t * | iSeed | ) |
| inline

References cNormalizeLongToAmplitudeOne, and GetInt32RPDF().

Here is the call graph for this function:

## ◆ GetFastRPDFWithAmplitudeOne()

float AAX::GetFastRPDFWithAmplitudeOne | ( | int32_t * | iSeed | ) |
| inline

References cNormalizeLongToAmplitudeOne, and GetFastInt32RPDF().

Here is the call graph for this function:

## ◆ GetTPDFWithAmplitudeOne()

float AAX::GetTPDFWithAmplitudeOne | ( | int32_t * | iSeed | ) |
| inline

References cNormalizeLongToAmplitudeOne, and GetFastInt32RPDF().

Here is the call graph for this function:

## Variable Documentation

## ◆ cBigEndian

const int AAX::cBigEndian =0

## ◆ cLittleEndian

const int AAX::cLittleEndian =1

## ◆ cPi

const double AAX::cPi = 3.1415926535897932384626433832795

## ◆ cTwoPi

const double AAX::cTwoPi = 6.2831853071795862319959269370884

## ◆ cHalfPi

const double AAX::cHalfPi = 1.5707963267948965579989817342721

Referenced by SinCosMix().

## ◆ cQuarterPi

const double AAX::cQuarterPi = 0.78539816339744827899949086713605

## ◆ cRootTwo

const double AAX::cRootTwo = 1.4142135623730950488016887242097

## ◆ cOneOverRootTwo

const double AAX::cOneOverRootTwo = 0.70710678118654752440084436210485

## ◆ cPos3dB

const double AAX::cPos3dB =1.4142135623730950488016887242097

## ◆ cNeg3dB

const double AAX::cNeg3dB =0.70710678118654752440084436210485

## ◆ cPos6dB

const double AAX::cPos6dB =2.0

## ◆ cNeg6dB

const double AAX::cNeg6dB =0.5

## ◆ cNormalizeLongToAmplitudeOneHalf

const double AAX::cNormalizeLongToAmplitudeOneHalf = 0.00000000023283064365386962890625

Referenced by GetRPDFWithAmplitudeOneHalf().

## ◆ cNormalizeLongToAmplitudeOne

const double AAX::cNormalizeLongToAmplitudeOne = 1.0/double(1<<31)

Referenced by GetFastRPDFWithAmplitudeOne(), GetRPDFWithAmplitudeOne(), and GetTPDFWithAmplitudeOne().

## ◆ cMilli

const double AAX::cMilli =0.001

## ◆ cMicro

const double AAX::cMicro =0.001*0.001

## ◆ cNano

const double AAX::cNano =0.001*0.001*0.001

## ◆ cPico

const double AAX::cPico =0.001*0.001*0.001*0.001

## ◆ cKilo

const double AAX::cKilo =1000.0

## ◆ cMega

const double AAX::cMega =1000.0*1000.0

## ◆ cGiga

const double AAX::cGiga =1000.0*1000.0*1000.0

## ◆ cDenormalAvoidanceOffset

const double AAX::cDenormalAvoidanceOffset =3.0e-34

Referenced by DeDenormal().

## ◆ cFloatDenormalAvoidanceOffset

const float AAX::cFloatDenormalAvoidanceOffset =3.0e-20f

Referenced by DeDenormal().

## ◆ kPowExtent

const unsigned int AAX::kPowExtent = 9

## ◆ kPowTableSize

const unsigned int AAX::kPowTableSize = 1 << kPowExtent

## ◆ cSeedDivisor

const float AAX::cSeedDivisor = 1/127773.0f

Referenced by GetInt32RPDF().

## ◆ cInitialSeedValue

const int32_t AAX::cInitialSeedValue =0x00F54321