| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

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

- File List
- File Members

Loading...
Searching...
No Matches
AAX_VCollection.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2019, 2023-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
32/*================================================================================================*/
33
34#ifndef AAX_VCOLLECTION_H
35#define AAX_VCOLLECTION_H
36
37#include "AAX.h"
38#include "AAX_ICollection.h"
39#include "AAX_IACFCollection.h"
40#include "AAX_VDescriptionHost.h"
41#include "acfunknown.h"
42#include "ACFPtr.h"
43#include <set>
44
45 class IACFUnknown;
46 class IACFPluginDefinition;
47 class AAX_IACFCollection;
48 class AAX_IEffectDescriptor;
49
54 class AAX_VCollection : public AAX_ICollection
55{
56 public:
57 AAX_VCollection (IACFUnknown * pUnkHost);
58 ~AAX_VCollection () AAX_OVERRIDE;
59
64 AAX_IEffectDescriptor * NewDescriptor () AAX_OVERRIDE;
65 AAX_Result AddEffect ( const char * inEffectID, AAX_IEffectDescriptor * inEffectDescriptor ) AAX_OVERRIDE;
66 AAX_Result SetManufacturerName( const char* inPackageName ) AAX_OVERRIDE;
67 AAX_Result AddPackageName( const char *inPackageName ) AAX_OVERRIDE;
68 AAX_Result SetPackageVersion( uint32_t inVersion ) AAX_OVERRIDE;
69 AAX_IPropertyMap * NewPropertyMap () AAX_OVERRIDE;
70 AAX_Result SetProperties ( AAX_IPropertyMap * inProperties ) AAX_OVERRIDE;
71 AAX_Result GetHostVersion(uint32_t* outVersion) const AAX_OVERRIDE;
72
73 AAX_IDescriptionHost* DescriptionHost() AAX_OVERRIDE;
74 const AAX_IDescriptionHost* DescriptionHost() const AAX_OVERRIDE;
75 IACFDefinition* HostDefinition() const AAX_OVERRIDE;
76
77 IACFPluginDefinition* GetIUnknown() const;
78
79private:
80 ACFPtr<IACFUnknown> mUnkHost;
81 ACFPtr<AAX_IACFCollection> mIACFCollection;
82 AAX_VDescriptionHost mDescriptionHost;
83 std::set<AAX_IEffectDescriptor *> mEffectDescriptors;
84 std::set<AAX_IPropertyMap *> mPropertyMaps;
85};
86
87#endif
AAX_IACFCollection.h
Versioned interface to represent a plug-in binary's static description.
AAX.h
Various utility definitions for AAX.
AAX_Result
int32_t AAX_Result
Definition: AAX.h:347
AAX_OVERRIDE
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:164
AAX_VDescriptionHost.h
AAX_ICollection.h
Interface to represent a plug-in binary's static description.
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
IACFDefinition
Publicly inherits from IACFUnknown.This abstract interface is used to indentify all of the plug-in co...
Definition: AAX_ACFInterface.doxygen:314
AAX_IACFCollection
Versioned interface to represent a plug-in binary's static description.
Definition: AAX_IACFCollection.h:50
AAX_ICollection
Interface to represent a plug-in binary's static description.
Definition: AAX_ICollection.h:64
AAX_IDescriptionHost
Definition: AAX_IDescriptionHost.h:35
AAX_IEffectDescriptor
Description interface for an effect's (plug-in type's) components.
Definition: AAX_IEffectDescriptor.h:60
AAX_IPropertyMap
Generic plug-in description property map.
Definition: AAX_IPropertyMap.h:69
AAX_VCollection
Version-managed concrete AAX_ICollection class.
Definition: AAX_VCollection.h:55
AAX_VCollection::SetProperties
AAX_Result SetProperties(AAX_IPropertyMap *inProperties) AAX_OVERRIDE
Set the properties of the collection.
AAX_VCollection::~AAX_VCollection
~AAX_VCollection() AAX_OVERRIDE
AAX_VCollection::AddPackageName
AAX_Result AddPackageName(const char *inPackageName) AAX_OVERRIDE
Set the plug-in package name.
AAX_VCollection::AddEffect
AAX_Result AddEffect(const char *inEffectID, AAX_IEffectDescriptor *inEffectDescriptor) AAX_OVERRIDE
Add an Effect description to the collection.
AAX_VCollection::SetManufacturerName
AAX_Result SetManufacturerName(const char *inPackageName) AAX_OVERRIDE
Set the plug-in manufacturer name.
AAX_VCollection::GetHostVersion
AAX_Result GetHostVersion(uint32_t *outVersion) const AAX_OVERRIDE
Get the current version of the host.
AAX_VCollection::NewDescriptor
AAX_IEffectDescriptor * NewDescriptor() AAX_OVERRIDE
Create a new Effect descriptor.
AAX_VCollection::AAX_VCollection
AAX_VCollection(IACFUnknown *pUnkHost)
AAX_VCollection::NewPropertyMap
AAX_IPropertyMap * NewPropertyMap() AAX_OVERRIDE
Create a new property map.
AAX_VCollection::GetIUnknown
IACFPluginDefinition * GetIUnknown() const
AAX_VCollection::SetPackageVersion
AAX_Result SetPackageVersion(uint32_t inVersion) AAX_OVERRIDE
Set the plug-in package version number.
AAX_VCollection::DescriptionHost
AAX_IDescriptionHost * DescriptionHost() AAX_OVERRIDE
AAX_VCollection::HostDefinition
IACFDefinition * HostDefinition() const AAX_OVERRIDE
AAX_VDescriptionHost
Definition: AAX_VDescriptionHost.h:43