26 #include "Components/Engine/gstfwd.h" 28 #include "Utils/MetaData/MetaData.h" 29 #include "Utils/Settings/SayonaraClass.h" 30 #include "Utils/Pimpl.h" 59 void sig_md_changed(
const MetaData& md);
60 void sig_duration_changed(
const MetaData& md);
61 void sig_bitrate_changed(
const MetaData& md);
62 void sig_cover_changed(
const QImage& img);
64 void sig_pos_changed_ms(MilliSeconds pos_ms);
65 void sig_buffering(
int progress);
67 void sig_track_ready();
68 void sig_track_almost_finished(MilliSeconds time2go);
69 void sig_track_finished();
71 void sig_error(
const QString& message);
75 explicit Base(
Name name, QObject* parent=
nullptr);
78 virtual Name name()
const final;
80 virtual bool init()=0;
82 virtual void update_metadata(
const MetaData& md, GstElement* src);
83 virtual void update_cover(
const QImage& img, GstElement* src);
84 virtual void update_duration(MilliSeconds duration_ms, GstElement* src);
85 virtual void update_bitrate(Bitrate br, GstElement* src);
87 virtual void set_track_ready(GstElement* src);
88 virtual void set_track_almost_finished(MilliSeconds time2go);
89 virtual void set_track_finished(GstElement* src);
91 virtual void set_buffer_state(
int percent, GstElement* src);
93 virtual bool change_track(
const MetaData& md);
94 virtual bool change_track_by_filename(
const QString& filepath);
98 virtual void play()=0;
100 virtual void pause()=0;
101 virtual void error(
const QString& error);
103 virtual void jump_abs_ms(MilliSeconds ms)=0;
104 virtual void jump_rel_ms(MilliSeconds ms)=0;
105 virtual void jump_rel(
double ms)=0;
109 virtual bool change_uri(
const QString& uri)=0;
114 virtual bool change_metadata(
const MetaData& md);
118 void set_current_position_ms(MilliSeconds pos_ms);
119 MilliSeconds current_position_ms()
const;
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
Definition: AbstractEngine.h:33
The Engine class.
Definition: AbstractEngine.h:51
Name
The EngineName enum.
Definition: AbstractEngine.h:39