56 void sigDataAvailable(
const QByteArray& data);
57 void sigSpectrumChanged();
58 void sigLevelChanged();
60 void sigMetadataChanged(
const MetaData& md);
61 void sigDurationChanged(
const MetaData& md);
62 void sigBitrateChanged(
const MetaData& md);
63 void sigCoverDataAvailable(
const QByteArray& data,
const QString& mimetype);
65 void sigCurrentPositionChanged(MilliSeconds ms);
66 void sigBuffering(
int progress);
67 void sigTrackFinished();
69 void sigError(
const QString& error_message);
72 explicit Engine(QObject* parent);
80 virtual void updateBitrate(Bitrate br, GstElement* src) = 0;
81 virtual void updateDuration(GstElement* src) = 0;
83 virtual void setTrackReady(GstElement* src) = 0;
84 virtual void setTrackAlmostFinished(MilliSeconds time2go) = 0;
85 virtual void setTrackFinished(GstElement* src) = 0;
87 [[nodiscard]]
virtual bool isStreamRecorderRecording()
const = 0;
88 virtual void setStreamRecorderRecording(
bool b) = 0;
90 virtual void setSpectrum(
const std::vector<float>& spectrum) = 0;
91 [[nodiscard]]
virtual const std::vector<float>& spectrum()
const = 0;
93 virtual void setLevel(
float left,
float right) = 0;
96 virtual void setVisualizerEnabled(
bool levelEnabled,
bool spectrumEnabled) = 0;
97 virtual void setBroadcastEnabled(
bool b) = 0;
98 virtual void setEqualizer(
int band,
int value) = 0;
100 [[nodiscard]]
virtual MetaData currentTrack()
const = 0;
103 virtual void play() = 0;
104 virtual void stop() = 0;
105 virtual void pause() = 0;
107 virtual void jumpAbsMs(MilliSeconds ms) = 0;
108 virtual void jumpRelMs(MilliSeconds ms) = 0;
109 virtual void jumpRel(
double percent) = 0;
110 virtual void updateMetadata(
const MetaData& track, GstElement* src) = 0;
111 virtual void updateCover(GstElement* src,
const QByteArray& data,
const QString& mimedata) = 0;
113 virtual bool changeTrack(
const MetaData& track) = 0;
115 virtual void setBufferState(
int progress, GstElement* src) = 0;
116 virtual void error(
const QString& error,
const QString& elementName) = 0;