Always return true for MPRIS CanPlay, CanPause, etc.
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
15. When adding streams to play queue via add dialog, always allow setting of
|
||||
name.
|
||||
16. Use Pulse Audio for 'Personal' MPD instance.
|
||||
17. Always return true for MPRIS CanPlay, CanPause, etc.
|
||||
|
||||
2.0.1
|
||||
-----
|
||||
|
||||
@@ -65,6 +65,31 @@ Mpris::~Mpris()
|
||||
QDBusConnection::sessionBus().unregisterService("org.mpris.MediaPlayer2.cantata");
|
||||
}
|
||||
|
||||
void Mpris::Pause()
|
||||
{
|
||||
if (MPDState_Playing==MPDStatus::self()->state()) {
|
||||
StdActions::self()->playPauseTrackAction->trigger();
|
||||
}
|
||||
}
|
||||
|
||||
void Mpris::Play()
|
||||
{
|
||||
MPDStatus * const status = MPDStatus::self();
|
||||
if (status->playlistLength() && MPDState_Playing!=status->state()) {
|
||||
StdActions::self()->playPauseTrackAction->trigger();
|
||||
}
|
||||
}
|
||||
|
||||
QString Mpris::PlaybackStatus() const
|
||||
{
|
||||
switch(MPDStatus::self()->state()) {
|
||||
case MPDState_Playing: return QLatin1String("Playing");
|
||||
case MPDState_Paused: return QLatin1String("Paused");
|
||||
default:
|
||||
case MPDState_Stopped: return QLatin1String("Stopped");
|
||||
}
|
||||
}
|
||||
|
||||
qlonglong Mpris::Position() const
|
||||
{
|
||||
// Cant use MPDStatus, as we dont poll for track position, but use a timer instead!
|
||||
|
||||
38
dbus/mpris.h
38
dbus/mpris.h
@@ -71,37 +71,15 @@ public:
|
||||
// org.mpris.MediaPlayer2.Player
|
||||
void Next() { StdActions::self()->nextTrackAction->trigger(); }
|
||||
void Previous() { StdActions::self()->prevTrackAction->trigger(); }
|
||||
void Pause() {
|
||||
if (MPDState_Playing==MPDStatus::self()->state()) {
|
||||
StdActions::self()->playPauseTrackAction->trigger();
|
||||
}
|
||||
}
|
||||
|
||||
void Pause();
|
||||
void PlayPause() { StdActions::self()->playPauseTrackAction->trigger(); }
|
||||
void Stop() { StdActions::self()->stopPlaybackAction->trigger(); }
|
||||
void StopAfterCurrent() { StdActions::self()->stopAfterCurrentTrackAction->trigger(); }
|
||||
|
||||
void Play() {
|
||||
MPDStatus * const status = MPDStatus::self();
|
||||
|
||||
if (status->playlistLength() && MPDState_Playing!=status->state()) {
|
||||
StdActions::self()->playPauseTrackAction->trigger();
|
||||
}
|
||||
}
|
||||
|
||||
void Play();
|
||||
void Seek(qlonglong pos) { emit setSeekId(-1, pos/1000000); }
|
||||
void SetPosition(const QDBusObjectPath &, qlonglong pos) {emit setSeekId(-1, pos/1000000); }
|
||||
void OpenUri(const QString &) { }
|
||||
|
||||
QString PlaybackStatus() {
|
||||
switch(MPDStatus::self()->state()) {
|
||||
case MPDState_Playing: return QLatin1String("Playing");
|
||||
case MPDState_Paused: return QLatin1String("Paused");
|
||||
default:
|
||||
case MPDState_Stopped: return QLatin1String("Stopped");
|
||||
}
|
||||
}
|
||||
|
||||
QString PlaybackStatus() const;
|
||||
QString LoopStatus() { return MPDStatus::self()->repeat() ? QLatin1String("Playlist") : QLatin1String("None"); }
|
||||
void SetLoopStatus(const QString &s) { emit setRepeat(QLatin1String("None")!=s); }
|
||||
QVariantMap Metadata() const;
|
||||
@@ -115,11 +93,11 @@ public:
|
||||
double MinimumRate() const { return 1.0; }
|
||||
double MaximumRate() const { return 1.0; }
|
||||
bool CanControl() const { return true; }
|
||||
bool CanPlay() const { return MPDState_Playing!=MPDStatus::self()->state() && MPDStatus::self()->playlistLength()>0; }
|
||||
bool CanPause() const { return MPDState_Playing==MPDStatus::self()->state(); }
|
||||
bool CanSeek() const { return -1!=MPDStatus::self()->songId(); }
|
||||
bool CanGoNext() const { return MPDState_Stopped!=MPDStatus::self()->state() && MPDStatus::self()->playlistLength()>1; }
|
||||
bool CanGoPrevious() const { return MPDState_Stopped!=MPDStatus::self()->state() && MPDStatus::self()->playlistLength()>1; }
|
||||
bool CanPlay() const { return true; }
|
||||
bool CanPause() const { return true; }
|
||||
bool CanSeek() const { return true; }
|
||||
bool CanGoNext() const { return true; }
|
||||
bool CanGoPrevious() const { return true; }
|
||||
|
||||
// org.mpris.MediaPlayer2
|
||||
bool CanQuit() const { return true; }
|
||||
|
||||
Reference in New Issue
Block a user