JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
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 type is deprecated; prefer PositionInfo instead. More...
 
class  FrameRate
 More descriptive frame rate type. More...
 
struct  LoopPoints
 Holds the begin and end points of a looped region. More...
 
class  PositionInfo
 Describes the time at the start of the current audio callback. More...
 
struct  TimeSignature
 Describes a musical time signature. 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 ~AudioPlayHead ()=default
 
virtual bool canControlTransport ()
 Returns true if this object can control the transport.
 
bool getCurrentPosition (CurrentPositionInfo &result)
 Deprecated, use getPosition() instead.
 
virtual Optional< PositionInfogetPosition () const =0
 Fetches details about the transport's position at the start of the current processing block.
 
virtual void transportPlay (bool shouldStartPlaying)
 Starts or stops the audio.
 
virtual void transportRecord (bool shouldStartRecording)
 Starts or stops recording the audio.
 
virtual void transportRewind ()
 Rewinds the audio.
 

Protected Member Functions

 AudioPlayHead ()=default
 

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

@tags{Audio}

Member Enumeration Documentation

◆ FrameRateType

Frame rate types.

Enumerator
fps23976 
fps24 
fps25 
fps2997 
fps30 
fps2997drop 
fps30drop 
fps60 
fps60drop 
fpsUnknown 

Constructor & Destructor Documentation

◆ AudioPlayHead()

juce::AudioPlayHead::AudioPlayHead ( )
protecteddefault

◆ ~AudioPlayHead()

virtual juce::AudioPlayHead::~AudioPlayHead ( )
virtualdefault

Member Function Documentation

◆ canControlTransport()

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

Returns true if this object can control the transport.

◆ getCurrentPosition()

bool juce::AudioPlayHead::getCurrentPosition ( CurrentPositionInfo result)
inline

Deprecated, use getPosition() instead.

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.

◆ getPosition()

virtual Optional< PositionInfo > juce::AudioPlayHead::getPosition ( ) const
pure virtual

Fetches details about the transport's position at the start of the current processing block.

If this method returns nullopt then the current play head position is not available.

A non-null return value just indicates that the host was able to provide some* relevant timing information. Individual PositionInfo getters may still return nullopt.

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.

◆ transportPlay()

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

Starts or stops the audio.

◆ transportRecord()

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

Starts or stops recording the audio.

◆ transportRewind()

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

Rewinds the audio.


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