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

#include <AAX_IACFTransport.h>

Inheritance diagram for AAX_IACFTransport:
[legend]
Collaboration diagram for AAX_IACFTransport:
[legend]

Description

Versioned interface to information about the host's transport state.

Public Member Functions

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...
 
- Public Member Functions inherited from IACFUnknown
virtual BEGIN_ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE QueryInterface (const acfIID &iid, void **ppOut)=0
 Returns pointers to supported interfaces. More...
 
virtual acfUInt32 ACFMETHODCALLTYPE AddRef (void)=0
 Increments reference count. More...
 
virtual acfUInt32 ACFMETHODCALLTYPE Release (void)=0
 Decrements reference count. More...
 

Member Function Documentation

◆ GetCurrentTempo()

virtual AAX_Result AAX_IACFTransport::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

◆ GetCurrentMeter()

virtual AAX_Result AAX_IACFTransport::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

◆ IsTransportPlaying()

virtual AAX_Result AAX_IACFTransport::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

◆ GetCurrentTickPosition()

virtual AAX_Result AAX_IACFTransport::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

◆ GetCurrentLoopPosition()

virtual AAX_Result AAX_IACFTransport::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())

◆ GetCurrentNativeSampleLocation()

virtual AAX_Result AAX_IACFTransport::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

◆ GetCustomTickPosition()

virtual AAX_Result AAX_IACFTransport::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())

◆ GetBarBeatPosition()

virtual AAX_Result AAX_IACFTransport::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())

◆ GetTicksPerQuarter()

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

CALL: Retrieves the number of ticks per quarter note.

Parameters
[out]ticks

◆ GetCurrentTicksPerBeat()

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

CALL: Retrieves the number of ticks per beat.

Parameters
[out]ticks

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