diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-02-27 18:41:40 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-02-27 18:41:40 +0000 |
| commit | f49cf908ccd6726dd1b1763fd13c37770eaad06e (patch) | |
| tree | daa53108a7e0248a7a93de0f6ec5a24801f4fd3d /src/plugins/General/mpris | |
| parent | d41fabfb56ef922429b51295d6f0f545fd309594 (diff) | |
| download | qmmp-f49cf908ccd6726dd1b1763fd13c37770eaad06e.tar.gz qmmp-f49cf908ccd6726dd1b1763fd13c37770eaad06e.tar.bz2 qmmp-f49cf908ccd6726dd1b1763fd13c37770eaad06e.zip | |
mpris: improved compatibility
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9250 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/mpris')
| -rw-r--r-- | src/plugins/General/mpris/player2object.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/General/mpris/player2object.cpp b/src/plugins/General/mpris/player2object.cpp index 84d5725d6..b26a2c9d5 100644 --- a/src/plugins/General/mpris/player2object.cpp +++ b/src/plugins/General/mpris/player2object.cpp @@ -74,11 +74,11 @@ bool Player2Object::canGoPrevious() const bool Player2Object::canPause() const { - return (m_core->state() == Qmmp::Paused || m_core->state() == Qmmp::Playing); + return !m_pl_manager->currentPlayList()->isEmpty(); } bool Player2Object::canPlay() const { - return m_pl_manager->currentPlayList()->count() != 0; + return !m_pl_manager->currentPlayList()->isEmpty(); } bool Player2Object::canSeek() const @@ -239,20 +239,24 @@ void Player2Object::OpenUri(const QString &in0) void Player2Object::Pause() { - m_core->pause(); + if(m_core->state() == Qmmp::Playing) + m_core->pause(); } void Player2Object::Play() { - m_player->play(); + if(m_core->state() == Qmmp::Paused) + m_core->pause(); + else if(m_core->state() != Qmmp::Playing && m_core->state() != Qmmp::Buffering) + m_player->play(); } void Player2Object::PlayPause() { - if(m_core->state() == Qmmp::Stopped) - m_player->play(); - else if(m_core->state() == Qmmp::Paused || m_core->state() == Qmmp::Playing) + if(m_core->state() == Qmmp::Playing || m_core->state() == Qmmp::Paused) m_core->pause(); + else if(m_core->state() != Qmmp::Playing && m_core->state() != Qmmp::Buffering) + m_player->play(); } void Player2Object::Previous() |
