Prerequisites
Volumio Information
PRETTY_NAME=“Raspbian GNU/Linux 8 (jessie)”
NAME=“Raspbian GNU/Linux”
VERSION_ID=“8”
VERSION=“8 (jessie)”
ID=raspbian
ID_LIKE=debian
HOME_URL=“http://www.raspbian.org/”
SUPPORT_URL=“RaspbianForums - Raspbian”
BUG_REPORT_URL=“RaspbianBugs - Raspbian”
VOLUMIO_BUILD_VERSION=“168ba7444df98cd868db72f24faec0b6346489cc”
VOLUMIO_FE_VERSION=“847a48ecf32d35cc502a0053d585d1a69236e391”
VOLUMIO_BE_VERSION=“03f7bbd984817e093cac62b7ff876f3c2cfabc1d”
VOLUMIO_ARCH=“arm”
VOLUMIO_VARIANT=“volumio”
VOLUMIO_TEST=“FALSE”
VOLUMIO_BUILD_DATE=“Thu Dec 24 14:14:27 CET 2020”
VOLUMIO_VERSION=“2.864”
VOLUMIO_HARDWARE=“pi”
VOLUMIO_HASH=“a9080a4996503f0f77c2558e7e15cf3a”
Debug Log
http://logs.volumio.org/volumio/lf9GTro.html
Steps to Reproduce
TurnOn Volumio
2.
Open Volumio web page on a browser
3.
Send a toggle command (pause/play) via Connect an mpc client.
Even mpc toggle using the raspberry console via ssh.
4.
The Player pause playing (correct) but the web interface (and all the plugins) think the system is still playing).
Additional Information
I fix the issue modifying the CoreStateMachine.prototype.syncState function in the /volumio/app/statemachine.js file in the following way.
Part of Orginal code at line 872:
if (this.currentStatus === ‘play’) {
if (this.isConsume) {
this.consumeState.status = ‘pause’;
this.pushState().fail(this.pushError.bind(this));
return this.stopPlaybackTimer();
}
}
New code:
if (this.currentStatus === ‘play’) {
if (this.isConsume) {
this.consumeState.status = ‘pause’;
this.pushState().fail(this.pushError.bind(this));
return this.stopPlaybackTimer();
} else {
this.currentStatus="pause";
this.pushState().fail(this.pushError.bind(this));
return this.stopPlaybackTimer();
}
}