38 void sigStreamFinished(
const MetaData& oldTrack);
39 void sigPlaystateChanged(PlayState playState);
41 void sigContinueFromStop();
44 void sigSeekedRelative(
double percent);
45 void sigSeekedRelativeMs(MilliSeconds ms);
46 void sigSeekedAbsoluteMs(MilliSeconds ms);
47 void sigPositionChangedMs(MilliSeconds ms);
48 void sigCurrentTrackChanged(
const MetaData& track);
49 void sigCurrentMetadataChanged();
50 void sigTrackIndexChanged(
int idx);
51 void sigDurationChangedMs();
52 void sigBitrateChanged();
53 void sigPlaylistFinished();
54 void sigRecording(
bool b);
55 void sigBuffering(
int b);
56 void sigVolumeChanged(
int vol);
57 void sigMuteChanged(
bool b);
58 void sigError(
const QString& message);
62 ~PlayManager()
override =
default;
64 [[nodiscard]]
virtual PlayState playstate()
const = 0;
65 [[nodiscard]]
virtual MilliSeconds currentPositionMs()
const = 0;
66 [[nodiscard]]
virtual MilliSeconds currentTrackPlaytimeMs()
const = 0;
67 [[nodiscard]]
virtual MilliSeconds initialPositionMs()
const = 0;
68 [[nodiscard]]
virtual MilliSeconds durationMs()
const = 0;
69 [[nodiscard]]
virtual Bitrate bitrate()
const = 0;
70 [[nodiscard]]
virtual const MetaData& currentTrack()
const = 0;
71 [[nodiscard]]
virtual int volume()
const = 0;
72 [[nodiscard]]
virtual bool isMuted()
const = 0;
75 virtual void play() = 0;
76 virtual void playAndSeek(MilliSeconds ms) = 0;
77 virtual void continueFromStop() = 0;
78 virtual void playPause() = 0;
79 virtual void pause() = 0;
80 virtual void previous() = 0;
81 virtual void next() = 0;
82 virtual void stop() = 0;
83 virtual void record(
bool b) = 0;
84 virtual void seekRelative(
double percent) = 0;
85 virtual void seekAbsoluteMs(MilliSeconds ms) = 0;
86 virtual void seekRelativeMs(MilliSeconds ms) = 0;
87 virtual void setCurrentPositionMs(MilliSeconds ms) = 0;
88 virtual void changeCurrentTrack(
const MetaData& track,
int trackIdx) = 0;
89 virtual void changeCurrentMetadata(
const MetaData& track) = 0;
90 virtual void setTrackReady() = 0;
91 virtual void setTrackFinished() = 0;
92 virtual void buffering(
int progress) = 0;
93 virtual void volumeUp() = 0;
94 virtual void volumeDown() = 0;
95 virtual void setVolume(
int vol) = 0;
96 virtual void setMute(
bool b) = 0;
97 virtual void toggleMute() = 0;
98 virtual void changeDuration(MilliSeconds ms) = 0;
99 virtual void changeBitrate(Bitrate br) = 0;
100 virtual void error(
const QString& message) = 0;
101 virtual void shutdown() = 0;
104 explicit PlayManager(QObject* parent = 0) :