26 #include <QDBusObjectPath>
28 #include "DBusAdaptor.h"
29 #include "Components/PlayManager/PlayState.h"
31 #include "Utils/MetaData/MetaData.h"
32 #include "Utils/Pimpl.h"
34 using QStrRef=
const QString&;
48 explicit MediaPlayer2(QMainWindow* player, QObject* parent=
nullptr);
51 Q_PROPERTY(
bool CanQuit READ CanQuit CONSTANT)
54 Q_PROPERTY(
bool CanRaise READ CanRaise CONSTANT)
57 Q_PROPERTY(
bool HasTrackList READ HasTrackList)
61 Q_PROPERTY(QString Identity READ Identity CONSTANT)
64 Q_PROPERTY(QString DesktopEntry READ DesktopEntry CONSTANT)
65 QString DesktopEntry();
67 Q_PROPERTY(QStringList SupportedUriSchemes READ SupportedUriSchemes CONSTANT)
68 QStringList SupportedUriSchemes();
71 Q_PROPERTY(QStringList SupportedMimeTypes READ SupportedMimeTypes CONSTANT)
72 QStringList SupportedMimeTypes();
75 Q_PROPERTY(
bool CanSetFullscreen READ CanSetFullscreen)
76 bool CanSetFullscreen();
78 Q_PROPERTY(
bool Fullscreen READ Fullscreen WRITE SetFullscreen)
80 void SetFullscreen(
bool b);
91 Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus)
92 QString PlaybackStatus();
95 Q_PROPERTY(QString LoopStatus READ LoopStatus WRITE SetLoopStatus)
97 void SetLoopStatus(QString status);
100 Q_PROPERTY(
double Rate READ Rate WRITE SetRate)
102 void SetRate(
double rate);
104 Q_PROPERTY(
int Rating READ Rating)
108 Q_PROPERTY(
bool Shuffle READ Shuffle WRITE SetShuffle)
110 void SetShuffle(
bool shuffle);
113 Q_PROPERTY(QVariantMap Metadata READ Metadata)
114 QVariantMap Metadata();
117 Q_PROPERTY(
double Volume READ Volume WRITE SetVolume)
119 void SetVolume(
double volume);
120 void IncreaseVolume();
121 void DecreaseVolume();
124 Q_PROPERTY(qlonglong Position READ Position)
125 qlonglong Position();
126 void SetPosition(
const QDBusObjectPath& trackId, qlonglong position);
129 Q_PROPERTY(
double MinimumRate READ MinimumRate)
130 double MinimumRate();
133 Q_PROPERTY(
double MaximumRate READ MaximumRate)
134 double MaximumRate();
137 Q_PROPERTY(
bool CanGoNext READ CanGoNext)
141 Q_PROPERTY(
bool CanGoPrevious READ CanGoPrevious)
142 bool CanGoPrevious();
145 Q_PROPERTY(
bool CanPlay READ CanPlay)
149 Q_PROPERTY(
bool CanPause READ CanPause)
153 Q_PROPERTY(
bool CanSeek READ CanSeek)
157 Q_PROPERTY(
bool CanControl READ CanControl)
166 void Seek(qlonglong offset);
167 void OpenUri(
const QString& uri);
170 void positionChanged(MilliSeconds pos_ms);
171 void volumeChanged(
int volume);
172 void trackIndexChanged(
int idx);
173 void trackChanged(
const MetaData& md);
177 void Seeked(qlonglong position);
181 void trackMetadataChanged();
186 #endif // DBUS_MPRIS_H