| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
List of all members | Public Member Functions
AAX_VPageTable Class Reference

`#include <AAX_VPageTable.h>`

Inheritance diagram for AAX_VPageTable:
[legend]
Collaboration diagram for AAX_VPageTable:
[legend]

## Description

Version-managed concrete AAX_IPageTable class.

## Public Member Functions
| AAX_VPageTable (IACFUnknown *pUnknown)
| ~AAX_VPageTable () AAX_OVERRIDE
AAX_Result | Clear () AAX_OVERRIDE
| Clears all parameter mappings from the table.
AAX_Result | Empty (AAX_CBoolean &oEmpty) const AAX_OVERRIDE
| Indicates whether the table is empty.
AAX_Result | GetNumPages (int32_t &oNumPages) const AAX_OVERRIDE
| Get the number of pages currently in this table.
AAX_Result | InsertPage (int32_t iPage) AAX_OVERRIDE
| Insert a new empty page before the page at index `iPage`.
AAX_Result | RemovePage (int32_t iPage) AAX_OVERRIDE
| Remove the page at index `iPage`.
AAX_Result | GetNumMappedParameterIDs (int32_t iPage, int32_t &oNumParameterIdentifiers) const AAX_OVERRIDE
| Returns the total number of parameter IDs which are mapped to a page.
AAX_Result | ClearMappedParameter (int32_t iPage, int32_t iIndex) AAX_OVERRIDE
| Clear the parameter at a particular index in this table.
AAX_Result | GetMappedParameterID (int32_t iPage, int32_t iIndex, AAX_IString &oParameterIdentifier) const AAX_OVERRIDE
| Get the parameter identifier which is currently mapped to an index in this table.
AAX_Result | MapParameterID (AAX_CParamID iParameterIdentifier, int32_t iPage, int32_t iIndex) AAX_OVERRIDE
| Map a parameter to this table.
AAX_Result | GetNumParametersWithNameVariations (int32_t &oNumParameterIdentifiers) const AAX_OVERRIDE
AAX_Result | GetNameVariationParameterIDAtIndex (int32_t iIndex, AAX_IString &oParameterIdentifier) const AAX_OVERRIDE
AAX_Result | GetNumNameVariationsForParameter (AAX_CPageTableParamID iParameterIdentifier, int32_t &oNumVariations) const AAX_OVERRIDE
AAX_Result | GetParameterNameVariationAtIndex (AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString &oNameVariation, int32_t &oLength) const AAX_OVERRIDE
AAX_Result | GetParameterNameVariationOfLength (AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString &oNameVariation) const AAX_OVERRIDE
AAX_Result | ClearParameterNameVariations () AAX_OVERRIDE
AAX_Result | ClearNameVariationsForParameter (AAX_CPageTableParamID iParameterIdentifier) AAX_OVERRIDE
AAX_Result | SetParameterNameVariation (AAX_CPageTableParamID iParameterIdentifier, const AAX_IString &iNameVariation, int32_t iLength) AAX_OVERRIDE
const IACFUnknown * | AsUnknown () const
IACFUnknown * | AsUnknown ()
bool | IsSupported () const
Public Member Functions inherited from AAX_IPageTable
virtual | ~AAX_IPageTable ()
| Virtual destructor.
virtual AAX_Result | Clear ()=0
| Clears all parameter mappings from the table.
virtual AAX_Result | Empty (AAX_CBoolean &oEmpty) const =0
| Indicates whether the table is empty.
virtual AAX_Result | GetNumPages (int32_t &oNumPages) const =0
| Get the number of pages currently in this table.
virtual AAX_Result | InsertPage (int32_t iPage)=0
| Insert a new empty page before the page at index `iPage`.
virtual AAX_Result | RemovePage (int32_t iPage)=0
| Remove the page at index `iPage`.
virtual AAX_Result | GetNumMappedParameterIDs (int32_t iPage, int32_t &oNumParameterIdentifiers) const =0
| Returns the total number of parameter IDs which are mapped to a page.
virtual AAX_Result | ClearMappedParameter (int32_t iPage, int32_t iIndex)=0
| Clear the parameter at a particular index in this table.
virtual AAX_Result | GetMappedParameterID (int32_t iPage, int32_t iIndex, AAX_IString &oParameterIdentifier) const =0
| Get the parameter identifier which is currently mapped to an index in this table.
virtual AAX_Result | MapParameterID (AAX_CPageTableParamID iParameterIdentifier, int32_t iPage, int32_t iIndex)=0
| Map a parameter to this table.
virtual AAX_Result | GetNumParametersWithNameVariations (int32_t &oNumParameterIdentifiers) const =0
virtual AAX_Result | GetNameVariationParameterIDAtIndex (int32_t iIndex, AAX_IString &oParameterIdentifier) const =0
virtual AAX_Result | GetNumNameVariationsForParameter (AAX_CPageTableParamID iParameterIdentifier, int32_t &oNumVariations) const =0
virtual AAX_Result | GetParameterNameVariationAtIndex (AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString &oNameVariation, int32_t &oLength) const =0
virtual AAX_Result | GetParameterNameVariationOfLength (AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString &oNameVariation) const =0
virtual AAX_Result | ClearParameterNameVariations ()=0
virtual AAX_Result | ClearNameVariationsForParameter (AAX_CPageTableParamID iParameterIdentifier)=0
virtual AAX_Result | SetParameterNameVariation (AAX_CPageTableParamID iParameterIdentifier, const AAX_IString &iNameVariation, int32_t iLength)=0

