Sayonara Player
Public Types | Signals | Public Member Functions | Public Slots | Protected Attributes | List of all members
PlayManager Class Reference

#include <PlayManager.h>

Detailed Description

Global handler for current playback state (Singleton)

Public Types

enum  PlayState : quint8 {
  Playing =0,
  Paused,
  Stopped
}
 Current Playing state.
 

Signals

void sig_www_track_finished (const MetaData &old_md)
 emitted when a streamed track has finished More...
 
void sig_playstate_changed (PlayManager::PlayState)
 emitted, when PlayManager::PlayState was changed
 
void sig_next ()
 next track was triggered
 
void sig_previous ()
 previous track was triggered
 
void sig_stopped ()
 stop was triggered
 
void sig_seeked_rel (double percent)
 relative seeking was triggered More...
 
void sig_seeked_rel_ms (qint64 ms)
 relative seeking was triggered More...
 
void sig_seeked_abs_ms (quint64 ms)
 absolute seeking was triggered More...
 
void sig_position_changed_ms (quint64 ms)
 position in track has changed More...
 
void sig_track_changed (const MetaData &md)
 track has changed More...
 
void sig_track_idx_changed (int idx)
 track has changed More...
 
void sig_playlist_changed (int len)
 playlist has changed More...
 
void sig_duration_changed (quint64 ms)
 duration of track has changed More...
 
void sig_playlist_finished ()
 playlist has finished
 
void sig_record (bool b)
 recording is requested More...
 
void sig_buffer (int b)
 emitted when currently in buffering state More...
 
void sig_volume_changed (int vol)
 emitted when volume has changed More...
 
void sig_mute_changed (bool b)
 emitted when mute state has changed More...
 
void sig_md_changed (const MetaData &md)
 
void sig_duration_changed (qint64 ms)
 

Public Member Functions

PlayState get_play_state () const
 get current play state More...
 
quint64 get_cur_position_ms () const
 get current position in milliseconds More...
 
quint64 get_init_position_ms () const
 get position in milliseconds where track will start More...
 
quint64 get_duration_ms () const
 get duration of track More...
 
MetaData get_cur_track () const
 get current track More...
 
int get_volume () const
 get current volume More...
 
bool get_mute () const
 query mute status More...
 

Public Slots

void play ()
 Start playing if there's a track.
 
void play_pause ()
 toggle play/pause
 
void pause ()
 pause track, if currently playing
 
void previous ()
 change to previous track
 
void next ()
 change to next track
 
void stop ()
 stop playback
 
void record (bool b)
 request recording (see also sig_record(bool b)) More...
 
void seek_rel (double percent)
 seek relative More...
 
void seek_abs_ms (quint64 ms)
 seek absolute More...
 
void seek_rel_ms (qint64 ms)
 seek_rel_ms More...
 
void set_position_ms (quint64 ms)
 set current position of track This method does not seek. Just tells the playmanager where the current position is More...
 
void change_track (const MetaData &md, int playlist_idx)
 change current track More...
 
void duration_changed (quint64 duration_ms)
 change duration of track More...
 
void set_track_ready ()
 notify, that track is ready for playback
 
void buffering (int progress)
 notifiy, that track is in buffering state currently More...
 
void volume_up ()
 increase volume by 5
 
void volume_down ()
 decrease volume by 5
 
void set_volume (int vol)
 set volume More...
 
void set_mute (bool b)
 mute/unmute More...
 
void change_metadata (const MetaData &md)
 
void change_duration (qint64 ms)
 

Protected Attributes

Settings_settings =nullptr
 

Member Function Documentation

◆ buffering

void PlayManager::buffering ( int  progress)
slot

notifiy, that track is in buffering state currently

Parameters
progress

◆ change_track

void PlayManager::change_track ( const MetaData md,
int  playlist_idx 
)
slot

change current track

Parameters
mdnew MetaData object

◆ duration_changed

void PlayManager::duration_changed ( quint64  duration_ms)
slot

change duration of track

Parameters
duration_msnew duration in milliseconds

◆ get_cur_position_ms()

quint64 PlayManager::get_cur_position_ms ( ) const

