![]() |
AAX SDK
2.1.1
Avid Audio Extensions Development Kit
|
#include <stdint.h>#include <stddef.h>#include "AAX_Version.h"#include "AAX_Enums.h"#include "AAX_Errors.h"#include "AAX_Properties.h"Go to the source code of this file.
Various utility definitions for AAX.
Classes | |
| struct | AAX_SPlugInChunk |
| Plug-in chunk header. More... | |
| struct | AAX_SPlugInIdentifierTriad |
| Plug-in Identifier Triad. More... | |
| struct | AAX_CMidiPacket |
| Packet structure for MIDI data. More... | |
| struct | AAX_CMidiStream |
| MIDI stream data structure used by AAX_IMIDINode. More... | |
Macros | |
| #define | _AAX_H_ |
| #define | AAX_CALLBACK |
| #define | AAX_FIELD_INDEX(aContextType, aMember) ((AAX_CFieldIndex) (offsetof (aContextType, aMember) / sizeof (void *))) |
| Compute the index used to address a context field. More... | |
Alignment macros | |
Use these macros to define struct packing alignment for data structures that will be crossed across binary boundaries. #include AAX_ALIGN_FILE_HOST
// Structure definition
#include AAX_ALIGN_FILE_RESET
| |
| #define | AAX_ALIGN_FILE_HOST "AAX_Push2ByteStructAlignment.h" |
| File to set alignment for data structures that are shared with the host. More... | |
| #define | AAX_ALIGN_FILE_ALG "AAX_Push8ByteStructAlignment.h" |
| File to set alignment for data structures that are used in the alg. More... | |
| #define | AAX_ALIGN_FILE_RESET "AAX_PopStructAlignment.h" |
| File to reset alignment back to default. More... | |
Typedefs | |
| typedef int32_t | AAX_CIndex |
| typedef AAX_CIndex | AAX_CCount |
| typedef uint8_t | AAX_CBoolean |
| Cross-compiler boolean type used by AAX interfaces. More... | |
| typedef uint32_t | AAX_CSelector |
| typedef int64_t | AAX_CTimestamp |
| Time stamp value. Measured against the DAE clock (see AAX_IComponentDescriptor::AddClock() ) More... | |
| typedef int64_t | AAX_CTimeOfDay |
| Hardware running clock value. MIDI packet time stamps are measured against this clock. This is actually the same as TransportCounter, but kept for compatibility. More... | |
| typedef int64_t | AAX_CTransportCounter |
| Offset of samples from transport start. Same as TimeOfDay, but added for new interfaces as TimeOfDay is a confusing name. More... | |
| typedef float | AAX_CSampleRate |
| Literal sample rate value used by the sample rate field. For AAX_eProperty_SampleRate, use a mask of AAX_ESampleRateMask. More... | |
| typedef uint32_t | AAX_CTypeID |
| Matches type of OSType used in classic plugins. More... | |
| typedef int32_t | AAX_Result |
| typedef int32_t | AAX_CPropertyValue |
| typedef AAX_CIndex | AAX_CFieldIndex |
| Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro) More... | |
| typedef AAX_CSelector | AAX_CComponentID |
| typedef AAX_CSelector | AAX_CMeterID |
| typedef const char * | AAX_CParamID |
| Parameter identifier. More... | |
| typedef const char * | AAX_CEffectID |
| URL-style Effect identifier. Must be unique among all registered effects in the collection. More... | |
| typedef const float *const * | AAX_CAudioInPort |
| AAX algorithm audio input port data type. More... | |
| typedef float *const * | AAX_CAudioOutPort |
| AAX algorithm audio output port data type. More... | |
| typedef float *const | AAX_CMeterPort |
| AAX algorithm meter port data type. More... | |
| typedef struct AAX_SPlugInChunk | AAX_SPlugInChunk |
| typedef struct AAX_SPlugInChunk * | AAX_SPlugInChunkPtr |
| typedef struct AAX_SPlugInIdentifierTriad | AAX_SPlugInIdentifierTriad |
| typedef struct AAX_SPlugInIdentifierTriad * | AAX_SPlugInIdentifierTriadPtr |
Functions | |
| typedef | AAX_ALIGNED (8) double AAX_AlignedDouble |
| A cross-platform alignment macro to ensure a data type is aligned properly. More... | |
| AAX_CBoolean | sampleRateInMask (AAX_CSampleRate inSR, uint32_t iMask) |
| Determines whether a particular AAX_CSampleRate is present in a given mask of AAX_ESampleRateMask. More... | |
| #define _AAX_H_ |
| #define AAX_ALIGN_FILE_HOST "AAX_Push2ByteStructAlignment.h" |
File to set alignment for data structures that are shared with the host.
| #define AAX_ALIGN_FILE_ALG "AAX_Push8ByteStructAlignment.h" |
File to set alignment for data structures that are used in the alg.
| #define AAX_ALIGN_FILE_RESET "AAX_PopStructAlignment.h" |
File to reset alignment back to default.
| #define AAX_CALLBACK |
| #define AAX_FIELD_INDEX | ( | aContextType, | |
| aMember | |||
| ) | ((AAX_CFieldIndex) (offsetof (aContextType, aMember) / sizeof (void *))) |
Compute the index used to address a context field.
This macro expands to a constant expression suitable for use in enumerator definitions and case labels so int32_t as aMember is a constant specifier.
| [in] | aContextType | The name of context type |
| [in] | aMember | The name or other specifier of a field of that context type |
| typedef int32_t AAX_CIndex |
| typedef AAX_CIndex AAX_CCount |
| typedef uint8_t AAX_CBoolean |
Cross-compiler boolean type used by AAX interfaces.
| typedef uint32_t AAX_CSelector |
| typedef int64_t AAX_CTimestamp |
Time stamp value. Measured against the DAE clock (see AAX_IComponentDescriptor::AddClock() )
| typedef int64_t AAX_CTimeOfDay |
Hardware running clock value. MIDI packet time stamps are measured against this clock. This is actually the same as TransportCounter, but kept for compatibility.
| typedef int64_t AAX_CTransportCounter |
Offset of samples from transport start. Same as TimeOfDay, but added for new interfaces as TimeOfDay is a confusing name.
| typedef float AAX_CSampleRate |
Literal sample rate value used by the sample rate field. For AAX_eProperty_SampleRate, use a mask of AAX_ESampleRateMask.
| typedef uint32_t AAX_CTypeID |
Matches type of OSType used in classic plugins.
| typedef int32_t AAX_Result |
| typedef int32_t AAX_CPropertyValue |
| typedef AAX_CIndex AAX_CFieldIndex |
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
| typedef AAX_CSelector AAX_CComponentID |
| typedef AAX_CSelector AAX_CMeterID |
| typedef const char* AAX_CParamID |
Parameter identifier.
| typedef const char* AAX_CEffectID |
URL-style Effect identifier. Must be unique among all registered effects in the collection.
| typedef const float* const* AAX_CAudioInPort |
AAX algorithm audio input port data type.
Audio input ports are provided with a pointer to an array of const audio buffers, with one buffer provided per input or side chain channel.
| typedef float* const* AAX_CAudioOutPort |
AAX algorithm audio output port data type.
Audio output ports are provided with a pointer to an array of audio buffers, with one buffer provided per output or auxiliary output channel.
| typedef float* const AAX_CMeterPort |
AAX algorithm meter port data type.
Meter output ports are provided with a pointer to an array of floats, with one float provided per meter tap. The algorithm is responsible for setting these to the corresponding per-buffer peak sample values.
| typedef struct AAX_SPlugInChunk AAX_SPlugInChunk |
| typedef struct AAX_SPlugInChunk * AAX_SPlugInChunkPtr |
| typedef struct AAX_SPlugInIdentifierTriad AAX_SPlugInIdentifierTriad |
| typedef struct AAX_SPlugInIdentifierTriad * AAX_SPlugInIdentifierTriadPtr |
| typedef AAX_ALIGNED | ( | 8 | ) |
A cross-platform alignment macro to ensure a data type is aligned properly.
An 8-byte aligned double to be used in data structures passed between host and DSP, like context blocks.
|
inline |
Determines whether a particular AAX_CSampleRate is present in a given mask of AAX_ESampleRateMask.
References AAX_eSampleRateMask_176400, AAX_eSampleRateMask_192000, AAX_eSampleRateMask_44100, AAX_eSampleRateMask_48000, AAX_eSampleRateMask_88200, and AAX_eSampleRateMask_96000.
1.8.5