Sayonara Player
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | List of all members
Engine::Pipeline Class Reference

The PlaybackPipeline class. More...

#include <Pipeline.h>

Inheritance diagram for Engine::Pipeline:
PipelineExtensions::EqualizerAccessible PipelineExtensions::Pitchable PipelineExtensions::PositionAccessible PipelineExtensions::BroadcastDataReceiver PipelineExtensions::DelayedPlayable PipelineExtensions::Changeable PipelineExtensions::Fadeable

Public Types

enum  FadeMode : unsigned char {
  NoFading =0,
  FadeIn,
  FadeOut
}
 

Public Slots

void play () override
 
void stop () override
 
void pause ()
 

Signals

void sigAboutToFinishMs (MilliSeconds ms)
 
void sigPositionChangedMs (MilliSeconds ms)
 
void sigDataAvailable (const QByteArray &data)
 

Public Member Functions

 Pipeline (const QString &name, QObject *parent=nullptr)
 
bool init (Engine *engine)
 
bool prepare (const QString &uri)
 
bool hasElement (GstElement *e) const
 
GstState state () const
 
void checkPosition ()
 
void checkAboutToFinish ()
 
void setVisualizerEnabled (bool levelEnabled, bool spectrumEnabled)
 
bool isLevelVisualizerEnabled () const
 
bool isSpectrumVisualizerEnabled () const
 
void setBroadcastingEnabled (bool b)
 
bool isBroadcastingEnabled () const
 
void record (bool b)
 
void setRecordingPath (const QString &session_path)
 
MilliSeconds timeToGo () const
 
void setRawData (const QByteArray &data) override
 
MilliSeconds fadingTimeMs () const
 get fading time in ms. This is useful to calculate the beginning of the next track More...
 
void fadeIn ()
 start to fade in
 
void fadeOut ()
 start to fade out
 
bool addElement (GstElement *element, GstElement *firstElement, GstElement *secondElement)
 Add an element between two elements. More...
 
bool removeElement (GstElement *element, GstElement *firstElement, GstElement *secondElement)
 remove an element between two elements More...
 
bool replaceSink (GstElement *oldSink, GstElement *newSink, GstElement *element_before, GstElement *pipeline, GstElement *bin)
 
void playIn (MilliSeconds ms)
 
void abortDelayedPlaying ()
 
NanoSeconds seekRelative (double percent, NanoSeconds ns)
 
NanoSeconds seekAbsolute (NanoSeconds ns)
 
NanoSeconds seekNearest (NanoSeconds ns)
 
NanoSeconds seekRelativeMs (double percent, MilliSeconds ms)
 
NanoSeconds seekAbsoluteMs (MilliSeconds ms)
 
NanoSeconds seekNearestMs (MilliSeconds ms)
 
virtual MilliSeconds positionMs () const
 
virtual MilliSeconds durationMs () const
 
void setSpeed (float speed, double pitch, bool preservePitch)
 
void setEqualizerBand (int bandIndex, int value)
 

Protected Member Functions

void abortFader ()
 Stops the current fader process.
 
void initEqualizer ()
 

Detailed Description

The PlaybackPipeline class.

Member Function Documentation

◆ addElement()

bool PipelineExtensions::Changeable::addElement ( GstElement *  element,
GstElement *  firstElement,
GstElement *  secondElement 
)
inherited

Add an element between two elements.

Parameters
elementelement to add
firstElementelement, after which new element is inserted
secondElementelement, before which new element is inserted (may be null)

◆ fadingTimeMs()

MilliSeconds PipelineExtensions::Fadeable::fadingTimeMs ( ) const
inherited

get fading time in ms. This is useful to calculate the beginning of the next track

Returns
fading time in ms

◆ removeElement()

bool PipelineExtensions::Changeable::removeElement ( GstElement *  element,
GstElement *  firstElement,
GstElement *  secondElement 
)
inherited

remove an element between two elements

Parameters
elementelement to remove
firstElementelement, after which new element is removed
secondElementelement, before which new element is removed (may be null)