25 #include "Helper/Settings/SayonaraClass.h" 26 #include "Helper/MetaData/MetaData.h" 30 #define PLAYBACK_ENGINE "playback_engine" 31 #define CONVERT_ENGINE "convert_engine" 33 enum class EngineName : quint8 {
49 Engine(QObject* parent=
nullptr);
50 virtual EngineName get_name()
const final;
52 virtual bool init()=0;
54 virtual void set_track_finished(GstElement* src);
56 virtual void async_done(GstElement* src);
57 virtual void update_md(
const MetaData& md, GstElement* src);
58 virtual void update_cover(
const QImage& img, GstElement* src);
59 virtual void update_duration(GstElement* src);
60 virtual void update_bitrate(quint32 br, GstElement* src);
61 virtual void update_time(qint32 time, GstElement* src);
63 virtual void set_track_ready(GstElement* src);
64 virtual void set_buffer_state(
int percent, GstElement* src);
66 void set_level(
float right,
float left);
71 void sig_md_changed(
const MetaData&);
72 void sig_dur_changed(
const MetaData&);
73 void sig_br_changed(
const MetaData&);
75 void sig_pos_changed_ms(quint64);
76 void sig_pos_changed_s(quint32);
78 void sig_buffering(
int progress);
80 void sig_track_ready();
81 void sig_track_finished();
83 void sig_download_progress(
int);
84 void sig_cover_changed(
const QImage& img);
89 virtual void set_about_to_finish(qint64 ms);
90 virtual void set_cur_position_ms(qint64 ms);
95 virtual void play()=0;
96 virtual void stop()=0;
97 virtual void pause()=0;
99 virtual void jump_abs_ms(quint64 ms)=0;
100 virtual void jump_rel_ms(quint64 ms)=0;
101 virtual void jump_rel(
double ms)=0;
103 virtual void change_track(
const MetaData&)=0;
104 virtual void change_track(
const QString&)=0;
113 bool _playing_stream;
114 bool _broadcast_active;
118 extern Engine* gst_obj_ref;
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:31
Definition: AbstractEngine.h:40
Definition: PlaybackEngine.h:47
Definition: ConvertEngine.h:31