19 Q_PROPERTY(QString identity READ identity NOTIFY identityChanged)
20 Q_PROPERTY(QString desktopEntry READ desktopEntry NOTIFY desktopEntryChanged)
21 Q_PROPERTY(QString serviceName READ serviceName CONSTANT)
22 Q_PROPERTY(
PlaybackState playbackState READ playbackState NOTIFY playbackStateChanged)
23 Q_PROPERTY(
bool isPlaying READ isPlaying NOTIFY playbackStateChanged)
24 Q_PROPERTY(QString trackTitle READ trackTitle NOTIFY metadataChanged)
25 Q_PROPERTY(QString trackArtist READ trackArtist NOTIFY metadataChanged)
26 Q_PROPERTY(QString trackAlbum READ trackAlbum NOTIFY metadataChanged)
27 Q_PROPERTY(QString trackArtUrl READ trackArtUrl NOTIFY metadataChanged)
28 Q_PROPERTY(qreal position READ position NOTIFY positionChanged)
29 Q_PROPERTY(qreal length READ length NOTIFY metadataChanged)
30 Q_PROPERTY(qreal volume READ volume WRITE setVolume NOTIFY volumeChanged)
31 Q_PROPERTY(qreal rate READ rate NOTIFY rateChanged)
32 Q_PROPERTY(
LoopState loopState READ loopState WRITE setLoopState NOTIFY loopStateChanged)
33 Q_PROPERTY(
bool shuffle READ shuffle WRITE setShuffle NOTIFY shuffleChanged)
34 Q_PROPERTY(
bool canPlay READ canPlay NOTIFY canPlayChanged)
35 Q_PROPERTY(
bool canPause READ canPause NOTIFY canPauseChanged)
36 Q_PROPERTY(
bool canSeek READ canSeek NOTIFY canSeekChanged)
37 Q_PROPERTY(
bool canGoNext READ canGoNext NOTIFY canGoNextChanged)
38 Q_PROPERTY(
bool canGoPrevious READ canGoPrevious NOTIFY canGoPreviousChanged)
39 Q_PROPERTY(
bool canControl READ canControl NOTIFY canControlChanged)
56 explicit
MprisPlayer(const QString& serviceName, QObject* parent =
nullptr);
59 [[nodiscard]] QString identity() const;
60 [[nodiscard]] QString desktopEntry() const;
61 [[nodiscard]] QString serviceName() const;
63 [[nodiscard]]
bool isPlaying() const;
64 [[nodiscard]] QString trackTitle() const;
65 [[nodiscard]] QString trackArtist() const;
66 [[nodiscard]] QString trackAlbum() const;
67 [[nodiscard]] QString trackArtUrl() const;
68 [[nodiscard]] qreal position() const;
69 [[nodiscard]] qreal length() const;
70 [[nodiscard]] qreal volume() const;
71 void setVolume(qreal volume);
72 [[nodiscard]] qreal rate() const;
75 [[nodiscard]]
bool shuffle() const;
76 void setShuffle(
bool shuffle);
77 [[nodiscard]]
bool canPlay() const;
78 [[nodiscard]]
bool canPause() const;
79 [[nodiscard]]
bool canSeek() const;
80 [[nodiscard]]
bool canGoNext() const;
81 [[nodiscard]]
bool canGoPrevious() const;
82 [[nodiscard]]
bool canControl() const;
84 Q_INVOKABLE
void play();
85 Q_INVOKABLE
void pause();
86 Q_INVOKABLE
void stop();
87 Q_INVOKABLE
void togglePlaying();
88 Q_INVOKABLE
void next();
89 Q_INVOKABLE
void previous();
90 Q_INVOKABLE
void seek(qreal offsetSeconds);
91 Q_INVOKABLE
void setPosition(qreal absoluteSeconds);
92 Q_INVOKABLE
void raise();
93 Q_INVOKABLE
void quit();
96 void identityChanged();
97 void desktopEntryChanged();
98 void playbackStateChanged();
99 void metadataChanged();
100 void positionChanged();
101 void volumeChanged();
103 void loopStateChanged();
104 void shuffleChanged();
105 void canPlayChanged();
106 void canPauseChanged();
107 void canSeekChanged();
108 void canGoNextChanged();
109 void canGoPreviousChanged();
110 void canControlChanged();
113 void _q_onPropertiesChanged(const QString& iface, const QVariantMap& changed, const QStringList& invalidated);
114 void _q_onSeeked(qlonglong position);
118 std::unique_ptr<Private> d;