#include <AAX_IPageTable.h>
Interface to the host's representation of a plug-in instance's page table.
- See also
- AAX_IEffectParameters::UpdatePageTable()
|
virtual | ~AAX_IPageTable () |
| Virtual destructor. More...
|
|
virtual AAX_Result | Clear ()=0 |
| Clears all parameter mappings from the table. More...
|
|
virtual AAX_Result | Empty (AAX_CBoolean &oEmpty) const =0 |
| Indicates whether the table is empty. More...
|
|
virtual AAX_Result | GetNumPages (int32_t &oNumPages) const =0 |
| Get the number of pages currently in this table. More...
|
|
virtual AAX_Result | InsertPage (int32_t iPage)=0 |
| Insert a new empty page before the page at index iPage . More...
|
|
virtual AAX_Result | RemovePage (int32_t iPage)=0 |
| Remove the page at index iPage . More...
|
|
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. More...
|
|
virtual AAX_Result | ClearMappedParameter (int32_t iPage, int32_t iIndex)=0 |
| Clear the parameter at a particular index in this table. More...
|
|
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. More...
|
|
virtual AAX_Result | MapParameterID (AAX_CPageTableParamID iParameterIdentifier, int32_t iPage, int32_t iIndex)=0 |
| Map a parameter to this table. More...
|
|
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 |
|
◆ ~AAX_IPageTable()
virtual AAX_IPageTable::~AAX_IPageTable |
( |
| ) |
|
|
inlinevirtual |
Virtual destructor.
- Note
- This destructor MUST be virtual to prevent memory leaks.
◆ Clear()
◆ Empty()
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 |
Implemented in AAX_VPageTable.
◆ GetNumPages()
virtual AAX_Result AAX_IPageTable::GetNumPages |
( |
int32_t & |
oNumPages | ) |
const |
|
pure 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. |
Implemented in AAX_VPageTable.
◆ InsertPage()
virtual AAX_Result AAX_IPageTable::InsertPage |
( |
int32_t |
iPage | ) |
|
|
pure 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 |
Implemented in AAX_VPageTable.
◆ RemovePage()
virtual AAX_Result AAX_IPageTable::RemovePage |
( |
int32_t |
iPage | ) |
|
|
pure virtual |
◆ GetNumMappedParameterIDs()
virtual AAX_Result AAX_IPageTable::GetNumMappedParameterIDs |
( |
int32_t |
iPage, |
|
|
int32_t & |
oNumParameterIdentifiers |
|
) |
| const |
|
pure 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 |
Implemented in AAX_VPageTable.
◆ ClearMappedParameter()
virtual AAX_Result AAX_IPageTable::ClearMappedParameter |
( |
int32_t |
iPage, |
|
|
int32_t |
iIndex |
|
) |
| |
|
pure 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 |
Implemented in AAX_VPageTable.
◆ GetMappedParameterID()
virtual AAX_Result AAX_IPageTable::GetMappedParameterID |
( |
int32_t |
iPage, |
|
|
int32_t |
iIndex, |
|
|
AAX_IString & |
oParameterIdentifier |
|
) |
| const |
|
pure 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) |
Implemented in AAX_VPageTable.
◆ MapParameterID()
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 |
Implemented in AAX_VPageTable.
◆ GetNumParametersWithNameVariations()
virtual AAX_Result AAX_IPageTable::GetNumParametersWithNameVariations |
( |
int32_t & |
oNumParameterIdentifiers | ) |
const |
|
pure 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
Implemented in AAX_VPageTable.
◆ GetNameVariationParameterIDAtIndex()
virtual AAX_Result AAX_IPageTable::GetNameVariationParameterIDAtIndex |
( |
int32_t |
iIndex, |
|
|
AAX_IString & |
oParameterIdentifier |
|
) |
| const |
|
pure 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) |
Implemented in AAX_VPageTable.
◆ GetNumNameVariationsForParameter()
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. |
Implemented in AAX_VPageTable.
◆ GetParameterNameVariationAtIndex()
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
Implemented in AAX_VPageTable.
◆ GetParameterNameVariationOfLength()
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
Implemented in AAX_VPageTable.
◆ ClearParameterNameVariations()
virtual AAX_Result AAX_IPageTable::ClearParameterNameVariations |
( |
| ) |
|
|
pure virtual |
◆ ClearNameVariationsForParameter()
◆ SetParameterNameVariation()
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 . |
Implemented in AAX_VPageTable.
The documentation for this class was generated from the following file: