Private
Public Access
1
0

Hook up notify slots for some elements of mpris.

This commit is contained in:
2019-04-12 18:09:52 -04:00
parent 32af19f95e
commit 10b41d66a3
4 changed files with 38 additions and 5 deletions

View File

@@ -28,6 +28,7 @@ MiniMediaPlayer::MiniMediaPlayer(QObject *parent) : QObject(parent)
connect(m_player,SIGNAL(stateChanged(QMediaPlayer::State)),this,SLOT(mediaStateChanged(QMediaPlayer::State))); connect(m_player,SIGNAL(stateChanged(QMediaPlayer::State)),this,SLOT(mediaStateChanged(QMediaPlayer::State)));
connect(m_player,SIGNAL(durationChanged(qint64)),this,SLOT(durationChanged(qint64))); connect(m_player,SIGNAL(durationChanged(qint64)),this,SLOT(durationChanged(qint64)));
connect(m_player,SIGNAL(positionChanged(qint64)),this,SLOT(positionChanged(qint64))); connect(m_player,SIGNAL(positionChanged(qint64)),this,SLOT(positionChanged(qint64)));
connect(m_player,&QMediaPlayer::volumeChanged,this,&MiniMediaPlayer::mediaVolumeChanged);
} }

View File

@@ -56,6 +56,7 @@ signals:
void playlistChanged(QStringList trackTitles); void playlistChanged(QStringList trackTitles);
void trackDurationChanged(qint64 length); void trackDurationChanged(qint64 length);
void trackPositionChanged(qint64 position); void trackPositionChanged(qint64 position);
void mediaVolumeChanged(int volume);
private slots: private slots:
void mediaStatusChanged(QMediaPlayer::MediaStatus status); void mediaStatusChanged(QMediaPlayer::MediaStatus status);

View File

@@ -56,6 +56,28 @@ QStringList MPRISInterface::SupportedUriSchemes()
MPRISPlayerInterface::MPRISPlayerInterface(MiniMediaPlayer *player,QObject* parent) : QDBusAbstractAdaptor(parent),player(player) MPRISPlayerInterface::MPRISPlayerInterface(MiniMediaPlayer *player,QObject* parent) : QDBusAbstractAdaptor(parent),player(player)
{ {
//Connected Changed values from media player.
}
void MPRISPlayerInterface::mediaPositionChanged(qint64 position)
{
emit positionChanged(Position());
}
void MPRISPlayerInterface::mediaStateChanged(QMediaPlayer::State state)
{
emit playbackStatusChanged(PlaybackStatus());
}
void MPRISPlayerInterface::mediaVolumeChanged(int volume)
{
emit volumeChanged(Volume());
}
void MPRISPlayerInterface::mediaPlaylistChanged(QStringList playlist)
{
emit metadataChanged(Metadata());
} }
bool MPRISPlayerInterface::CanControl() bool MPRISPlayerInterface::CanControl()

View File

@@ -54,11 +54,11 @@ class MPRISPlayerInterface : public QDBusAbstractAdaptor
{ {
Q_OBJECT Q_OBJECT
Q_CLASSINFO("D-Bus Interface","org.mpris.MediaPlayer2.Player") Q_CLASSINFO("D-Bus Interface","org.mpris.MediaPlayer2.Player")
Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus) Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus NOTIFY playbackStatusChanged)
Q_PROPERTY(double Rate READ Rate WRITE setRate) Q_PROPERTY(double Rate READ Rate WRITE setRate)
Q_PROPERTY(QMap<QString,QDBusVariant>Metadata READ Metadata) Q_PROPERTY(QMap<QString,QDBusVariant>Metadata READ Metadata NOTIFY metadataChanged)
Q_PROPERTY(double Volume READ Volume WRITE setVolume) Q_PROPERTY(double Volume READ Volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(qlonglong Position READ Position) Q_PROPERTY(qlonglong Position READ Position NOTIFY positionChanged)
Q_PROPERTY(double MinimumRate READ MinimumRate) Q_PROPERTY(double MinimumRate READ MinimumRate)
Q_PROPERTY(double MaximumRate READ MaximumRate) Q_PROPERTY(double MaximumRate READ MaximumRate)
Q_PROPERTY(bool CanGoNext READ CanGoNext) Q_PROPERTY(bool CanGoNext READ CanGoNext)
@@ -95,7 +95,16 @@ public slots:
Q_NOREPLY void SetPosition(QDBusObjectPath trackId,qlonglong position) {}; Q_NOREPLY void SetPosition(QDBusObjectPath trackId,qlonglong position) {};
Q_NOREPLY void OpenUri(QString uri); Q_NOREPLY void OpenUri(QString uri);
signals: signals:
void Seeked(qlonglong position); void Seeked(qlonglong position); //Not used
void playbackStatusChanged(QString status);
void metadataChanged(QMap<QString,QDBusVariant> metadata);
void volumeChanged(double volume);
void positionChanged(qlonglong position);
private slots:
void mediaStateChanged(QMediaPlayer::State state);
void mediaPositionChanged(qint64 position);
void mediaVolumeChanged(int volume);
void mediaPlaylistChanged(QStringList playlist);
private: private:
MiniMediaPlayer *player; MiniMediaPlayer *player;
}; };