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

#include <AAX_ITransport.h>

Inheritance diagram for AAX_ITransport:
[legend]

Description

Interface to information about the host's transport state.

:Implemented by the AAX Host:

Plug-ins that use this interface should describe AAX_eProperty_UsesTransport as 1

Acquire this interface using AAX_IMIDINode::GetTransport(). Classes that inherit from AAX_CEffectParameters or AAX_CEffectGUI can also use AAX_CEffectParameters::Transport() / AAX_CEffectGUI::Transport().

Public Member Functions

virtual ~AAX_ITransport ()
 Virtual destructor. More...
 
virtual AAX_Result GetCurrentTempo (double *TempoBPM) const =0
 CALL: Gets the current tempo. More...
 
virtual AAX_Result GetCurrentMeter (int32_t *MeterNumerator, int32_t *MeterDenominator) const =0
 CALL: Gets the current meter. More...
 
virtual AAX_Result IsTransportPlaying (bool *isPlaying) const =0
 CALL: Indicates whether or not the transport is playing back. More...
 
virtual AAX_Result GetCurrentTickPosition (int64_t *TickPosition) const =0
 CALL: Gets the current tick position. More...
 
virtual AAX_Result GetCurrentLoopPosition (bool *bLooping, int64_t *LoopStartTick, int64_t *LoopEndTick) const =0
 CALL: Gets current information on loop playback. More...
 
virtual AAX_Result GetCurrentNativeSampleLocation (int64_t *SampleLocation) const =0
 CALL: Gets the current playback location of the native audio engine. More...
 
virtual AAX_Result GetCustomTickPosition (int64_t *oTickPosition, int64_t iSampleLocation) const =0
 CALL: Given an absolute sample position, gets the corresponding tick position. More...
 
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. More...
 
virtual AAX_Result GetTicksPerQuarter (uint32_t *ticks) const =0
 CALL: Retrieves the number of ticks per quarter note. More...
 
virtual AAX_Result GetCurrentTicksPerBeat (uint32_t *ticks) const =0
 CALL: Retrieves the number of ticks per beat. More...
 
virtual AAX_Result GetTimelineSelectionStartPosition (int64_t *oSampleLocation) const =0
 CALL: Retrieves the current absolute sample position of the beginning of the current transport selection. More...
 
virtual AAX_Result GetTimeCodeInfo (AAX_EFrameRate *oFrameRate, int32_t *oOffset) const =0
 CALL: Retrieves the current time code frame rate and offset. More...
 
virtual AAX_Result GetFeetFramesInfo (AAX_EFeetFramesRate *oFeetFramesRate, int64_t *oOffset) const =0
 CALL: Retrieves the current timecode feet/frames rate and offset. More...
 
virtual AAX_Result IsMetronomeEnabled (int32_t *isEnabled) const =0
 Sets isEnabled to true if the metronome is enabled. More...
 
virtual AAX_Result GetHDTimeCodeInfo (AAX_EFrameRate *oHDFrameRate, int64_t *oHDOffset) const =0
 CALL: Retrieves the current HD time code frame rate and offset. More...
 

Constructor & Destructor Documentation

◆ ~AAX_ITransport()

virtual AAX_ITransport::~AAX_ITransport ( )
inlinevirtual

Virtual destructor.

Note
This destructor MUST be virtual to prevent memory leaks.

Member Function Documentation

◆ GetCurrentTempo()

virtual AAX_Result AAX_ITransport::GetCurrentTempo ( double *  TempoBPM) const
pure virtual

CALL: Gets the current tempo.

Returns the tempo corresponding to the current position of the transport counter

Note
The resolution of the tempo returned here is based on the host's tempo resolution, so it will match the tempo displayed in the host. Use GetCurrentTicksPerBeat() to calculate the tempo resolution note.
Parameters
[out]TempoBPMThe current tempo in beats per minute

Implemented in AAX_VTransport.

◆ GetCurrentMeter()

virtual AAX_Result AAX_ITransport::GetCurrentMeter ( int32_t *  MeterNumerator,
int32_t *  MeterDenominator 
) const
pure virtual

CALL: Gets the current meter.

Returns the meter corresponding to the current position of the transport counter

Parameters
[out]MeterNumeratorThe numerator portion of the meter
[out]MeterDenominatorThe denominator portion of the meter

Implemented in AAX_VTransport.

◆ IsTransportPlaying()

virtual AAX_Result AAX_ITransport::IsTransportPlaying ( bool *  isPlaying) const
pure virtual

CALL: Indicates whether or not the transport is playing back.

Parameters
[out]isPlayingtrue if the transport is currently in playback

Implemented in AAX_VTransport.

◆ GetCurrentTickPosition()

virtual AAX_Result AAX_ITransport::GetCurrentTickPosition ( int64_t *  TickPosition) const
pure virtual

CALL: Gets the current tick position.

Returns the current tick position corresponding to the current transport position. One "Tick" is represented here as 1/960000 of a quarter note. That is, there are 960,000 of these ticks in a quarter note.

Host Compatibility Notes:
The tick resolution here is different than that of the tick displayed in Pro Tools. "Display ticks" (as they are called) are 1/960 of a quarter note.
Parameters
[out]TickPositionThe tick position value

Implemented in AAX_VTransport.

◆ GetCurrentLoopPosition()

virtual AAX_Result AAX_ITransport::GetCurrentLoopPosition ( bool *  bLooping,
int64_t *  LoopStartTick,
int64_t *  LoopEndTick 
) const
pure virtual

CALL: Gets current information on loop playback.

