13#ifndef JELLYFIN_PLATFORM_FREEDESKTOP_MEDIAPLAYER2PLAYER_H
14#define JELLYFIN_PLATFORM_FREEDESKTOP_MEDIAPLAYER2PLAYER_H
16#include <QtCore/QObject>
17#include <QtDBus/QtDBus>
18#include <QMediaPlayer>
23template<
class T>
class QList;
24template<
class Key,
class Value>
class QMap;
34 class PlatformMediaControl;
35 class PlaybackManager;
39namespace FreeDesktop {
46 Q_CLASSINFO(
"D-Bus Interface",
"org.mpris.MediaPlayer2.Player")
47 Q_CLASSINFO(
"D-Bus Introspection",
""
48" <interface name=\"org.mpris.MediaPlayer2.Player\">\n"
49" <method name=\"Next\">\n"
51" <method name=\"Previous\">\n"
53" <method name=\"Pause\">\n"
55" <method name=\"PlayPause\">\n"
57" <method name=\"Stop\">\n"
59" <method name=\"Play\">\n"
61" <method name=\"Seek\">\n"
62" <arg direction=\"in\" type=\"x\" name=\"Offset\"/>\n"
64" <method name=\"SetPosition\">\n"
65" <arg direction=\"in\" type=\"o\" name=\"TrackId\"/>\n"
66" <arg direction=\"in\" type=\"x\" name=\"Position\"/>\n"
68" <method name=\"OpenUri\">\n"
69" <arg direction=\"in\" type=\"s\" name=\"Uri\"/>\n"
71" <property access=\"read\" type=\"s\" name=\"PlaybackStatus\">\n"
72" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
74" <property access=\"readwrite\" type=\"s\" name=\"LoopStatus\">\n"
75" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
76" <annotation value=\"true\" name=\"org.mpris.MediaPlayer2.property.optional\"/>\n"
78" <property access=\"readwrite\" type=\"d\" name=\"Rate\">\n"
79" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
81" <property access=\"readwrite\" type=\"b\" name=\"Shuffle\">\n"
82" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
83" <annotation value=\"true\" name=\"org.mpris.MediaPlayer2.property.optional\"/>\n"
85" <property access=\"read\" type=\"a{sv}\" name=\"Metadata\">\n"
86" <annotation value=\"QVariantMap\" name=\"org.qtproject.QtDBus.QtTypeName\"/>\n"
87" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
89" <property access=\"readwrite\" type=\"d\" name=\"Volume\">\n"
90" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
92" <property access=\"read\" type=\"x\" name=\"Position\">\n"
93" <annotation value=\"false\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
95" <property access=\"read\" type=\"d\" name=\"MinimumRate\">\n"
96" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
98" <property access=\"read\" type=\"d\" name=\"MaximumRate\">\n"
99" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
101" <property access=\"read\" type=\"b\" name=\"CanGoNext\">\n"
102" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
104" <property access=\"read\" type=\"b\" name=\"CanGoPrevious\">\n"
105" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
107" <property access=\"read\" type=\"b\" name=\"CanPlay\">\n"
108" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
110" <property access=\"read\" type=\"b\" name=\"CanPause\">\n"
111" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
113" <property access=\"read\" type=\"b\" name=\"CanSeek\">\n"
114" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
116" <property access=\"read\" type=\"b\" name=\"CanControl\">\n"
117" <annotation value=\"false\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
119" <signal name=\"Seeked\">\n"
120" <arg type=\"x\" name=\"Position\"/>\n"
180 void OpenUri(
const QString &Uri);
185 void Seek(qlonglong Offset);
193 void notifyPropertiesChanged(QStringList properties);
195 void onCurrentItemChanged();
198 void onPositionChanged(qint64
position);
199 void onSeekableChanged(
bool seekable);
201 void onSeeked(qint64 newPosition);
Value
Definition player.h:35
The PlaybackManager class manages the playback of Jellyfin items.
Definition playbackmanager.h:76
Definition mediaplayer2.h:20
Definition mediaplayer2.h:21