![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
Namespaces | |
Exception | |
AAX exception classes | |
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. More... | |
bool | IsNoteOff (const AAX_CMidiPacket *inPacket) |
Returns true if inPacket is a Note Off message, or a Note On message with velocity zero. More... | |
bool | IsAllNotesOff (const AAX_CMidiPacket *inPacket) |
Returns true if inPacket is an All Sound Off or All Notes Off message. More... | |
bool | IsAccentedClick (const AAX_CMidiPacket *inPacket) |
Returns true if inPacket is a special Pro Tools accented click message. More... | |
bool | IsUnaccentedClick (const AAX_CMidiPacket *inPacket) |
Returns true if inPacket is a special Pro Tools unaccented click message. More... | |
bool | IsClick (const AAX_CMidiPacket *inPacket) |
Returns true if inPacket is a special Pro Tools click message. More... | |
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) |
============================================================== More... | |
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) |
double | SafeLog (double aValue) |
Double-precision safe log function. Returns zero for input values that are <= 0.0. More... | |
float | SafeLogf (float aValue) |
Single-precision safe log function. Returns zero for input values that are <= 0.0. More... | |
AAX_CBoolean | IsParameterIDEqual (AAX_CParamID iParam1, AAX_CParamID iParam2) |
Helper function to check if two parameter IDs are equivalent. More... | |
AAX_CBoolean | IsEffectIDEqual (const AAX_IString *iEffectID1, const AAX_IString *iEffectID2) |
Helper function to check if two Effect IDs are equivalent. More... | |
AAX_CBoolean | IsAvidNotification (AAX_CTypeID inNotificationID) |
Helper function to check if a notification ID is reserved for host notifications. More... | |
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. More... | |
void | DeDenormal (float &iValue) |
Clamps very small floating point values to zero. More... | |
void | DeDenormalFine (float &iValue) |
void | FilterDenormals (float *inSamples, int32_t inLength) |
Round all denormal/subnormal samples in a buffer to zero. More... | |
template<class GFLOAT > | |
GFLOAT | ClampToZero (GFLOAT iValue, GFLOAT iClampThreshold) |
void | ZeroMemory (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. More... | |
int32_t | FastRound2Int32 (float iVal) |
Round to Int32. More... | |
int32_t | FastRndDbl2Int32 (double iVal) |
int32_t | FastTrunc2Int32 (double iVal) |
Float to Int conversion with truncation. More... | |
int32_t | FastTrunc2Int32 (float iVal) |
Float to Int conversion with truncation. More... | |
int64_t | FastRound2Int64 (double iVal) |
Round to Int64. More... | |
int32_t | GetInt32RPDF (int32_t *iSeed) |
int32_t | GetFastInt32RPDF (int32_t *iSeed) |
CALL: Calculate pseudo-random 32 bit number based on linear congruential method. More... | |
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. More... | |
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 |
enum AAX::EStatusNibble |
Values for the status nibble in a MIDI packet.
enum AAX::EStatusByte |
Values for the status byte in a MIDI packet.
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. |
enum AAX::ESampleRates |
|
inline |
Generic conversion of a string-like object to a std::string
|
inline |
Generic conversion of a string-like object to a std::string
|
inline |
Generic conversion of a string-like object to a std::string
References AAX::Exception::Any::What().
|
inline |
Returns true if inPacket
is a Note On message.
References eStatusNibble_NoteOn, and AAX_CMidiPacket::mData.
|
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.
|
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.
|
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().
|
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().
|
inline |
Returns true if inPacket
is a special Pro Tools click message.
References IsAccentedClick(), and IsUnaccentedClick().
|
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().
|
inline |
References AAX_SUCCESS, and AAX_CString::Get().
Referenced by PageTablesAreEqual().
|
inline |
References PageTableParameterMappingsAreEqual(), and PageTableParameterNameVariationsAreEqual().
|
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().
|
inline |
Find all slots where a particular parameter is mapped
T:
A page table class type (e.g. AAX_IACFPageTable, AAX_IPageTable)
References AAX_SUCCESS.
Referenced by ClearMappedParameterByID().
|
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().
|
inline |
==============================================================
References AAX_ASSERT.
|
inline |
|
inline |
|
inline |
References AAX_ASSERT, AAX_IString::Get(), and AAX_IString::Length().
|
inline |
Referenced by AsStringFourChar(), and IsFourCharASCII().
|
inline |
References IsASCII().
Referenced by AsStringPropertyValue().
|
inline |
References IsASCII().
Referenced by AsStringIDTriad(), and AsStringPropertyValue().
|
inline |
References AAX_eProperty_Constraint_Location, AAX_eProperty_SampleRate, AsStringFourChar(), Binary2String(), and IsFourCharASCII().
|
inline |
Referenced by AAX::Exception::ResultError::FormatResult().
|
inline |
|
inline |
References AsStringFourChar(), AAX_SPlugInIdentifierTriad::mManufacturerID, AAX_SPlugInIdentifierTriad::mPlugInID, and AAX_SPlugInIdentifierTriad::mProductID.
|
inline |
References AAX_eStemFormat_5_0, AAX_eStemFormat_5_1, AAX_eStemFormat_6_0, AAX_eStemFormat_6_1, AAX_eStemFormat_7_0_2, AAX_eStemFormat_7_0_DTS, AAX_eStemFormat_7_0_SDDS, AAX_eStemFormat_7_1_2, AAX_eStemFormat_7_1_DTS, AAX_eStemFormat_7_1_SDDS, AAX_eStemFormat_Ambi_1_ACN, AAX_eStemFormat_Ambi_2_ACN, AAX_eStemFormat_Ambi_3_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_Reserved_1, AAX_eStemFormat_Reserved_2, AAX_eStemFormat_Reserved_3, AAX_eStemFormat_Stereo, and AAX_eStemFormatNum.
|
inline |
References AAX_eStemFormat_5_0, AAX_eStemFormat_5_1, AAX_eStemFormat_6_0, AAX_eStemFormat_6_1, AAX_eStemFormat_7_0_2, AAX_eStemFormat_7_0_DTS, AAX_eStemFormat_7_0_SDDS, AAX_eStemFormat_7_1_2, AAX_eStemFormat_7_1_DTS, AAX_eStemFormat_7_1_SDDS, AAX_eStemFormat_Ambi_1_ACN, AAX_eStemFormat_Ambi_2_ACN, AAX_eStemFormat_Ambi_3_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_Reserved_1, AAX_eStemFormat_Reserved_2, AAX_eStemFormat_Reserved_3, AAX_eStemFormat_Stereo, and AAX_eStemFormatNum.
|
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().
|
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().
|
inline |
Single-precision safe log function. Returns zero for input values that are <= 0.0.
|
inline |
Helper function to check if two parameter IDs are equivalent.
|
inline |
Helper function to check if two Effect IDs are equivalent.
References AAX_IString::Get().
|
inline |
Helper function to check if a notification ID is reserved for host notifications.
|
inline |
T* AAX::alignMalloc | ( | int | iArraySize, |
int | iAlignment | ||
) |
|
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.
|
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.
|
inline |
Similar to AAX::DeDenormal(), but uses the minimum possible normal float value as the clamping threshold
|
inline |
Round all denormal/subnormal samples in a buffer to zero.
[in] | inSamples | Samples to convert |
[in] | inLength | Number of samples in inSamples |
References fabsf().
|
inline |
|
inline |
|
inline |
void AAX::Fill | ( | T * | iArray, |
const T * | iVal | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References fabs().
Referenced by FilterDenormals(), and AAX_CUnitPrefixDisplayDelegateDecorator< T >::ValueToString().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References cHalfPi.
|
inline |
Round to Int32.
[in] | iVal | Value to convert |
Referenced by FastRndDbl2Int32(), FastRound2Int32(), and FastTrunc2Int32().
|
inline |
Round to Int32.
[in] | iVal | Value to convert |
References FastRound2Int32().
|
inline |
|
inline |
Float to Int conversion with truncation.
[in] | iVal | Value to convert |
References FastRound2Int32().
Referenced by AAX_FastInterpolatedTableLookup< TFLOAT, DFLOAT >::DoTableLookupExtraFast(), and AAX_FastInterpolatedTableLookup< TFLOAT, DFLOAT >::DoTableLookupExtraFastMulti().
|
inline |
Float to Int conversion with truncation.
[in] | iVal | Value to convert |
|
inline |
Round to Int64.
Taken from Paul V's implementation in Sys_VecUtils. This only works on values smaller than 2^52.
[in] | iVal | Value to convert |
|
inline |
References cSeedDivisor.
Referenced by GetRPDFWithAmplitudeOne(), and GetRPDFWithAmplitudeOneHalf().
|
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.
[in] | iSeed | Seed for random generator |
Referenced by GetFastRPDFWithAmplitudeOne(), and GetTPDFWithAmplitudeOne().
|
inline |
References cNormalizeLongToAmplitudeOneHalf, and GetInt32RPDF().
|
inline |
References cNormalizeLongToAmplitudeOne, and GetInt32RPDF().
|
inline |
References cNormalizeLongToAmplitudeOne, and GetFastInt32RPDF().
|
inline |
References cNormalizeLongToAmplitudeOne, and GetFastInt32RPDF().
const int AAX::cBigEndian =0 |
const int AAX::cLittleEndian =1 |
const double AAX::cPi = 3.1415926535897932384626433832795 |
const double AAX::cTwoPi = 6.2831853071795862319959269370884 |
const double AAX::cHalfPi = 1.5707963267948965579989817342721 |
Referenced by SinCosMix().
const double AAX::cQuarterPi = 0.78539816339744827899949086713605 |
const double AAX::cRootTwo = 1.4142135623730950488016887242097 |
const double AAX::cOneOverRootTwo = 0.70710678118654752440084436210485 |
const double AAX::cPos3dB =1.4142135623730950488016887242097 |
const double AAX::cNeg3dB =0.70710678118654752440084436210485 |
const double AAX::cPos6dB =2.0 |
const double AAX::cNeg6dB =0.5 |
const double AAX::cNormalizeLongToAmplitudeOneHalf = 0.00000000023283064365386962890625 |
Referenced by GetRPDFWithAmplitudeOneHalf().
const double AAX::cNormalizeLongToAmplitudeOne = 1.0/double(1<<31) |
Referenced by GetFastRPDFWithAmplitudeOne(), GetRPDFWithAmplitudeOne(), and GetTPDFWithAmplitudeOne().
const double AAX::cMilli =0.001 |
const double AAX::cMicro =0.001*0.001 |
const double AAX::cNano =0.001*0.001*0.001 |
const double AAX::cPico =0.001*0.001*0.001*0.001 |
const double AAX::cKilo =1000.0 |
const double AAX::cMega =1000.0*1000.0 |
const double AAX::cGiga =1000.0*1000.0*1000.0 |
const double AAX::cDenormalAvoidanceOffset =3.0e-34 |
Referenced by DeDenormal().
const float AAX::cFloatDenormalAvoidanceOffset =3.0e-20f |
Referenced by DeDenormal().
const unsigned int AAX::kPowExtent = 9 |
const unsigned int AAX::kPowTableSize = 1 << kPowExtent |
const float AAX::cSeedDivisor = 1/127773.0f |
Referenced by GetInt32RPDF().
const int32_t AAX::cInitialSeedValue =0x00F54321 |