AAX SDK 2.8.0
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
List of all members | Classes | Public Member Functions
AAX_ISessionDocument Class Referenceabstract

#include <AAX_ISessionDocument.h>

Inheritance diagram for AAX_ISessionDocument:
[legend]

Description

Interface representing information in a host session document.

This interface wraps the versioned interfaces defined in AAX_IACFSessionDocument.h and provides additional convenience functions providing session data back in the expected format.

See also
AAX_ISessionDocumentClient

Classes

class  TempoMap
 

Public Member Functions

virtual ~AAX_ISessionDocument ()=default
 
virtual bool Valid () const =0
 Check whether this session document is valid.
 
virtual std::unique_ptr< TempoMap const > GetTempoMap ()=0
 Get a copy of the document's tempo map.
 
virtual AAX_Result GetDocumentData (AAX_DocumentData_UID const &inDataType, IACFUnknown **outData)=0
 

Constructor & Destructor Documentation

◆ ~AAX_ISessionDocument()

virtual AAX_ISessionDocument::~AAX_ISessionDocument ( )
virtualdefault

Member Function Documentation

◆ Valid()

virtual bool AAX_ISessionDocument::Valid ( ) const
pure virtual

Check whether this session document is valid.

Implemented in AAX_VSessionDocument.

◆ GetTempoMap()

virtual std::unique_ptr< TempoMap const > AAX_ISessionDocument::GetTempoMap ( )
pure virtual

Get a copy of the document's tempo map.

Returns
A TempoMap interface representing a copy of the current tempo map.
nullptr if the host does not support tempo map data or if an error occurred.

Implemented in AAX_VSessionDocument.

◆ GetDocumentData()

virtual AAX_Result AAX_ISessionDocument::GetDocumentData ( AAX_DocumentData_UID const &  inDataType,
IACFUnknown **  outData 
)
pure virtual

Get document data of a generic type

Similar to QueryInterface() but uses a data type identifier rather than a true IID

The provided interface has already had a reference added, so be careful not to add an additional reference:

ACFPtr<MyType> ptr;
IACFUnknown * docDataPtr{nullptr};
if (AAX_SUCCESS == doc->GetDocumentData(dataUID, &docDataPtr) && docDataPtr) {
ptr.attach(std::static_cast<MyType*>(docDataPtr)); // attach does not AddRef
}
@ AAX_SUCCESS
Definition: AAX_Errors.h:49
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
Parameters
[in]inDataTypeThe type of the document data requested
[out]outDataAn interface providing the requested data, or nullptr if the host does not support or cannot provide the requested data type. The reference count has been incremented on this object on behalf of the caller, so the caller must not add an additional reference count and must decrement the reference count on this object to release it. For information about which interface to expect for each requested data type, see the documentation for that data type.

Implemented in AAX_VSessionDocument.


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