From 60989e52b3f3bc0a95d3e61bd8e59fa4d9b7ab83 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sun, 26 Nov 2023 01:10:36 -0500 Subject: The 2 year constipation. (mpris plugin) Probably buggy as hell. --- mpris-plugin/qmpmprisimpl.hpp | 72 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 mpris-plugin/qmpmprisimpl.hpp (limited to 'mpris-plugin/qmpmprisimpl.hpp') diff --git a/mpris-plugin/qmpmprisimpl.hpp b/mpris-plugin/qmpmprisimpl.hpp new file mode 100644 index 0000000..b9dec93 --- /dev/null +++ b/mpris-plugin/qmpmprisimpl.hpp @@ -0,0 +1,72 @@ +#ifndef QMPMPRISIMPL_HPP +#define QMPMPRISIMPL_HPP + +#include "qmprisdbusinterface.hpp" + +class qmpPluginAPI; +class qmpMainWindow; + +class QMPPlayer : public QMPrisPlayer +{ +public: + explicit QMPPlayer(qmpPluginAPI *_api, QObject *parent=nullptr); + + QString getPlaybackStatus(); + QString getLoopStatus(); + double getRate(); + bool getShuffle(); + QVariantMap getMetadata(); + //double getVolume(); + qlonglong getPosition(); + //double getMinimumRate(); + //double getMaximumRate(); + bool getCanGoNext(); + bool getCanGoPrevious(); + bool getCanPlay(); + bool getCanPause(); + bool getCanSeek(); + bool getCanControl(); + + void Pause(); + void PlayPause(); + void Stop(); + void Play(); + void Next(); + void Previous(); + void Seek(qlonglong t); + void SetPosition(QDBusObjectPath o, qlonglong t); +private: + qmpPluginAPI *api; + qmpMainWindow *qmw; +}; + +class QMPTrackList : public QMPrisTrackList +{ +public: + explicit QMPTrackList(qmpPluginAPI *_api, QObject *parent=nullptr); + + QList GetTracksMetaData(QList trackIds); + QList getTracks(); +private: + qmpPluginAPI *api; +}; + +class QMPMediaPlayer2 : public QMPrisMediaPlayer2 +{ +public: + explicit QMPMediaPlayer2(qmpPluginAPI *_api, QObject *parent=nullptr); + + void Raise() override; + void Quit() override; + + bool getCanQuit() override; + bool getCanRaise() override; + QString getIdentity() override; + QString getDesktopEntry() override; + bool getHasTrackList() override; +private: + qmpPluginAPI *api; + qmpMainWindow *qmw; +}; + +#endif -- cgit v1.2.3