AAX SDK 2.8.0
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_IPageTable.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 * Copyright 2016-2017, 2023-2024 Avid Technology, Inc.
4 * All rights reserved.
5 *
6 * This file is part of the Avid AAX SDK.
7 *
8 * The AAX SDK is subject to commercial or open-source licensing.
9 *
10 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
11 * Agreement and Avid Privacy Policy.
12 *
13 * AAX SDK License: https://developer.avid.com/aax
14 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
15 *
16 * Or: You may also use this code under the terms of the GPL v3 (see
17 * www.gnu.org/licenses).
18 *
19 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 * DISCLAIMED.
22 */
23
24#ifndef AAXLibrary_AAX_IPageTable_h
25#define AAXLibrary_AAX_IPageTable_h
26
27#include "AAX.h"
28#include "AAX_IString.h"
29
30class IACFUnknown;
31
32
38{
39public:
40
45 virtual ~AAX_IPageTable() { }
46
47 //
48 // AAX_IACFPageTable
49 //
50
57 virtual AAX_Result Clear() = 0;
58
68 virtual AAX_Result Empty(AAX_CBoolean& oEmpty) const = 0;
69
76 virtual AAX_Result GetNumPages(int32_t& oNumPages) const = 0;
77
85 virtual AAX_Result InsertPage(int32_t iPage) = 0;
86
94 virtual AAX_Result RemovePage(int32_t iPage) = 0;
95
109 virtual AAX_Result GetNumMappedParameterIDs(int32_t iPage, int32_t& oNumParameterIdentifiers) const = 0;
110
120 virtual AAX_Result ClearMappedParameter(int32_t iPage, int32_t iIndex) = 0;
121
133 virtual AAX_Result GetMappedParameterID(int32_t iPage, int32_t iIndex, AAX_IString& oParameterIdentifier) const = 0;
134
152 virtual AAX_Result MapParameterID(AAX_CPageTableParamID iParameterIdentifier, int32_t iPage, int32_t iIndex) = 0;
153
167 virtual AAX_Result GetNumParametersWithNameVariations(int32_t& oNumParameterIdentifiers) const = 0;
168
183 virtual AAX_Result GetNameVariationParameterIDAtIndex(int32_t iIndex, AAX_IString& oParameterIdentifier) const = 0;
184
206 virtual AAX_Result GetNumNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier, int32_t& oNumVariations) const = 0;
207
234 virtual AAX_Result GetParameterNameVariationAtIndex(AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString& oNameVariation, int32_t& oLength) const = 0;
235
256 virtual AAX_Result GetParameterNameVariationOfLength(AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString& oNameVariation) const = 0;
257
266
284
306 virtual AAX_Result SetParameterNameVariation(AAX_CPageTableParamID iParameterIdentifier, const AAX_IString& iNameVariation, int32_t iLength) = 0;
307};
308
309#endif
Various utility definitions for AAX.
int32_t AAX_Result
Definition: AAX.h:347
uint8_t AAX_CBoolean
Cross-compiler boolean type used by AAX interfaces.
Definition: AAX.h:339
AAX_CParamID AAX_CPageTableParamID
Parameter identifier used in a page table.
Definition: AAX.h:363
An AAX string interface.
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
Interface to the host's representation of a plug-in instance's page table.
Definition: AAX_IPageTable.h:38
virtual AAX_Result Clear()=0
Clears all parameter mappings from the table.
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 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 SetParameterNameVariation(AAX_CPageTableParamID iParameterIdentifier, const AAX_IString &iNameVariation, int32_t iLength)=0
virtual AAX_Result RemovePage(int32_t iPage)=0
Remove the page at index iPage.
virtual ~AAX_IPageTable()
Virtual destructor.
Definition: AAX_IPageTable.h:45
virtual AAX_Result MapParameterID(AAX_CPageTableParamID iParameterIdentifier, int32_t iPage, int32_t iIndex)=0
Map a parameter to this table.
virtual AAX_Result GetNumPages(int32_t &oNumPages) const =0
Get the number of pages currently in this table.
virtual AAX_Result Empty(AAX_CBoolean &oEmpty) const =0
Indicates whether the table is empty.
virtual AAX_Result ClearParameterNameVariations()=0
virtual AAX_Result GetParameterNameVariationOfLength(AAX_CPageTableParamID iParameterIdentifier, int32_t iLength, AAX_IString &oNameVariation) const =0
virtual AAX_Result InsertPage(int32_t iPage)=0
Insert a new empty page before the page at index iPage.
virtual AAX_Result ClearMappedParameter(int32_t iPage, int32_t iIndex)=0
Clear the parameter at a particular index in this table.
virtual AAX_Result GetNameVariationParameterIDAtIndex(int32_t iIndex, AAX_IString &oParameterIdentifier) const =0
virtual AAX_Result GetNumParametersWithNameVariations(int32_t &oNumParameterIdentifiers) const =0
virtual AAX_Result GetParameterNameVariationAtIndex(AAX_CPageTableParamID iParameterIdentifier, int32_t iIndex, AAX_IString &oNameVariation, int32_t &oLength) const =0
virtual AAX_Result ClearNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier)=0
virtual AAX_Result GetNumNameVariationsForParameter(AAX_CPageTableParamID iParameterIdentifier, int32_t &oNumVariations) const =0
A simple string container that can be passed across a binary boundary. This class,...
Definition: AAX_IString.h:51