| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

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

- File List
- File Members

Loading...
Searching...
No Matches
AAX_VTransport.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2017, 2019-2021, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
19/*================================================================================================*/
20
21#ifndef AAX_VTRANSPORT_H
22#define AAX_VTRANSPORT_H
23
24#pragma once
25
26#include "AAX_ITransport.h"
27#include "AAX_IACFTransport.h"
28#include "AAX_IACFTransportControl.h"
29#include "ACFPtr.h"
30
35 class AAX_VTransport : public AAX_ITransport
36{
37 public:
38 AAX_VTransport( IACFUnknown* pUnknown );
39 ~AAX_VTransport() AAX_OVERRIDE;
40
41 // Transport Information Getters
42 // AAX_IACFTransport
43 AAX_Result GetCurrentTempo ( double* TempoBPM ) const AAX_OVERRIDE;
44 AAX_Result GetCurrentMeter ( int32_t* MeterNumerator, int32_t* MeterDenominator ) const AAX_OVERRIDE;
45 AAX_Result IsTransportPlaying ( bool* isPlaying ) const AAX_OVERRIDE;
46 AAX_Result GetCurrentTickPosition ( int64_t* TickPosition ) const AAX_OVERRIDE;
47 AAX_Result GetCurrentLoopPosition ( bool* bLooping, int64_t* LoopStartTick, int64_t* LoopEndTick ) const AAX_OVERRIDE;
48 AAX_Result GetCurrentNativeSampleLocation ( int64_t* SampleLocation ) const AAX_OVERRIDE;
49 AAX_Result GetCustomTickPosition( int64_t* oTickPosition, int64_t iSampleLocation) const AAX_OVERRIDE;
50 AAX_Result GetBarBeatPosition(int32_t* Bars, int32_t* Beats, int64_t* DisplayTicks, int64_t SampleLocation) const AAX_OVERRIDE;
51 AAX_Result GetTicksPerQuarter ( uint32_t* ticks ) const AAX_OVERRIDE;
52 AAX_Result GetCurrentTicksPerBeat ( uint32_t* ticks ) const AAX_OVERRIDE;
53
54 // AAX_IACFTransport_V2
55 AAX_Result GetTimelineSelectionStartPosition ( int64_t* oSampleLocation ) const AAX_OVERRIDE;
56 AAX_Result GetTimeCodeInfo( AAX_EFrameRate* oFrameRate, int32_t* oOffset ) const AAX_OVERRIDE;
57 AAX_Result GetFeetFramesInfo( AAX_EFeetFramesRate* oFeetFramesRate, int64_t* oOffset ) const AAX_OVERRIDE;
58 AAX_Result IsMetronomeEnabled ( int32_t* isEnabled ) const AAX_OVERRIDE;
59
60 // AAX_IACFTransport_V3
61 AAX_Result GetHDTimeCodeInfo( AAX_EFrameRate* oHDFrameRate, int64_t* oHDOffset ) const AAX_OVERRIDE;
62
63 // AAX_IACFTransport_V4
64 AAX_Result GetTimelineSelectionEndPosition( int64_t* oSampleLocation ) const AAX_OVERRIDE;
65
66 // AAX_IACFTransportControl
67 AAX_Result RequestTransportStart() AAX_OVERRIDE;
68 AAX_Result RequestTransportStop() AAX_OVERRIDE;
69
70private:
71 ACFPtr<AAX_IACFTransport> mITransport;
72 ACFPtr<AAX_IACFTransport_V2> mITransportV2;
73 ACFPtr<AAX_IACFTransport_V3> mITransportV3;
74 ACFPtr<AAX_IACFTransport_V4> mITransportV4;
75 ACFPtr<AAX_IACFTransportControl> mITransportControl;
76};
77
78#endif // AAX_VTRANSPORT_H
79
AAX_EFrameRate
AAX_EFrameRate
FrameRate types.
Definition: AAX_Enums.h:1096
AAX_EFeetFramesRate
AAX_EFeetFramesRate
FeetFramesRate types.
Definition: AAX_Enums.h:1125
AAX_IACFTransportControl.h
Interface for control over the host's transport state.
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_OVERRIDE
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
AAX_IACFTransport.h
Interface for accessing the host's transport state.
AAX_ITransport.h
The interface for query ProTools transport information.
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
AAX_IACFTransport
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:38
AAX_IACFTransport_V2
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:57
AAX_IACFTransport_V3
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:69
AAX_IACFTransport_V4
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:78
AAX_IACFTransportControl
Versioned interface to control the host's transport state.
Definition: AAX_IACFTransportControl.h:38
AAX_ITransport
Interface to information about the host's transport state.
Definition: AAX_ITransport.h:53
AAX_VTransport
Version-managed concrete AAX_ITransport class.
Definition: AAX_VTransport.h:36
AAX_VTransport::GetTimelineSelectionStartPosition
AAX_Result GetTimelineSelectionStartPosition(int64_t *oSampleLocation) const AAX_OVERRIDE
CALL: Retrieves the absolute sample position of the beginning of the current transport selection.
AAX_VTransport::GetCurrentTickPosition
AAX_Result GetCurrentTickPosition(int64_t *TickPosition) const AAX_OVERRIDE
CALL: Gets the current tick position.
AAX_VTransport::~AAX_VTransport
~AAX_VTransport() AAX_OVERRIDE
AAX_VTransport::GetCurrentTempo
AAX_Result GetCurrentTempo(double *TempoBPM) const AAX_OVERRIDE
CALL: Gets the current tempo.
AAX_VTransport::IsTransportPlaying
AAX_Result IsTransportPlaying(bool *isPlaying) const AAX_OVERRIDE
CALL: Indicates whether or not the transport is playing back.
AAX_VTransport::GetBarBeatPosition
AAX_Result GetBarBeatPosition(int32_t *Bars, int32_t *Beats, int64_t *DisplayTicks, int64_t SampleLocation) const AAX_OVERRIDE
CALL: Given an absolute sample position, gets the corresponding bar and beat position.
AAX_VTransport::AAX_VTransport
AAX_VTransport(IACFUnknown *pUnknown)
AAX_VTransport::GetCurrentTicksPerBeat
AAX_Result GetCurrentTicksPerBeat(uint32_t *ticks) const AAX_OVERRIDE
CALL: Retrieves the number of ticks per beat.
AAX_VTransport::GetCurrentMeter
AAX_Result GetCurrentMeter(int32_t *MeterNumerator, int32_t *MeterDenominator) const AAX_OVERRIDE
CALL: Gets the current meter.
AAX_VTransport::RequestTransportStop
AAX_Result RequestTransportStop() AAX_OVERRIDE
CALL: Request that the host transport stop playback.
AAX_VTransport::GetCurrentLoopPosition
AAX_Result GetCurrentLoopPosition(bool *bLooping, int64_t *LoopStartTick, int64_t *LoopEndTick) const AAX_OVERRIDE
CALL: Gets current information on loop playback.
AAX_VTransport::RequestTransportStart
AAX_Result RequestTransportStart() AAX_OVERRIDE
CALL: Request that the host transport start playback.
AAX_VTransport::GetTimelineSelectionEndPosition
AAX_Result GetTimelineSelectionEndPosition(int64_t *oSampleLocation) const AAX_OVERRIDE
CALL: Retrieves the absolute sample position of the end of the current transport selection.
AAX_VTransport::GetHDTimeCodeInfo
AAX_Result GetHDTimeCodeInfo(AAX_EFrameRate *oHDFrameRate, int64_t *oHDOffset) const AAX_OVERRIDE
CALL: Retrieves the current HD time code frame rate and offset.
AAX_VTransport::GetTicksPerQuarter
AAX_Result GetTicksPerQuarter(uint32_t *ticks) const AAX_OVERRIDE
CALL: Retrieves the number of ticks per quarter note.
AAX_VTransport::GetCurrentNativeSampleLocation
AAX_Result GetCurrentNativeSampleLocation(int64_t *SampleLocation) const AAX_OVERRIDE
CALL: Gets the current playback location of the native audio engine.
AAX_VTransport::GetCustomTickPosition
AAX_Result GetCustomTickPosition(int64_t *oTickPosition, int64_t iSampleLocation) const AAX_OVERRIDE
CALL: Given an absolute sample position, gets the corresponding tick position.
AAX_VTransport::GetFeetFramesInfo
AAX_Result GetFeetFramesInfo(AAX_EFeetFramesRate *oFeetFramesRate, int64_t *oOffset) const AAX_OVERRIDE
CALL: Retrieves the current timecode feet/frames rate and offset.
AAX_VTransport::GetTimeCodeInfo
AAX_Result GetTimeCodeInfo(AAX_EFrameRate *oFrameRate, int32_t *oOffset) const AAX_OVERRIDE
CALL: Retrieves the current time code frame rate and offset.
AAX_VTransport::IsMetronomeEnabled
AAX_Result IsMetronomeEnabled(int32_t *isEnabled) const AAX_OVERRIDE
Sets isEnabled to true if the metronome is enabled.