From f78e88e6aac0c2dff26d4fe4b5cb91e5a68a00c0 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Mon, 23 Mar 2009 16:30:12 +0100 Subject: [PATCH] do not fetch status after succesful setvol command, set it locally --- src/mpdpp.cpp | 12 +++++++++--- src/mpdpp.h | 2 +- src/ncmpcpp.cpp | 6 ------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/mpdpp.cpp b/src/mpdpp.cpp index 40aad64e..8081b606 100644 --- a/src/mpdpp.cpp +++ b/src/mpdpp.cpp @@ -482,13 +482,19 @@ void Connection::SetRandom(bool mode) const } } -void Connection::SetVolume(int vol) const +void Connection::SetVolume(int vol) { if (isConnected) { mpd_sendSetvolCommand(itsConnection, vol); - if (!isCommandsListEnabled) - mpd_finishCommand(itsConnection); + mpd_finishCommand(itsConnection); + if (!itsConnection->error && itsUpdater) + { + itsCurrentStatus->volume = vol; + StatusChanges ch; + ch.Volume = 1; + itsUpdater(this, ch, itsStatusUpdaterUserdata); + } } } diff --git a/src/mpdpp.h b/src/mpdpp.h index 0e12ccbf..e76c48f1 100644 --- a/src/mpdpp.h +++ b/src/mpdpp.h @@ -137,8 +137,8 @@ namespace MPD void SetRepeat(bool) const; void SetRandom(bool) const; - void SetVolume(int) const; void SetCrossfade(int) const; + void SetVolume(int); int AddSong(const std::string &); // returns id of added song int AddSong(const Song &); // returns id of added song diff --git a/src/ncmpcpp.cpp b/src/ncmpcpp.cpp index ee6e20aa..33009dc4 100644 --- a/src/ncmpcpp.cpp +++ b/src/ncmpcpp.cpp @@ -414,10 +414,7 @@ int main(int argc, char *argv[]) } # endif // HAVE_TAGLIB_H else - { Mpd->SetVolume(Mpd->GetVolume()+1); - Mpd->UpdateStatus(); - } } else if (Keypressed(input, Key.VolumeDown)) { @@ -436,10 +433,7 @@ int main(int argc, char *argv[]) } # endif // HAVE_TAGLIB_H else - { Mpd->SetVolume(Mpd->GetVolume()-1); - Mpd->UpdateStatus(); - } } else if (Keypressed(input, Key.Delete)) {