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);
105 Q_PROPERTY(
bool Shuffle READ Shuffle WRITE SetShuffle)
107 void SetShuffle(
bool shuffle);
110 Q_PROPERTY(QVariantMap Metadata READ Metadata)
111 QVariantMap Metadata();
114 Q_PROPERTY(
double Volume READ Volume WRITE SetVolume)
116 void SetVolume(
double volume);
119 Q_PROPERTY(qlonglong Position READ Position)
120 qlonglong Position();
121 void SetPosition(
const QDBusObjectPath& track_id, qlonglong position);
124 Q_PROPERTY(
double MinimumRate READ MinimumRate)
125 double MinimumRate();
128 Q_PROPERTY(
double MaximumRate READ MaximumRate)
129 double MaximumRate();
132 Q_PROPERTY(
bool CanGoNext READ CanGoNext)
136 Q_PROPERTY(
bool CanGoPrevious READ CanGoPrevious)
137 bool CanGoPrevious();
140 Q_PROPERTY(
bool CanPlay READ CanPlay)
144 Q_PROPERTY(
bool CanPause READ CanPause)
148 Q_PROPERTY(
bool CanSeek READ CanSeek)
152 Q_PROPERTY(
bool CanControl READ CanControl)
162 void Seek(qlonglong offset);
164 void OpenUri(
const QString& uri);
169 void position_changed(MilliSeconds pos_ms);
170 void volume_changed(
int volume);
171 void track_idx_changed(
int idx);
172 void track_changed(
const MetaData& md);
176 void Seeked(qlonglong position);
181 #endif // DBUS_MPRIS_H