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

The PlaybackPipeline class. More...

#include <Pipeline.h>

Inheritance diagram for Engine::Pipeline:
PipelineExtensions::Fadeable PipelineExtensions::Changeable PipelineExtensions::DelayedPlayable

Public Types

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

Public Slots

void play () override
 
void stop () override
 
void pause ()
 
void set_equalizer_band (int band_name, int val)
 
NanoSeconds seek_rel (double percent, NanoSeconds ref_ns)
 
NanoSeconds seek_abs (NanoSeconds ns)
 

Signals

void sig_about_to_finish (MilliSeconds ms)
 
void sig_pos_changed_ms (MilliSeconds ms)
 
void sig_data (Byte *data, uint64_t size)
 

Public Member Functions

 Pipeline (const QString &name, QObject *parent=nullptr)
 
bool init (Engine *engine, GstState state=GST_STATE_NULL)
 
bool prepare (const QString &uri)
 
void set_data (Byte *data, uint64_t size)
 
void set_internal_volume (double volume) override
 set current volume of pipeline More...
 
double get_internal_volume () const override
 get current volume of pipeline More...
 
bool has_element (GstElement *e) const
 
GstState state () const
 
void check_position ()
 
void check_about_to_finish ()
 
void enable_visualizer (bool b)
 
void enable_broadcasting (bool b)
 
void record (bool b)
 
void set_recording_path (const QString &session_path)
 
MilliSeconds duration_ms () const
 
MilliSeconds position_ms () const
 
MilliSeconds time_to_go () const
 
MilliSeconds get_fading_time_ms () const
 get fading time in ms. This is useful to calculate the beginning of the next track More...
 
void fade_in ()
 start to fade in
 
void fade_out ()
 start to fade out
 
void add_element (GstElement *element, GstElement *first_element, GstElement *second_element)
 Add an element between two elements. More...
 
void remove_element (GstElement *element, GstElement *first_element, GstElement *second_element)
 remove an element between two elements More...
 
void play_in (MilliSeconds ms)
 
void abort_delayed_playing ()
 

Protected Slots

void s_volume_changed ()
 
void s_show_visualizer_changed ()
 
void s_mute_changed ()
 
void s_speed_active_changed ()
 
void s_speed_changed ()
 
void s_sink_changed ()
 

Protected Member Functions

void abort_fader ()
 Stops the current fader process.
 

Detailed Description

The PlaybackPipeline class.

Member Function Documentation

◆ add_element()

void PipelineExtensions::Changeable::add_element ( GstElement *  element,
GstElement *  first_element,
GstElement *  second_element 
)
inherited

Add an element between two elements.

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

◆ get_fading_time_ms()

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

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

Returns
fading time in ms

◆ get_internal_volume()

double Engine::Pipeline::get_internal_volume ( ) const
overridevirtual

get current volume of pipeline

Returns
value between 0 and 1.0

Implements PipelineExtensions::Fadeable.

◆ remove_element()

void PipelineExtensions::Changeable::remove_element ( GstElement *  element,
GstElement *  first_element,
GstElement *  second_element 
)
inherited

remove an element between two elements

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

◆ set_internal_volume()

void Engine::Pipeline::set_internal_volume ( double  vol)
overridevirtual

set current volume of pipeline

Parameters
volvalue between 0 and 1.0

Implements PipelineExtensions::Fadeable.