25 #include "Helper/Settings/SayonaraClass.h"
26 #include "Helper/MetaData/MetaData.h"
28 #define PLAYBACK_ENGINE "playback_engine"
29 #define CONVERT_ENGINE "convert_engine"
31 enum class EngineName : quint8 {
48 Engine(QObject* parent=
nullptr);
49 virtual EngineName get_name()
const final;
51 virtual bool init()=0;
53 virtual void set_track_finished();
55 virtual void async_done();
56 virtual void update_md(
const MetaData&);
57 virtual void update_duration();
58 virtual void update_bitrate(quint32 br);
59 virtual void update_time(qint32 time);
61 void set_level(
float right,
float left);
62 void set_spectrum(QVector<float>& lst );
65 void sig_md_changed(
const MetaData&);
66 void sig_dur_changed(
const MetaData&);
67 void sig_br_changed(
const MetaData&);
69 void sig_pos_changed_ms(quint64);
70 void sig_pos_changed_s(quint32);
72 void sig_buffering(
int progress);
74 void sig_track_ready();
75 void sig_track_finished();
77 void sig_download_progress(
int);
82 virtual void set_about_to_finish(qint64 ms);
83 virtual void set_cur_position_ms(qint64 ms);
88 virtual void play()=0;
89 virtual void stop()=0;
90 virtual void pause()=0;
92 virtual void jump_abs_ms(quint64 ms)=0;
93 virtual void jump_rel_ms(quint64 ms)=0;
94 virtual void jump_rel(
double ms)=0;
96 virtual void change_track(
const MetaData&)=0;
97 virtual void change_track(
const QString&)=0;
99 virtual void set_track_ready();
100 virtual void buffering(
int);
111 bool _playing_stream;
112 bool _broadcast_active;
116 extern Engine* gst_obj_ref;
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:31
Definition: AbstractEngine.h:38
Definition: PlaybackEngine.h:50
Definition: ConvertEngine.h:31