AAX SDK  2.4.1
Avid Audio Extensions Development Kit
List of all members | Public Member Functions
AAX_ICollection Class Referenceabstract

#include <AAX_ICollection.h>

Inheritance diagram for AAX_ICollection:
[legend]

Description

Interface to represent a plug-in binary's static description.

:Implemented by the AAX Host:

The AAX_ICollection interface provides a creation function for new plug-in descriptors, which in turn provides access to the various interfaces necessary for describing a plug-in. When a plug-in description is complete, it is added to the collection via the AddEffect method. The AAX_ICollection interface also provides some additional description methods that are used to describe the overall plug-in package. These methods can be used to describe the plug-in package's name, the name of the plug-in's manufacturer, and the plug-in package version.

Legacy Porting Notes:
The information in AAX_ICollection is roughly analogous to the information provided by CProcessGroup in the legacy plug-in library

Public Member Functions

virtual ~AAX_ICollection ()
 
virtual AAX_IEffectDescriptorNewDescriptor ()=0
 Create a new Effect descriptor. More...
 
virtual AAX_Result AddEffect (const char *inEffectID, AAX_IEffectDescriptor *inEffectDescriptor)=0
 Add an Effect description to the collection. More...
 
virtual AAX_Result SetManufacturerName (const char *inPackageName)=0
 Set the plug-in manufacturer name. More...
 
virtual AAX_Result AddPackageName (const char *inPackageName)=0
 Set the plug-in package name. More...
 
virtual AAX_Result SetPackageVersion (uint32_t inVersion)=0
 Set the plug-in package version number. More...
 
virtual AAX_IPropertyMapNewPropertyMap ()=0
 Create a new property map. More...
 
virtual AAX_Result SetProperties (AAX_IPropertyMap *inProperties)=0
 Set the properties of the collection. More...
 
virtual AAX_IDescriptionHostDescriptionHost ()=0
 
virtual const AAX_IDescriptionHostDescriptionHost () const =0
 
virtual IACFDefinitionHostDefinition () const =0
 

Constructor & Destructor Documentation

◆ ~AAX_ICollection()

virtual AAX_ICollection::~AAX_ICollection ( )
inlinevirtual

Member Function Documentation

◆ NewDescriptor()

virtual AAX_IEffectDescriptor* AAX_ICollection::NewDescriptor ( )
pure virtual

Create a new Effect descriptor.

Implemented in AAX_VCollection.

◆ AddEffect()

virtual AAX_Result AAX_ICollection::AddEffect ( const char *  inEffectID,
AAX_IEffectDescriptor inEffectDescriptor 
)
pure virtual

Add an Effect description to the collection.

Each Effect that a plug-in registers with AAX_ICollection::AddEffect() is considered a completely different user-facing product. For example, in Avid's Dynamics III plug-in the Expander, Compressor, and DeEsser are each registered as separate Effects. All stem format variations within each Effect are registered within that Effect's AAX_IEffectDescriptor using AddComponent().

The AAX_eProperty_ProductID value for all ProcessProcs within a single Effect must be identical.

This method passes ownership of an AAX_IEffectDescriptor object to the AAX_ICollection. The AAX_IEffectDescriptor must not be deleted by the AAX plug-in, nor should it be edited in any way after it is passed to the AAX_ICollection.

Parameters
[in]inEffectIDThe effect ID.
[in]inEffectDescriptorThe Effect descriptor.

Implemented in AAX_VCollection.

◆ SetManufacturerName()

virtual AAX_Result AAX_ICollection::SetManufacturerName ( const char *  inPackageName)
pure virtual

Set the plug-in manufacturer name.

Parameters
[in]inPackageNameThe name of the manufacturer.

Implemented in AAX_VCollection.

◆ AddPackageName()

virtual AAX_Result AAX_ICollection::AddPackageName ( const char *  inPackageName)
pure virtual

Set the plug-in package name.

May be called multiple times to add abbreviated package names.

Note
Every plug-in must include at least one name variant with 16 or fewer characters, plus a null terminating character. Used for Presets folder.
Parameters
[in]inPackageNameThe name of the package.

Implemented in AAX_VCollection.

◆ SetPackageVersion()

virtual AAX_Result AAX_ICollection::SetPackageVersion ( uint32_t  inVersion)
pure virtual

Set the plug-in package version number.

Parameters
[in]inVersionThe package version numner.

Implemented in AAX_VCollection.

◆ NewPropertyMap()

virtual AAX_IPropertyMap* AAX_ICollection::NewPropertyMap ( )
pure virtual

Create a new property map.

Implemented in AAX_VCollection.

◆ SetProperties()

virtual AAX_Result AAX_ICollection::SetProperties ( AAX_IPropertyMap inProperties)
pure virtual

Set the properties of the collection.

Parameters
[in]inPropertiesCollection properties

Implemented in AAX_VCollection.

◆ DescriptionHost() [1/2]

virtual AAX_IDescriptionHost* AAX_ICollection::DescriptionHost ( )
pure virtual

Get a pointer to an AAX_IDescriptionHost, if supported by the host

This interface is served by the AAX_ICollection in order to avoid requiring a new method prototype for the GetEffectDescriptions() method called from the AAX Library.

See also
AAX_UIDs.h for available feature UIDs, e.g. AAXATTR_ClientFeature_AuxOutputStem

Implemented in AAX_VCollection.

◆ DescriptionHost() [2/2]

virtual const AAX_IDescriptionHost* AAX_ICollection::DescriptionHost ( ) const
pure virtual

Get a pointer to an AAX_IDescriptionHost, if supported by the host

This interface is served by the AAX_ICollection in order to avoid requiring a new method prototype for the GetEffectDescriptions() method called from the AAX Library.

See also
AAX_UIDs.h for available feature UIDs, e.g. AAXATTR_ClientFeature_AuxOutputStem

Implemented in AAX_VCollection.

◆ HostDefinition()

virtual IACFDefinition* AAX_ICollection::HostDefinition ( ) const
pure virtual

Get a pointer to an IACFDefinition, if supported by the host

This interface is served by the AAX_ICollection in order to avoid requiring a new method prototype for the GetEffectDescriptions() method called from the AAX Library.

See also
AAX_UIDs.h for available host attribute UIDs, e.g. AAXATTR_Client_Level

The implementation of AAX_ICollection owns the referenced object. No AddRef occurs.

IACFDefinition::DefineAttribute() is not supported on this object

Implemented in AAX_VCollection.


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