Host Compatibility Notes:
This does not indicate anything about the status of the "Loop Record" option. Even when the host is configured to loop playback, looping may not occur if certain conditions are not met (i.e. the length of the selection is too short)
Parameters
[out]bLoopingtrue if the host is configured to loop playback
[out]LoopStartTickThe starting tick position of the selection being looped (see GetCurrentTickPosition())
[out]LoopEndTickThe ending tick position of the selection being looped (see GetCurrentTickPosition())

Implemented in AAX_VTransport.

◆ GetCurrentNativeSampleLocation()

virtual AAX_Result AAX_ITransport::GetCurrentNativeSampleLocation ( int64_t *  SampleLocation) const
pure virtual

CALL: Gets the current playback location of the native audio engine.

When called from a ProcessProc render callback, this method will provide the absolute sample location at the beginning of the callback's audio buffers.

When called from AAX_IEffectParameters::RenderAudio_Hybrid(), this method will provide the absolute sample location for the samples in the method's output audio buffers. To calculate the absolute sample location for the sampels in the method's input buffers (i.e. the timelin location where the samples originated) subtract the value provided by AAX_IController::GetHybridSignalLatency() from this value.

When called from a non-real-time thread, this method will provide the current location of the samples being processed by the plug-in's ProcessProc on its real-time processing thread.

Note
This method only returns a value during playback. It cannot be used to determine, e.g., the location of the timeline selector while the host is not in playback.
Parameters
[out]SampleLocationAbsolute sample location of the first sample in the current native processing buffer

Implemented in AAX_VTransport.

◆ GetCustomTickPosition()

virtual AAX_Result AAX_ITransport::GetCustomTickPosition ( int64_t *  oTickPosition,
int64_t  iSampleLocation 
) const
pure virtual

CALL: Given an absolute sample position, gets the corresponding tick position.

Host Compatibility Notes:
There is a minor performance cost associated with using this API in Pro Tools. It should not be used excessively without need.
Parameters
[out]oTickPositionthe timeline tick position corresponding to iSampleLocation
[in]iSampleLocationAn absolute sample location (see GetCurrentNativeSampleLocation())

Implemented in AAX_VTransport.

◆ GetBarBeatPosition()

virtual AAX_Result AAX_ITransport::GetBarBeatPosition ( int32_t *  Bars,
int32_t *  Beats,
int64_t *  DisplayTicks,
int64_t  SampleLocation 
) const
pure virtual

CALL: Given an absolute sample position, gets the corresponding bar and beat position.

Host Compatibility Notes:
There is a minor performance cost associated with using this API in Pro Tools. It should not be used excessively without need.
Parameters
[out]BarsThe bar corresponding to SampleLocation
[out]BeatsThe beat corresponding to SampleLocation
[out]DisplayTicksThe ticks corresponding to SampleLocation
[in]SampleLocationAn absolute sample location (see GetCurrentNativeSampleLocation())

Implemented in AAX_VTransport.

◆ GetTicksPerQuarter()

virtual AAX_Result AAX_ITransport::GetTicksPerQuarter ( uint32_t *  ticks) const
pure virtual

CALL: Retrieves the number of ticks per quarter note.

Parameters
[out]ticks

Implemented in AAX_VTransport.

◆ GetCurrentTicksPerBeat()

virtual AAX_Result AAX_ITransport::GetCurrentTicksPerBeat ( uint32_t *  ticks) const
pure virtual

CALL: Retrieves the number of ticks per beat.

Parameters
[out]ticks

Implemented in AAX_VTransport.

◆ GetTimelineSelectionStartPosition()

virtual AAX_Result AAX_ITransport::GetTimelineSelectionStartPosition ( int64_t *  oSampleLocation) const
pure virtual

CALL: Retrieves the current absolute sample position of the beginning of the current transport selection.

Note
This method is part of the version 2 transport interface
Parameters
[out]oSampleLocation

Implemented in AAX_VTransport.

◆ GetTimeCodeInfo()

virtual AAX_Result AAX_ITransport::GetTimeCodeInfo ( AAX_EFrameRate oFrameRate,
int32_t *  oOffset 
) const
pure virtual

CALL: Retrieves the current time code frame rate and offset.

Note
This method is part of the version 2 transport interface
Parameters
[out]oFrameRate
[out]oOffset

Implemented in AAX_VTransport.

◆ GetFeetFramesInfo()

virtual AAX_Result AAX_ITransport::GetFeetFramesInfo ( AAX_EFeetFramesRate oFeetFramesRate,
int64_t *  oOffset 
) const
pure virtual

CALL: Retrieves the current timecode feet/frames rate and offset.

Note
This method is part of the version 2 transport interface
Parameters
[out]oFeetFramesRate
[out]oOffset

Implemented in AAX_VTransport.

◆ IsMetronomeEnabled()

virtual AAX_Result AAX_ITransport::IsMetronomeEnabled ( int32_t *  isEnabled) const
pure virtual

Sets isEnabled to true if the metronome is enabled.

Note
This method is part of the version 2 transport interface
Parameters
[out]isEnabled

Implemented in AAX_VTransport.

◆ GetHDTimeCodeInfo()

virtual AAX_Result AAX_ITransport::GetHDTimeCodeInfo ( AAX_EFrameRate oHDFrameRate,
int64_t *  oHDOffset 
) const
pure virtual

CALL: Retrieves the current HD time code frame rate and offset.

Note
This method is part of the version 3 transport interface
Parameters
[out]oHDFrameRate
[out]oHDOffset

Implemented in AAX_VTransport.


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