OpenShot Library | OpenShotAudio  0.2.2
juce::AudioPlayHead Class Referenceabstract

A subclass of AudioPlayHead can supply information about the position and status of a moving play head during audio playback. More...

#include <juce_AudioPlayHead.h>

Classes

struct  CurrentPositionInfo
 This structure is filled-in by the AudioPlayHead::getCurrentPosition() method. More...
 

Public Types

enum  FrameRateType {
  fps23976 = 0, fps24 = 1, fps25 = 2, fps2997 = 3,
  fps30 = 4, fps2997drop = 5, fps30drop = 6, fps60 = 7,
  fps60drop = 8, fpsUnknown = 99
}
 Frame rate types. More...
 

Public Member Functions

virtual bool getCurrentPosition (CurrentPositionInfo &result)=0
 Fills-in the given structure with details about the transport's position at the start of the current processing block. More...
 
virtual bool canControlTransport ()
 Returns true if this object can control the transport. More...
 
virtual void transportPlay (bool shouldStartPlaying)
 Starts or stops the audio. More...
 
virtual void transportRecord (bool shouldStartRecording)
 Starts or stops recording the audio. More...
 
virtual void transportRewind ()
 Rewinds the audio. More...
 

Detailed Description

A subclass of AudioPlayHead can supply information about the position and status of a moving play head during audio playback.

One of these can be supplied to an AudioProcessor object so that it can find out about the position of the audio that it is rendering.

See also
AudioProcessor::setPlayHead, AudioProcessor::getPlayHead

Definition at line 42 of file juce_AudioPlayHead.h.

Member Enumeration Documentation

◆ FrameRateType

Frame rate types.

Definition at line 53 of file juce_AudioPlayHead.h.

Member Function Documentation

◆ getCurrentPosition()

virtual bool juce::AudioPlayHead::getCurrentPosition ( CurrentPositionInfo result)
pure virtual

Fills-in the given structure with details about the transport's position at the start of the current processing block.

If this method returns false then the current play head position is not available and the given structure will be undefined.

You can ONLY call this from your processBlock() method! Calling it at other times will produce undefined behaviour, as the host may not have any context in which a time would make sense, and some hosts will almost certainly have multithreading issues if it's not called on the audio thread.

◆ canControlTransport()

virtual bool juce::AudioPlayHead::canControlTransport ( )
inlinevirtual

Returns true if this object can control the transport.

Definition at line 149 of file juce_AudioPlayHead.h.

◆ transportPlay()

virtual void juce::AudioPlayHead::transportPlay ( bool  shouldStartPlaying)
inlinevirtual

Starts or stops the audio.

Definition at line 152 of file juce_AudioPlayHead.h.

◆ transportRecord()

virtual void juce::AudioPlayHead::transportRecord ( bool  shouldStartRecording)
inlinevirtual

Starts or stops recording the audio.

Definition at line 155 of file juce_AudioPlayHead.h.

◆ transportRewind()

virtual void juce::AudioPlayHead::transportRewind ( )
inlinevirtual

Rewinds the audio.

Definition at line 158 of file juce_AudioPlayHead.h.


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