AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes
AAX_SPlugInChunk Struct Reference

#include <AAX.h>

Description

Plug-in chunk header.

Legacy Porting Notes:
To ensure compatibility with TDM/RTAS plug-ins whose implementation requires fSize to be equal to the size of the chunk's header plus its data, DAE performs some behind-the-scenes record keeping.

The following actions are only taken for AAX plug-ins, so, e.g., if a chunk is stored by an RTAS or TDM plug-in that reports data+header size in fSize and this chunk is then loaded by the AAX version of the plug-in, the header size will be cached as-is from the legacy plug-in and will be subtracted out before the chunk data is passed to the AAX plug-in. If a chunk is stored by an AAX plug-in and is then loaded by a legacy plug-in, the legacy plug-in will receive the cached plug-in header with fSize equal to the data+header size.

These are the special actions that DAE takes to ensure backwards-compatibility when handling AAX chunk data:
  • When DAE retrieves the size of a chunk from an AAX plug-in using GetChunkSize(), it adds the chunk header size to the amount of memory that it allocates for the chunk
  • When DAE retrieves a chunk from an AAX plug-in using GetChunk(), it adds the chunk header size to fSize before caching the chunk
  • Before calling SetChunk() or CompareActiveChunk() in an AAX plug-in, DAE subtracts the chunk header size from the cached chunk's header's fSize member

Public Attributes

int32_t fSize
 The size of the chunk's fData member. More...
 
int32_t fVersion
 The chunk's version. More...
 
AAX_CTypeID fManufacturerID
 The Plug-In's manufacturer ID. More...
 
AAX_CTypeID fProductID
 The Plug-In file's product ID. More...
 
AAX_CTypeID fPlugInID
 The ID of a particular Plug-In within the file. More...
 
AAX_CTypeID fChunkID
 The ID of a particular Plug-In chunk. More...
 
unsigned char fName [32]
 A user defined name for this chunk. More...
 
char fData [1]
 The chunk's data. More...
 

Member Data Documentation

int32_t AAX_SPlugInChunk::fSize

The size of the chunk's fData member.

int32_t AAX_SPlugInChunk::fVersion

The chunk's version.

AAX_CTypeID AAX_SPlugInChunk::fManufacturerID

The Plug-In's manufacturer ID.

AAX_CTypeID AAX_SPlugInChunk::fProductID

The Plug-In file's product ID.

AAX_CTypeID AAX_SPlugInChunk::fPlugInID

The ID of a particular Plug-In within the file.

AAX_CTypeID AAX_SPlugInChunk::fChunkID

The ID of a particular Plug-In chunk.

unsigned char AAX_SPlugInChunk::fName[32]

A user defined name for this chunk.

char AAX_SPlugInChunk::fData[1]

The chunk's data.

Note
The fixed-size array definition here is historical, but misleading. Plug-ins actually write off the end of this block and are allowed to as long as they don't exceed their reported size.

The documentation for this struct was generated from the following file: