AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_VPageTable.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  * Copyright 2016-2017, 2019 by Avid Technology, Inc.
4  * All rights reserved.
5  *
6  * CONFIDENTIAL: This document contains confidential information. Do not
7  * read or examine this document unless you are an Avid Technology employee
8  * or have signed a non-disclosure agreement with Avid Technology which protects
9  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
10  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
11  * OF Avid Technology, INC.
12  */
13 
14 #ifndef AAXLibrary_AAX_VPageTable_h
15 #define AAXLibrary_AAX_VPageTable_h
16 
17 #include "AAX_IPageTable.h"
18 #include "AAX_IACFPageTable.h"
19 #include "ACFPtr.h"
20 
26 {
27 public:
30 
31  // AAX_IACFPageTable
34  AAX_Result GetNumPages(int32_t& oNumPages) const AAX_OVERRIDE;
37  AAX_Result GetNumMappedParameterIDs(int32_t iPage, int32_t& oNumParameterIdentifiers) const AAX_OVERRIDE;
38  AAX_Result ClearMappedParameter(int32_t iPage, int32_t iIndex) AAX_OVERRIDE;
39  AAX_Result GetMappedParameterID(int32_t iPage, int32_t iIndex, AAX_IString& oParameterIdentifier) const AAX_OVERRIDE;
40  AAX_Result MapParameterID(AAX_CParamID iParameterIdentifier, int32_t iPage, int32_t iIndex) AAX_OVERRIDE;
41 
42  // AAX_IACFPageTable_V2
43  AAX_Result GetNumParametersWithNameVariations(int32_t& oNumParameterIdentifiers) const AAX_OVERRIDE;
44  AAX_Result GetNameVariationParameterIDAtIndex(int32_t iIndex, AAX_IString& oParameterIdentifier) const AAX_OVERRIDE;
45  AAX_Result GetNumNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier, int32_t& oNumVariations) const AAX_OVERRIDE;
46  AAX_Result GetParameterNameVariationAtIndex(AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString& oNameVariation, int32_t& oLength) const AAX_OVERRIDE;
47  AAX_Result GetParameterNameVariationOfLength(AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString& oNameVariation) const AAX_OVERRIDE;
50  AAX_Result SetParameterNameVariation(AAX_CPageTableParamID iParameterIdentifier, const AAX_IString& iNameVariation, int32_t iLength) AAX_OVERRIDE;
51 
52  // AAX_VPageTable
53 
57  const IACFUnknown* AsUnknown() const
58  {
59  return mIPageTable.inArg();
60  }
61 
65  {
66  return mIPageTable.inArg();
67  }
68 
69  bool IsSupported() const { return !mIPageTable.isNull(); }
70 
71 private:
72  ACFPtr<AAX_IACFPageTable> mIPageTable;
73  ACFPtr<AAX_IACFPageTable_V2> mIPageTable2;
74 };
75 
76 #endif
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:352
int32_t AAX_Result
Definition: AAX.h:337
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:329
AAX_CParamID AAX_CPageTableParamID
Parameter identifier used in a page table.
Definition: AAX.h:353
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:141
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:248
Interface to the host's representation of a plug-in instance's page table.
Definition: AAX_IPageTable.h:28
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:41
Version-managed concrete AAX_IPageTable class.
Definition: AAX_VPageTable.h:26
AAX_Result GetNumParametersWithNameVariations(int32_t &oNumParameterIdentifiers) 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 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 RemovePage(int32_t iPage) AAX_OVERRIDE
Remove the page at index iPage.
AAX_Result GetNameVariationParameterIDAtIndex(int32_t iIndex, AAX_IString &oParameterIdentifier) 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 MapParameterID(AAX_CParamID iParameterIdentifier, int32_t iPage, int32_t iIndex) AAX_OVERRIDE
Map a parameter to this table.
AAX_Result InsertPage(int32_t iPage) AAX_OVERRIDE
Insert a new empty page before the page at index iPage.
AAX_Result SetParameterNameVariation(AAX_CPageTableParamID iParameterIdentifier, const AAX_IString &iNameVariation, int32_t iLength) AAX_OVERRIDE
AAX_Result ClearMappedParameter(int32_t iPage, int32_t iIndex) AAX_OVERRIDE
Clear the parameter at a particular index in this table.
AAX_Result ClearNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier) AAX_OVERRIDE
AAX_VPageTable(IACFUnknown *pUnknown)
~AAX_VPageTable() AAX_OVERRIDE
IACFUnknown * AsUnknown()
Definition: AAX_VPageTable.h:64
AAX_Result Clear() AAX_OVERRIDE
Clears all parameter mappings from the 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 GetNumPages(int32_t &oNumPages) const AAX_OVERRIDE
Get the number of pages currently in this table.
bool IsSupported() const
Definition: AAX_VPageTable.h:69
const IACFUnknown * AsUnknown() const
Definition: AAX_VPageTable.h:57
AAX_Result Empty(AAX_CBoolean &oEmpty) const AAX_OVERRIDE
Indicates whether the table is empty.