## Constructor & Destructor Documentation

## ◆ AAX_VPageTable()

AAX_VPageTable::AAX_VPageTable | ( | IACFUnknown * | pUnknown | ) |

## ◆ ~AAX_VPageTable()

AAX_VPageTable::~AAX_VPageTable | ( |  | ) |

## Member Function Documentation

## ◆ Clear()

AAX_Result AAX_VPageTable::Clear | ( |  | ) |
| virtual

Clears all parameter mappings from the table.

This method does not clear any parameter name variations from the table. For that, use AAX_IPageTable::ClearParameterNameVariations() or AAX_IPageTable::ClearNameVariationsForParameter()

Implements AAX_IPageTable.

## ◆ Empty()

AAX_Result AAX_VPageTable::Empty | ( | AAX_CBoolean & | oEmpty | ) | const
| virtual

Indicates whether the table is empty.

A table is empty if it contains no pages. A table which contains pages but no parameter assignments is not empty. A table which has associated parameter name variations but no pages is empty.

Parameters

  [out] | oEmpty | `true` if this table is empty

Implements AAX_IPageTable.

## ◆ GetNumPages()

AAX_Result AAX_VPageTable::GetNumPages | ( | int32_t & | oNumPages | ) | const
| virtual

Get the number of pages currently in this table.

Parameters

  [out] | oNumPages | The number of pages which are present in the page table. Some pages might not contain any parameter assignments.

Implements AAX_IPageTable.

## ◆ InsertPage()

AAX_Result AAX_VPageTable::InsertPage | ( | int32_t | iPage | ) |
| virtual

Insert a new empty page before the page at index `iPage`.

Returns
  AAX_ERROR_INVALID_ARGUMENT if `iPage` is greater than the total number of pages

Parameters

  [in] | iPage | The insertion point page index

Implements AAX_IPageTable.

## ◆ RemovePage()

AAX_Result AAX_VPageTable::RemovePage | ( | int32_t | iPage | ) |
| virtual

Remove the page at index `iPage`.

Returns
  AAX_ERROR_INVALID_ARGUMENT if `iPage` is greater than the index of the last existing page

Parameters

  [in] | iPage | The target page index

Implements AAX_IPageTable.

## ◆ GetNumMappedParameterIDs()

AAX_Result AAX_VPageTable::GetNumMappedParameterIDs | ( | int32_t | iPage,
|  | int32_t & | oNumParameterIdentifiers
| ) |  | const
| virtual

Returns the total number of parameter IDs which are mapped to a page.

Note
  The number of mapped parameter IDs does not correspond to the actual slot indices of the parameter assignments. For example, a page could have three total parameter assignments with parameters mapped to slots 2, 4, and 6.

Returns
  AAX_ERROR_INVALID_ARGUMENT if `iPage` is greater than the index of the last existing page

Parameters

  [in] | iPage | The target page index
  [out] | oNumParameterIdentifiers | The number of parameter identifiers which are mapped to the target page

Implements AAX_IPageTable.

## ◆ ClearMappedParameter()

AAX_Result AAX_VPageTable::ClearMappedParameter | ( | int32_t | iPage,
|  | int32_t | iIndex
| ) |  |
| virtual

Clear the parameter at a particular index in this table.

Returns
  AAX_SUCCESS even if no parameter was mapped at the given index (the index is still clear)

Parameters

  [in] | iPage | The target page index
  [in] | iIndex | The target parameter slot index within the target page

Implements AAX_IPageTable.

## ◆ GetMappedParameterID()

AAX_Result AAX_VPageTable::GetMappedParameterID | ( | int32_t | iPage,
|  | int32_t | iIndex,
|  | AAX_IString & | oParameterIdentifier
| ) |  | const
| virtual

Get the parameter identifier which is currently mapped to an index in this table.

Returns
  AAX_ERROR_INVALID_ARGUMENT if no parameter is mapped at the specified page/index location

Parameters

  [in] | iPage | The target page index
  [in] | iIndex | The target parameter slot index within the target page
  [out] | oParameterIdentifier | The identifier used for the mapped parameter in the page table (may be parameter name or ID)

Implements AAX_IPageTable.

## ◆ MapParameterID()

AAX_Result AAX_VPageTable::MapParameterID | ( | AAX_CParamID | iParameterIdentifier,
|  | int32_t | iPage,
|  | int32_t | iIndex
| ) |  |
| virtual

Map a parameter to this table.

If `iParameterIdentifier` is an empty string then the parameter assignment will be cleared

Returns
  AAX_ERROR_NULL_ARGUMENT if `iParameterIdentifier` is null
  AAX_ERROR_INVALID_ARGUMENT if `iPage` is greater than the index of the last existing page
  AAX_ERROR_INVALID_ARGUMENT if `iIndex` is negative

Parameters

  [in] | iParameterIdentifier | The identifier for the parameter which will be mapped
  [in] | iPage | The target page index
  [in] | iIndex | The target parameter slot index within the target page

Implements AAX_IPageTable.

## ◆ GetNumParametersWithNameVariations()

AAX_Result AAX_VPageTable::GetNumParametersWithNameVariations | ( | int32_t & | oNumParameterIdentifiers | ) | const
| virtual

Get the number of parameters with name variations defined for the current table type

Provides the number of parameters with `lt;ControlNameVariationslt;` which are explicitly defined for the current page table type.

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

- See also
    AAX_IPageTable::GetNameVariationParameterIDAtIndex()
  Parameters

    [out] | oNumParameterIdentifiers | The number of parameters with name variations explicitly associated with the current table type.

Implements AAX_IPageTable.

## ◆ GetNameVariationParameterIDAtIndex()

AAX_Result AAX_VPageTable::GetNameVariationParameterIDAtIndex | ( | int32_t | iIndex,
|  | AAX_IString & | oParameterIdentifier
| ) |  | const
| virtual

Get the identifier for a parameter with name variations defined for the current table type

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

- See also
    AAX_IPageTable::GetNumParametersWithNameVariations()
  Parameters

    [in] | iIndex | The target parameter index within the list of parameters with explicit name variations defined for this table type.
    [out] | oParameterIdentifier | The identifier used for the parameter in the page table name variations list (may be parameter name or ID)

Implements AAX_IPageTable.

## ◆ GetNumNameVariationsForParameter()

AAX_Result AAX_VPageTable::GetNumNameVariationsForParameter | ( | AAX_CPageTableParamID | iParameterIdentifier,
|  | int32_t & | oNumVariations
| ) |  | const
| virtual

Get the number of name variations defined for a parameter

Provides the number of `lt;ControlNameVariationslt;` which are explicitly defined for `iParameterIdentifier` for the current page table type. No fallback logic is used to resolve this to the list of variations which would actually be used for an attached control surface if no explicit variations are defined for the current table type.

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

- See also
    AAX_IPageTable::GetParameterNameVariationAtIndex()
  Returns
    AAX_SUCCESS and provides zero to `oNumVariations` if `iParameterIdentifier` is not found
  Parameters

    [in] | iParameterIdentifier | The identifier for the parameter
    [out] | oNumVariations | The number of name variations which are defined for this parameter and explicitly associated with the current table type.

Implements AAX_IPageTable.

## ◆ GetParameterNameVariationAtIndex()

AAX_Result AAX_VPageTable::GetParameterNameVariationAtIndex | ( | AAX_CPageTableParamID | iParameterIdentifier,
|  | int32_t | iIndex,
|  | AAX_IString & | oNameVariation,
|  | int32_t & | oLength
| ) |  | const
| virtual

Get a parameter name variation from the page table

Only returns `lt;ControlNameVariationslt;` which are explicitly defined for the current page table type. No fallback logic is used to resolve this to the abbreviation which would actually be shown on an attached control surface if no explicit variation is defined for the current table type.

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

- See also
    AAX_IPageTable::GetNumNameVariationsForParameter()
- See also
    AAX_IPageTable::GetParameterNameVariationOfLength()
  Returns
    AAX_ERROR_NO_ABBREVIATED_PARAMETER_NAME if no suitable variation is defined for this table
    AAX_ERROR_ARGUMENT_OUT_OF_RANGE if `iIndex` is out of range
  Parameters

    [in] | iParameterIdentifier | The identifier for the parameter
    [in] | iIndex | Index of the name variation
    [out] | oNameVariation | The name variation, if one is explicitly defined for this table type
    [out] | oLength | The length value for this name variation. This corresponds to the variation's `sz` attribute in the page table XML and may be different from the string length of `iNameVariation`.

Implements AAX_IPageTable.

## ◆ GetParameterNameVariationOfLength()

AAX_Result AAX_VPageTable::GetParameterNameVariationOfLength | ( | AAX_CPageTableParamID | iParameterIdentifier,
|  | int32_t | iLength,
|  | AAX_IString & | oNameVariation
| ) |  | const
| virtual

Get a parameter name variation of a particular length from the page table

Only returns `lt;ControlNameVariationslt;` which are explicitly defined of `iLength` for the current page table type. No fallback logic is used to resolve this to the abbreviation which would actually be shown on an attached control surface if no explicit variation is defined for the specified length or current table type.

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

- See also
    AAX_IPageTable::GetParameterNameVariationAtIndex()
  Returns
    AAX_ERROR_NO_ABBREVIATED_PARAMETER_NAME if no suitable variation is defined for this table
  Parameters

    [in] | iParameterIdentifier | The identifier for the parameter
    [in] | iLength | The variation length to check, i.e. the `sz` attribute for the name variation in the page table XML
    [out] | oNameVariation | The name variation, if one is explicitly defined for this table type and `iLength`

Implements AAX_IPageTable.

## ◆ ClearParameterNameVariations()

AAX_Result AAX_VPageTable::ClearParameterNameVariations | ( |  | ) |
| virtual

Clears all name variations for the current page table type

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

See also
  AAX_IPageTable::Clear()
  AAX_IPageTable::ClearNameVariationsForParameter()

Implements AAX_IPageTable.

## ◆ ClearNameVariationsForParameter()

AAX_Result AAX_VPageTable::ClearNameVariationsForParameter | ( | AAX_CPageTableParamID | iParameterIdentifier | ) |
| virtual

Clears all name variations for a single parameter for the current page table type

Warning
  This will invalidate the list of parameter name variations indices, i.e. the parameter identifier associated with each index by AAX_IPageTable::GetNameVariationParameterIDAtIndex()

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

See also
  AAX_IPageTable::Clear()
  AAX_IPageTable::ClearParameterNameVariations()

Returns
  AAX_SUCCESS and provides zero to `oNumVariations` if `iParameterIdentifier` is not found

Parameters

  [in] | iParameterIdentifier | The identifier for the parameter

Implements AAX_IPageTable.

## ◆ SetParameterNameVariation()

AAX_Result AAX_VPageTable::SetParameterNameVariation | ( | AAX_CPageTableParamID | iParameterIdentifier,
|  | const AAX_IString & | iNameVariation,
|  | int32_t | iLength
| ) |  |
| virtual

Sets a name variation explicitly for the current page table type

This will add a new name variation or overwrite the existing name variation with the same length which is defined for the current table type.

Warning
  If no name variation previously existed for this parameter then this will invalidate the list of parameter name variations indices, i.e. the parameter identifier associated with each index by AAX_IPageTable::GetNameVariationParameterIDAtIndex()

Note
  Normally parameter name variations are only used with the `'PgTL'` table type

Returns
  AAX_ERROR_INVALID_ARGUMENT if `iNameVariation` is empty or if `iLength` is less than zero

Parameters

  [in] | iParameterIdentifier | The identifier for the parameter
  [in] | iNameVariation | The new parameter name variation
  [in] | iLength | The length value for this name variation. This corresponds to the variation's `sz` attribute in the page table XML and is not required to match the length of `iNameVariation`.

Implements AAX_IPageTable.

## ◆ AsUnknown() [1/2]

const IACFUnknown * AAX_VPageTable::AsUnknown | ( |  | ) | const
| inline

Returns the latest supported versioned ACF interface (e.g. an AAX_IACFPageTable) which is wrapped by this AAX_IPageTable

## ◆ AsUnknown() [2/2]

IACFUnknown * AAX_VPageTable::AsUnknown | ( |  | ) |
| inline

Returns the latest supported versioned ACF interface (e.g. an AAX_IACFPageTable) which is wrapped by this AAX_IPageTable

## ◆ IsSupported()

bool AAX_VPageTable::IsSupported | ( |  | ) | const
| inline

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

- AAX_VPageTable.h