60 #if defined _TMS320C6X
62 #elif defined DOXYGEN_PREPROCESSOR
68 #ifndef AAX_CPP11_SUPPORT
69 #if (defined __cplusplus) && (__cplusplus >= 201103L)
70 #define AAX_CPP11_SUPPORT 1
72 #elif ((defined _MSVC_LANG) && (_MSVC_LANG >= 201402))
73 #define AAX_CPP11_SUPPORT 1
75 #elif defined DOXYGEN_PREPROCESSOR
76 #define AAX_CPP11_SUPPORT 1
140 #if AAX_CPP11_SUPPORT
141 # define AAX_OVERRIDE override
142 # define AAX_FINAL final
143 # define AAX_DEFAULT_DTOR(X) ~X() = default
144 # define AAX_DEFAULT_DTOR_OVERRIDE(X) ~X() override = default
145 # define AAX_DEFAULT_CTOR(X) X() = default
146 # define AAX_DEFAULT_COPY_CTOR(X) X(const X&) = default
147 # define AAX_DEFAULT_ASGN_OPER(X) X& operator=(const X&) = default
148 # define AAX_DELETE(X) X = delete
149 # define AAX_DEFAULT_MOVE_CTOR(X) X(X&&) = default
150 # define AAX_DEFAULT_MOVE_OPER(X) X& operator=(X&&) = default
151 # define AAX_CONSTEXPR constexpr
152 # define AAX_UNIQUE_PTR(X) std::unique_ptr<X>
154 # define AAX_OVERRIDE
156 # define AAX_DEFAULT_DTOR(X) ~X() {}
157 # define AAX_DEFAULT_DTOR_OVERRIDE(X) ~X() {}
158 # define AAX_DEFAULT_CTOR(X) X() {}
159 # define AAX_DEFAULT_COPY_CTOR(X)
160 # define AAX_DEFAULT_MOVE_CTOR(X)
161 # define AAX_DEFAULT_ASGN_OPER(X)
162 # define AAX_DEFAULT_MOVE_OPER(X)
164 # define AAX_DELETE(X) private: X; public:
165 # define AAX_CONSTEXPR
166 # define AAX_UNIQUE_PTR(X) std::auto_ptr<X>
186 #define AAXPointer_32bit 1
187 #define AAXPointer_64bit 2
189 #if !defined(AAX_PointerSize)
190 #if defined(_M_X64) || defined (__LP64__)
191 #define AAX_PointerSize AAXPointer_64bit
193 #define AAX_PointerSize AAXPointer_32bit
198 #if ((AAX_PointerSize == AAXPointer_32bit) && (defined(_M_X64) || defined (__LP64__)))
199 #error incorrect result of AAX_PointerSize check!
200 #elif ((AAX_PointerSize == AAXPointer_64bit) && !(defined(_M_X64) || defined (__LP64__)))
201 #error incorrect result of AAX_PointerSize check!
267 #if ( defined(_WIN64) || defined(__LP64__) )
268 #define AAX_ALIGN_FILE_HOST "AAX_Push8ByteStructAlignment.h"
269 #elif ( defined(_TMS320C6X) )
273 #define AAX_ALIGN_FILE_HOST "AAX_Push2ByteStructAlignment.h"
275 #define AAX_ALIGN_FILE_ALG "AAX_Push8ByteStructAlignment.h"
276 #define AAX_ALIGN_FILE_RESET "AAX_PopStructAlignment.h"
277 #define AAX_ALIGN_FILE_BEGIN "AAX_PreStructAlignmentHelper.h"
278 #define AAX_ALIGN_FILE_END "AAX_PostStructAlignmentHelper.h"
283 # define AAX_CALLBACK __cdecl
285 # define AAX_CALLBACK
291 # define AAX_RESTRICT
292 #elif defined(_TMS320C6X)
293 # define AAX_RESTRICT restrict
294 #elif defined (__GNUC__)
295 # define AAX_RESTRICT __restrict__
300 #define AAX_PREPROCESSOR_CONCAT_HELPER(X,Y) X ## Y
301 #define AAX_PREPROCESSOR_CONCAT(X,Y) AAX_PREPROCESSOR_CONCAT_HELPER(X,Y)
307 #pragma warning( disable : 4068 )
323 #define AAX_FIELD_INDEX( aContextType, aMember ) \
324 ((AAX_CFieldIndex) (offsetof (aContextType, aMember) / sizeof (void *)))
340 #if AAX_PointerSize == AAXPointer_32bit
342 #elif AAX_PointerSize == AAXPointer_64bit
345 #error unexpected pointer size
373 #define AAX_ALIGNED(v)
374 #elif defined(__GNUC__)
375 #define AAX_ALIGNED(v) __attribute__((aligned(v)))
376 #elif defined(_MSC_VER)
377 #define AAX_ALIGNED(v) __declspec(align(v))
379 #error Teach me to align data types with this compiler.
391 AAX_GetStemFormatChannelCount (
491 #include AAX_ALIGN_FILE_BEGIN
492 #include AAX_ALIGN_FILE_HOST
493 #include AAX_ALIGN_FILE_END
562 #include AAX_ALIGN_FILE_BEGIN
563 #include AAX_ALIGN_FILE_RESET
564 #include AAX_ALIGN_FILE_END
615 #if ( defined(_WIN64) || defined(__LP64__) || defined(_TMS320C6X) )
616 #include AAX_ALIGN_FILE_BEGIN
617 #include AAX_ALIGN_FILE_ALG
618 #include AAX_ALIGN_FILE_END
620 #if defined (__GNUC__)
621 #pragma options align=power
623 #include AAX_ALIGN_FILE_BEGIN
624 #include AAX_ALIGN_FILE_HOST
625 #include AAX_ALIGN_FILE_END
667 #if ( defined(_WIN64) || defined(__LP64__) || defined(_TMS320C6X) )
668 #include AAX_ALIGN_FILE_BEGIN
669 #include AAX_ALIGN_FILE_RESET
670 #include AAX_ALIGN_FILE_END
672 #if defined (__GNUC__)
675 #include AAX_ALIGN_FILE_BEGIN
676 #include AAX_ALIGN_FILE_RESET
677 #include AAX_ALIGN_FILE_END
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:352
int32_t AAX_CIndex
Definition: AAX.h:327
uint32_t getMaskForSampleRate(float inSR)
Returns the AAX_ESampleRateMask selector for a literal sample rate.
Definition: AAX.h:476
float AAX_CSampleRate
Literal sample rate value used by the sample rate field. For AAX_eProperty_SampleRate,...
Definition: AAX.h:334
int64_t AAX_CTimeOfDay
Hardware running clock value. MIDI packet time stamps are measured against this clock....
Definition: AAX.h:332
int64_t AAX_CPropertyValue64
64-bit property values
Definition: AAX.h:339
const char * AAX_CEffectID
URL-style Effect identifier. Must be unique among all registered effects in the collection.
Definition: AAX.h:354
int32_t AAX_Result
Definition: AAX.h:337
acfUID AAX_Feature_UID
Definition: AAX.h:364
float *const * AAX_CAudioOutPort
AAX algorithm audio output port data type
Definition: AAX.h:419
_acfUID acfUID
Definition: AAX.h:357
AAX_CSelector AAX_CMeterID
Definition: AAX.h:351
AAX_CPropertyValue AAX_CPointerPropertyValue
Pointer-sized property values.
Definition: AAX.h:341
AAX_CSelector AAX_CComponentID
Definition: AAX.h:350
AAX_CSampleRate getLowestSampleRateInMask(uint32_t iMask)
Converts from a mask of AAX_ESampleRateMask to the lowest supported AAX_CSampleRate value in Hz.
Definition: AAX.h:457
int32_t AAX_CTargetPlatform
Matches type of target platform.
Definition: AAX.h:347
const float *const * AAX_CAudioInPort
AAX algorithm audio input port data type
Definition: AAX.h:407
AAX_CIndex AAX_CCount
Definition: AAX.h:328
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:329
float *const AAX_CMeterPort
AAX algorithm meter port data type
Definition: AAX.h:432
int64_t AAX_CTimestamp
Time stamp value. Measured against the DAE clock (see AAX_IComponentDescriptor::AddClock() )
Definition: AAX.h:331
struct AAX_SPlugInChunk * AAX_SPlugInChunkPtr
Definition: AAX.h:547
int32_t AAX_CPropertyValue
32-bit property values
Definition: AAX.h:338
AAX_CParamID AAX_CPageTableParamID
Parameter identifier used in a page table.
Definition: AAX.h:353
int64_t AAX_CTransportCounter
Offset of samples from transport start. Same as TimeOfDay, but added for new interfaces as TimeOfDay ...
Definition: AAX.h:333
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:336
AAX_CBoolean sampleRateInMask(AAX_CSampleRate inSR, uint32_t iMask)
Determines whether a particular AAX_CSampleRate is present in a given mask of AAX_ESampleRateMask.
Definition: AAX.h:441
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:349
uint32_t AAX_CSelector
Definition: AAX.h:330
struct AAX_SPlugInIdentifierTriad * AAX_SPlugInIdentifierTriadPtr
Definition: AAX.h:559
Utility functions for byte-swapping. Used by AAX_CChunkDataParser.
#define AAX_STEM_FORMAT_CHANNEL_COUNT(aStemFormat)
Definition: AAX_Enums.h:205
@ AAX_eSampleRateMask_No
Definition: AAX_Enums.h:812
@ AAX_eSampleRateMask_176400
Definition: AAX_Enums.h:818
@ AAX_eSampleRateMask_44100
Definition: AAX_Enums.h:814
@ AAX_eSampleRateMask_48000
Definition: AAX_Enums.h:815
@ AAX_eSampleRateMask_88200
Definition: AAX_Enums.h:816
@ AAX_eSampleRateMask_192000
Definition: AAX_Enums.h:819
@ AAX_eSampleRateMask_96000
Definition: AAX_Enums.h:817
AAX_EStemFormat
Stem format definitions.
Definition: AAX_Enums.h:232
Definitions of error codes used by AAX plug-ins.
bool operator!=(const AAX_Point &p1, const AAX_Point &p2)
Definition: AAX_GUITypes.h:68
bool operator<=(const AAX_Point &p1, const AAX_Point &p2)
Definition: AAX_GUITypes.h:78
bool operator==(const AAX_Point &p1, const AAX_Point &p2)
Definition: AAX_GUITypes.h:63
bool operator>=(const AAX_Point &p1, const AAX_Point &p2)
Definition: AAX_GUITypes.h:88
bool operator<(const AAX_Point &p1, const AAX_Point &p2)
Definition: AAX_GUITypes.h:73
bool operator>(const AAX_Point &p1, const AAX_Point &p2)
Definition: AAX_GUITypes.h:83
Contains IDs for properties that can be added to an AAX_IPropertyMap.
Version stamp header for the AAX SDK.
Definition: AAX_ACFInterface.doxygen:212
Plug-in chunk header.
Definition: AAX.h:522
AAX_CTypeID fChunkID
The ID of a particular Plug-In chunk.
Definition: AAX.h:528
AAX_CTypeID fPlugInID
The ID of a particular Plug-In within the file.
Definition: AAX.h:527
int32_t fVersion
The chunk's version.
Definition: AAX.h:524
AAX_CTypeID fManufacturerID
The Plug-In's manufacturer ID.
Definition: AAX.h:525
unsigned char fName[32]
A user defined name for this chunk.
Definition: AAX.h:529
int32_t fSize
The size of the chunk's fData member.
Definition: AAX.h:523
AAX_CTypeID fProductID
The Plug-In file's product ID.
Definition: AAX.h:526
Plug-in chunk header + data.
Definition: AAX.h:537
AAX_CTypeID fChunkID
The ID of a particular Plug-In chunk.
Definition: AAX.h:543
unsigned char fName[32]
A user defined name for this chunk.
Definition: AAX.h:544
AAX_CTypeID fManufacturerID
The Plug-In's manufacturer ID.
Definition: AAX.h:540
char fData[1]
The chunk's data.
Definition: AAX.h:545
AAX_CTypeID fProductID
The Plug-In file's product ID.
Definition: AAX.h:541
int32_t fSize
The size of the chunk's fData member.
Definition: AAX.h:538
int32_t fVersion
The chunk's version.
Definition: AAX.h:539
AAX_CTypeID fPlugInID
The ID of a particular Plug-In within the file.
Definition: AAX.h:542
Plug-in Identifier Triad.
Definition: AAX.h:554
AAX_CTypeID mProductID
The Plug-In's product (Effect) ID.
Definition: AAX.h:556
AAX_CTypeID mPlugInID
The ID of a specific type in the product (Effect)
Definition: AAX.h:557
AAX_CTypeID mManufacturerID
The Plug-In's manufacturer ID.
Definition: AAX.h:555
Packet structure for MIDI data.
Definition: AAX.h:637
uint32_t mTimestamp
This is the playback time at which the MIDI event should occur, relative to the beginning of the curr...
Definition: AAX.h:638
uint32_t mLength
The length of MIDI message, in terms of bytes.
Definition: AAX.h:639
unsigned char mData[4]
The MIDI message itself. Each array element is one byte of the message, with the 0th element being th...
Definition: AAX.h:640
AAX_CBoolean mIsImmediate
Indicates that the message is to be sent as soon as possible.
Definition: AAX.h:641
MIDI stream data structure used by AAX_IMIDINode.
Definition: AAX.h:662
AAX_CMidiPacket * mBuffer
Pointer to the first element of the node's buffer.
Definition: AAX.h:664
uint32_t mBufferSize
The number of AAX_CMidiPacket objects contained in the node's buffer.
Definition: AAX.h:663