| 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_IACFTransport.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2013-2015, 2019-2021, 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
31/*================================================================================================*/
32
33#ifndef AAX_IACFTRANSPORT_H
34#define AAX_IACFTRANSPORT_H
35
36#pragma once
37
38#include "AAX.h"
39#include "AAX_Enums.h"
40
41#ifdef __clang__
42#pragma clang diagnostic push
43#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
44#endif
45
46#include "acfunknown.h"
47
50 class AAX_IACFTransport : public IACFUnknown
51{
52 public:
53
54 virtual AAX_Result GetCurrentTempo ( double* TempoBPM ) const = 0;
55 virtual AAX_Result GetCurrentMeter ( int32_t* MeterNumerator, int32_t* MeterDenominator ) const = 0;
56 virtual AAX_Result IsTransportPlaying ( bool* isPlaying ) const = 0;
57 virtual AAX_Result GetCurrentTickPosition ( int64_t* TickPosition ) const = 0;
58 virtual AAX_Result GetCurrentLoopPosition ( bool* bLooping, int64_t* LoopStartTick, int64_t* LoopEndTick ) const = 0;
59 virtual AAX_Result GetCurrentNativeSampleLocation ( int64_t* SampleLocation ) const = 0;
60 virtual AAX_Result GetCustomTickPosition ( int64_t* oTickPosition, int64_t iSampleLocation ) const = 0;
61 virtual AAX_Result GetBarBeatPosition ( int32_t* Bars, int32_t* Beats, int64_t* DisplayTicks, int64_t SampleLocation ) const = 0;
62 virtual AAX_Result GetTicksPerQuarter ( uint32_t* ticks ) const = 0;
63 virtual AAX_Result GetCurrentTicksPerBeat ( uint32_t* ticks ) const = 0;
64
65};
66
69 class AAX_IACFTransport_V2 : public AAX_IACFTransport
70{
71 public:
72
73 virtual AAX_Result GetTimelineSelectionStartPosition( int64_t* oSampleLocation ) const = 0;
74 virtual AAX_Result GetTimeCodeInfo( AAX_EFrameRate* oFrameRate, int32_t* oOffset ) const = 0;
75 virtual AAX_Result GetFeetFramesInfo( AAX_EFeetFramesRate* oFeetFramesRate, int64_t* oOffset ) const = 0;
76 virtual AAX_Result IsMetronomeEnabled ( int32_t* isEnabled ) const = 0;
77};
78
81 class AAX_IACFTransport_V3 : public AAX_IACFTransport_V2
82{
83 public:
84
85 virtual AAX_Result GetHDTimeCodeInfo( AAX_EFrameRate* oHDFrameRate, int64_t* oHDOffset ) const = 0;
86};
87
90 class AAX_IACFTransport_V4 : public AAX_IACFTransport_V3
91{
92 public:
93
94 virtual AAX_Result GetTimelineSelectionEndPosition( int64_t* oSampleLocation ) const = 0;
95};
96
99 class AAX_IACFTransport_V5 : public AAX_IACFTransport_V4
100{
101 public:
102
103 virtual AAX_Result GetKeySignature( int64_t iSampleLocation, uint32_t* oKeySignature ) const = 0;
104};
105
106#ifdef __clang__
107#pragma clang diagnostic pop
108#endif
109
110#endif // AAX_IACFTRANSPORT_H
111
AAX_Enums.h
Utility functions for byte-swapping. Used by AAX_CChunkDataParser.
AAX_EFrameRate
AAX_EFrameRate
FrameRate types.
Definition: AAX_Enums.h:1142
AAX_EFeetFramesRate
AAX_EFeetFramesRate
FeetFramesRate types.
Definition: AAX_Enums.h:1171
AAX.h
Various utility definitions for AAX.
AAX_Result
int32_t AAX_Result
Definition: AAX.h:347
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
AAX_IACFTransport
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:51
AAX_IACFTransport::GetBarBeatPosition
virtual AAX_Result GetBarBeatPosition(int32_t *Bars, int32_t *Beats, int64_t *DisplayTicks, int64_t SampleLocation) const =0
CALL: Given an absolute sample position, gets the corresponding bar and beat position.
AAX_IACFTransport::GetTicksPerQuarter
virtual AAX_Result GetTicksPerQuarter(uint32_t *ticks) const =0
CALL: Retrieves the number of ticks per quarter note.
AAX_IACFTransport::GetCurrentTicksPerBeat
virtual AAX_Result GetCurrentTicksPerBeat(uint32_t *ticks) const =0
CALL: Retrieves the number of ticks per beat.
AAX_IACFTransport::GetCurrentTickPosition
virtual AAX_Result GetCurrentTickPosition(int64_t *TickPosition) const =0
CALL: Gets the current tick position.
AAX_IACFTransport::GetCurrentMeter
virtual AAX_Result GetCurrentMeter(int32_t *MeterNumerator, int32_t *MeterDenominator) const =0
CALL: Gets the current meter.
AAX_IACFTransport::GetCurrentLoopPosition
virtual AAX_Result GetCurrentLoopPosition(bool *bLooping, int64_t *LoopStartTick, int64_t *LoopEndTick) const =0
CALL: Gets current information on loop playback.
AAX_IACFTransport::GetCurrentTempo
virtual AAX_Result GetCurrentTempo(double *TempoBPM) const =0
CALL: Gets the current tempo.
AAX_IACFTransport::GetCustomTickPosition
virtual AAX_Result GetCustomTickPosition(int64_t *oTickPosition, int64_t iSampleLocation) const =0
CALL: Given an absolute sample position, gets the corresponding tick position.
AAX_IACFTransport::GetCurrentNativeSampleLocation
virtual AAX_Result GetCurrentNativeSampleLocation(int64_t *SampleLocation) const =0
CALL: Gets the current playback location of the native audio engine.
AAX_IACFTransport::IsTransportPlaying
virtual AAX_Result IsTransportPlaying(bool *isPlaying) const =0
CALL: Indicates whether or not the transport is playing back.
AAX_IACFTransport_V2
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:70
AAX_IACFTransport_V2::GetTimelineSelectionStartPosition
virtual AAX_Result GetTimelineSelectionStartPosition(int64_t *oSampleLocation) const =0
CALL: Retrieves the absolute sample position of the beginning of the current transport selection.
AAX_IACFTransport_V2::GetTimeCodeInfo
virtual AAX_Result GetTimeCodeInfo(AAX_EFrameRate *oFrameRate, int32_t *oOffset) const =0
CALL: Retrieves the current time code frame rate and offset.
AAX_IACFTransport_V2::IsMetronomeEnabled
virtual AAX_Result IsMetronomeEnabled(int32_t *isEnabled) const =0
Sets isEnabled to true if the metronome is enabled.
AAX_IACFTransport_V2::GetFeetFramesInfo
virtual AAX_Result GetFeetFramesInfo(AAX_EFeetFramesRate *oFeetFramesRate, int64_t *oOffset) const =0
CALL: Retrieves the current timecode feet/frames rate and offset.
AAX_IACFTransport_V3
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:82
AAX_IACFTransport_V3::GetHDTimeCodeInfo
virtual AAX_Result GetHDTimeCodeInfo(AAX_EFrameRate *oHDFrameRate, int64_t *oHDOffset) const =0
CALL: Retrieves the current HD time code frame rate and offset.
AAX_IACFTransport_V4
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:91
AAX_IACFTransport_V4::GetTimelineSelectionEndPosition
virtual AAX_Result GetTimelineSelectionEndPosition(int64_t *oSampleLocation) const =0
CALL: Retrieves the absolute sample position of the end of the current transport selection.
AAX_IACFTransport_V5
Versioned interface to get information about the host's transport state.
Definition: AAX_IACFTransport.h:100
AAX_IACFTransport_V5::GetKeySignature
virtual AAX_Result GetKeySignature(int64_t iSampleLocation, uint32_t *oKeySignature) const =0
CALL: Retrieves the key signature at a sample location.