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
Classes that inherit from AAX_CEffectParameters or AAX_CEffectGUI can use AAX_CEffectParameters::Transport() / AAX_CEffectGUI::Transport() to access this interface. This interface is used as a local interface to the AAX_VTransport versioned implemenation, which dispatches calls to the appropriate host-supplied versioned transport interface depending on which features are supported by the host. See AAX_CEffectParameters::Initialize() for an example.
A copy of this interface may also be obtained directly from the host using AAX_IMIDINode::GetTransport(). However, in this case the interface is not versioned, so the host and the plugin may not agree on the interface. This can lead to undefined behavior. See the documentation at AAX_IMIDINode::GetTransport() for more information.
|
| virtual | ~AAX_ITransport () |
| | Virtual destructor.
|
| |
| virtual AAX_Result | GetCurrentTempo (double *TempoBPM) const =0 |
| | CALL: Gets the current tempo.
|
| |
| virtual AAX_Result | GetCurrentMeter (int32_t *MeterNumerator, int32_t *MeterDenominator) const =0 |
| | CALL: Gets the current meter.
|
| |
| virtual AAX_Result | IsTransportPlaying (bool *isPlaying) const =0 |
| | CALL: Indicates whether or not the transport is playing back.
|
| |
| virtual AAX_Result | GetCurrentTickPosition (int64_t *TickPosition) const =0 |
| | CALL: Gets the current tick position.
|
| |
| virtual AAX_Result | GetCurrentLoopPosition (bool *bLooping, int64_t *LoopStartTick, int64_t *LoopEndTick) const =0 |
| | CALL: Gets current information on loop playback.
|
| |
| virtual AAX_Result | GetCurrentNativeSampleLocation (int64_t *SampleLocation) const =0 |
| | CALL: Gets the current playback location of the native audio engine.
|
| |
| virtual AAX_Result | GetCustomTickPosition (int64_t *oTickPosition, int64_t iSampleLocation) const =0 |
| | CALL: Given an absolute sample position, gets the corresponding tick position.
|
| |
| 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.
|
| |
| virtual AAX_Result | GetTicksPerQuarter (uint32_t *ticks) const =0 |
| | CALL: Retrieves the number of ticks per quarter note.
|
| |
| virtual AAX_Result | GetCurrentTicksPerBeat (uint32_t *ticks) const =0 |
| | CALL: Retrieves the number of ticks per beat.
|
| |
| virtual AAX_Result | GetTimelineSelectionStartPosition (int64_t *oSampleLocation) const =0 |
| | CALL: Retrieves the absolute sample position of the beginning of the current transport selection.
|
| |
| virtual AAX_Result | GetTimeCodeInfo (AAX_EFrameRate *oFrameRate, int32_t *oOffset) const =0 |
| | CALL: Retrieves the current time code frame rate and offset.
|
| |
| virtual AAX_Result | GetFeetFramesInfo (AAX_EFeetFramesRate *oFeetFramesRate, int64_t *oOffset) const =0 |
| | CALL: Retrieves the current timecode feet/frames rate and offset.
|
| |
| virtual AAX_Result | IsMetronomeEnabled (int32_t *isEnabled) const =0 |
| | Sets isEnabled to true if the metronome is enabled.
|
| |
| virtual AAX_Result | GetHDTimeCodeInfo (AAX_EFrameRate *oHDFrameRate, int64_t *oHDOffset) const =0 |
| | CALL: Retrieves the current HD time code frame rate and offset.
|
| |
| virtual AAX_Result | RequestTransportStart ()=0 |
| | CALL: Request that the host transport start playback.
|
| |
| virtual AAX_Result | RequestTransportStop ()=0 |
| | CALL: Request that the host transport stop playback.
|
| |
| virtual AAX_Result | GetTimelineSelectionEndPosition (int64_t *oSampleLocation) const =0 |
| | CALL: Retrieves the absolute sample position of the end of the current transport selection.
|
| |
| 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] | SampleLocation | Absolute sample location of the first sample in the current native processing buffer |
Implemented in AAX_VTransport.