get current position in milliseconds

Returns
current position in milliseconds

◆ get_cur_track()

MetaData PlayManager::get_cur_track ( ) const

get current track

Returns
MetaData object of current track

◆ get_duration_ms()

quint64 PlayManager::get_duration_ms ( ) const

get duration of track

Returns
duration in milliseconds

◆ get_init_position_ms()

quint64 PlayManager::get_init_position_ms ( ) const

get position in milliseconds where track will start

Returns
position in milliseconds where track will start

◆ get_mute()

bool PlayManager::get_mute ( ) const

query mute status

Returns
true if muted, false else

◆ get_play_state()

PlayState PlayManager::get_play_state ( ) const

get current play state

Returns
PlayState enum

◆ get_volume()

int PlayManager::get_volume ( ) const

get current volume

Returns
value between 0 and 100

◆ record

void PlayManager::record ( bool  b)
slot

request recording (see also sig_record(bool b))

Parameters
btrue, when a new recording session should begin, false if a recording session should stop

◆ seek_abs_ms

void PlayManager::seek_abs_ms ( quint64  ms)
slot

seek absolute

Parameters
msabsolute position in milliseconds

◆ seek_rel

void PlayManager::seek_rel ( double  percent)
slot

seek relative

Parameters
percentrelative position within track

◆ seek_rel_ms

void PlayManager::seek_rel_ms ( qint64  ms)
slot

seek_rel_ms

Parameters
msrelative position to current position in milliseconds

◆ set_mute

void PlayManager::set_mute ( bool  b)
slot

mute/unmute

Parameters
b

◆ set_position_ms

void PlayManager::set_position_ms ( quint64  ms)
slot

set current position of track This method does not seek. Just tells the playmanager where the current position is

Parameters
msposition in milliseconds.

◆ set_volume

void PlayManager::set_volume ( int  vol)
slot

set volume

Parameters
volvalue between [0,100], will be cropped if not within boundaries

◆ sig_buffer

void PlayManager::sig_buffer ( int  b)
signal

emitted when currently in buffering state

Parameters
btrue if buffering, false else

◆ sig_duration_changed

void PlayManager::sig_duration_changed ( quint64  ms)
signal

duration of track has changed

Parameters
msduration of track in milliseconds

◆ sig_mute_changed

void PlayManager::sig_mute_changed ( bool  b)
signal

emitted when mute state has changed

Parameters
btrue if muted, false else

◆ sig_playlist_changed

void PlayManager::sig_playlist_changed ( int  len)
signal

playlist has changed

Parameters
lennew size of playlist

◆ sig_position_changed_ms

void PlayManager::sig_position_changed_ms ( quint64  ms)
signal

position in track has changed

Parameters
msabsolute position in milliseconds

◆ sig_record

void PlayManager::sig_record ( bool  b)
signal

recording is requested

Parameters
btrue, when a new recording session should begin, false if a recording session should stop

◆ sig_seeked_abs_ms

void PlayManager::sig_seeked_abs_ms ( quint64  ms)
signal

absolute seeking was triggered

Parameters
msabsolute position in milliseconds

◆ sig_seeked_rel

void PlayManager::sig_seeked_rel ( double  percent)
signal

relative seeking was triggered

Parameters
percentrelative position in track

◆ sig_seeked_rel_ms

void PlayManager::sig_seeked_rel_ms ( qint64  ms)
signal

relative seeking was triggered

Parameters
msrelative position to current position in milliseconds

◆ sig_track_changed

void PlayManager::sig_track_changed ( const MetaData md)
signal

track has changed

Parameters
mdnew MetaData

◆ sig_track_idx_changed

void PlayManager::sig_track_idx_changed ( int  idx)
signal

track has changed

Parameters
idxindex in playlist

◆ sig_volume_changed

void PlayManager::sig_volume_changed ( int  vol)
signal

emitted when volume has changed

Parameters
volvalue between 0 and 100

◆ sig_www_track_finished

void PlayManager::sig_www_track_finished ( const MetaData old_md)
signal

emitted when a streamed track has finished

Parameters
old_mdthe last played track
Inheritance diagram for PlayManager:
SayonaraClass