Warning, file /multimedia/dragon/src/mpris2/mediaplayer2player.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2012 Eike Hein <hein@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef DRAGONPLAYER_MEDIAPLAYER2PLAYER_H 0008 #define DRAGONPLAYER_MEDIAPLAYER2PLAYER_H 0009 0010 #include <QDBusAbstractAdaptor> 0011 #include <QDBusObjectPath> 0012 0013 #include <phonon/MediaSource> 0014 0015 class MediaPlayer2Player : public QDBusAbstractAdaptor 0016 { 0017 Q_OBJECT 0018 Q_CLASSINFO("D-Bus Interface", "org.mpris.MediaPlayer2.Player") // Docs: https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html 0019 0020 Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus) 0021 Q_PROPERTY(QString LoopStatus READ LoopStatus WRITE setLoopStatus) 0022 Q_PROPERTY(double Rate READ Rate WRITE setRate) 0023 Q_PROPERTY(bool Shuffle READ Shuffle WRITE setShuffle) 0024 Q_PROPERTY(QVariantMap Metadata READ Metadata) 0025 Q_PROPERTY(double Volume READ Volume WRITE setVolume) 0026 Q_PROPERTY(qlonglong Position READ Position) 0027 Q_PROPERTY(double MinimumRate READ MinimumRate) 0028 Q_PROPERTY(double MaximumRate READ MaximumRate) 0029 Q_PROPERTY(bool CanGoNext READ CanGoNext) 0030 Q_PROPERTY(bool CanGoPrevious READ CanGoPrevious) 0031 Q_PROPERTY(bool CanPlay READ CanPlay) 0032 Q_PROPERTY(bool CanPause READ CanPause) 0033 Q_PROPERTY(bool CanSeek READ CanSeek) 0034 Q_PROPERTY(bool CanControl READ CanControl) 0035 0036 public: 0037 explicit MediaPlayer2Player(QObject *parent); 0038 ~MediaPlayer2Player() override; 0039 0040 QString PlaybackStatus() const; 0041 QString LoopStatus() const; 0042 void setLoopStatus(const QString &loopStatus) const; 0043 double Rate() const; 0044 void setRate(double rate) const; 0045 bool Shuffle() const; 0046 void setShuffle(bool shuffle) const; 0047 QVariantMap Metadata() const; 0048 double Volume() const; 0049 void setVolume(double volume) const; 0050 qlonglong Position() const; 0051 double MinimumRate() const; 0052 double MaximumRate() const; 0053 bool CanGoNext() const; 0054 bool CanGoPrevious() const; 0055 bool CanPlay() const; 0056 bool CanPause() const; 0057 bool CanSeek() const; 0058 bool CanControl() const; 0059 0060 Q_SIGNALS: 0061 void Seeked(qlonglong Position) const; 0062 0063 public Q_SLOTS: 0064 void Next() const; 0065 void Previous() const; 0066 void Pause() const; 0067 void PlayPause() const; 0068 void Stop() const; 0069 void Play() const; 0070 void Seek(qlonglong Offset) const; 0071 void SetPosition(const QDBusObjectPath &TrackId, qlonglong Position) const; 0072 void OpenUri(QString Uri) const; 0073 0074 private Q_SLOTS: 0075 void tick(qint64 newPos); 0076 void emitMetadataChange() const; 0077 void currentSourceChanged() const; 0078 void stateUpdated() const; 0079 void totalTimeChanged() const; 0080 void seekableChanged(bool seekable) const; 0081 void volumeChanged() const; 0082 0083 private: 0084 qint64 oldPos; 0085 }; 0086 0087 #endif