Sayonara Player
PlayManagerImpl.h
1/* PlayManagerImpl.h */
2/*
3 * Copyright (C) 2011-2021 Michael Lugmair
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20#ifndef SAYONARA_PLAYER_PLAYMANAGERIMPL_H
21#define SAYONARA_PLAYER_PLAYMANAGERIMPL_H
22
23#include "Interfaces/PlayManager.h"
24#include "Utils/Pimpl.h"
25#include "Utils/typedefs.h"
26
28 public PlayManager
29{
30 Q_OBJECT
31 PIMPL(PlayManagerImpl)
32
33 public:
34 PlayManagerImpl(QObject* parent);
35 ~PlayManagerImpl() override;
36
37 protected:
38 void play() override;
39 void wakeUp() override;
40 void playPause() override;
41 void pause() override;
42 void previous() override;
43 void next() override;
44 void stop() override;
45 void record(bool b) override;
46 void seekRelative(double percent) override;
47 void seekAbsoluteMs(MilliSeconds ms) override;
48 void seekRelativeMs(MilliSeconds ms) override;
49 void setCurrentPositionMs(MilliSeconds ms) override;
50 void changeCurrentTrack(const MetaData& track, int trackIdx) override;
51 void changeCurrentMetadata(const MetaData& newMetadata) override;
52 void setTrackReady() override;
53 void setTrackFinished() override;
54 void buffering(int progress) override;
55 void volumeUp() override;
56 void volumeDown() override;
57 void setVolume(int vol) override;
58 void setMute(bool b) override;
59 void toggleMute() override;
60 void changeDuration(MilliSeconds ms) override;
61 void changeBitrate(Bitrate br) override;
62 void error(const QString& message) override;
63
64 PlayState playstate() const override;
65 MilliSeconds currentPositionMs() const override;
66 MilliSeconds currentTrackPlaytimeMs() const override;
67 MilliSeconds initialPositionMs() const override;
68 MilliSeconds durationMs() const override;
69 Bitrate bitrate() const override;
70 const MetaData& currentTrack() const override;
71 int volume() const override;
72 bool isMuted() const override;
73 void shutdown() override;
74
75 private slots:
76 void trackMetadataChanged();
77 void tracksDeleted();
78};
79
80#endif //SAYONARA_PLAYER_PLAYMANAGERIMPL_H
The MetaData class.
Definition: MetaData.h:47
Definition: PlayManagerImpl.h:29
void play() override
Start playing if there's a track.
void changeDuration(MilliSeconds ms) override
Change the duration. This is usually called when the Engine sends a duration changed signal....
void previous() override
change to previous track
void seekRelativeMs(MilliSeconds ms) override
seekRelativeMs
MilliSeconds initialPositionMs() const override
get position in milliseconds where track will start
PlayState playstate() const override
get current play state
void volumeDown() override
decrease volume by 5
void shutdown() override
Shutdown the computer.
void wakeUp() override
Emit wake up signal after stopping state.
void seekRelative(double percent) override
seek relative
void seekAbsoluteMs(MilliSeconds ms) override
seek absolute
MilliSeconds durationMs() const override
get duration of track
void changeCurrentMetadata(const MetaData &newMetadata) override
change_track
void setMute(bool b) override
mute/unmute
void setCurrentPositionMs(MilliSeconds ms) override
set current position of track This method does not seek. Just tells the playmanager where the current...
void setTrackReady() override
notify, that track is ready for playback
int volume() const override
get current volume
void pause() override
pause track, if currently playing
const MetaData & currentTrack() const override
get current track
void changeCurrentTrack(const MetaData &track, int trackIdx) override
change current track
void toggleMute() override
If already muted, then unmute. If unmuted, then mute it.
void volumeUp() override
increase volume by 5
void next() override
change to next track
void error(const QString &message) override
Some playback error occured.
MilliSeconds currentPositionMs() const override
get current position in milliseconds
void stop() override
stop playback
void playPause() override
toggle play/pause
void setVolume(int vol) override
set volume
void record(bool b) override
request recording (see also sig_record(bool b))
void buffering(int progress) override
notifiy, that track is in buffering state currently
bool isMuted() const override
query mute status
Global handler for current playback state (Singleton)
Definition: PlayManager.h:36