fix:Disable volume slider change events while user is busy dragging the slider.

Fixes #168.
This commit is contained in:
jcass 2016-02-15 07:35:46 +02:00
parent 0d54984f38
commit 4d20b13f51
4 changed files with 10 additions and 8 deletions

View File

@ -76,6 +76,7 @@ v2.2.0 (UNRELEASED)
- Prevent mobile devices from scaling when used in landscape mode. (Fixes: `#157 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/157>`_). - Prevent mobile devices from scaling when used in landscape mode. (Fixes: `#157 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/157>`_).
- Scrolling now works in full screen mode for Chrome and Safari as well. (Fixes: `#53 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/53>`_). - Scrolling now works in full screen mode for Chrome and Safari as well. (Fixes: `#53 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/53>`_).
- No longer interferes with changes to Mopidy's volume levels that are triggered externally. (Fixes: `#162 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/162>`_). - No longer interferes with changes to Mopidy's volume levels that are triggered externally. (Fixes: `#162 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/162>`_).
- Volume slider now works with Mopidy-ALSAMixer again. (Fixes: `#168 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/168>`_).
v2.1.1 (2016-02-04) v2.1.1 (2016-02-04)
------------------- -------------------

View File

@ -376,14 +376,18 @@ function setPosition(pos) {
function setVolume(value) { function setVolume(value) {
if (!volumeChanging && !volumeSliding && $("#volumeslider").val() != value) { if (!volumeChanging && !volumeSliding && $("#volumeslider").val() != value) {
$( "#volumeslider" ).off( "change");
$( "#volumeslider" ).val(value).slider('refresh'); $( "#volumeslider" ).val(value).slider('refresh');
$( "#volumeslider" ).on( "change", function() { doVolume( $(this).val() ); } );
} }
} }
function doVolume(value) { function doVolume(value) {
if (!volumeChanging) { if (!volumeChanging) {
volumeChanging = value; volumeChanging = value;
mopidy.playback.setVolume({'volume': parseInt(value)}); mopidy.playback.setVolume({'volume': parseInt(volumeChanging)}).then( function() {
volumeChanging = null;
});
} }
} }

View File

@ -257,9 +257,6 @@ function initSocketevents() {
}); });
mopidy.on("event:volumeChanged", function(data) { mopidy.on("event:volumeChanged", function(data) {
if (volumeChanging && volumeChanging == data["volume"]) {
volumeChanging = null;
}
setVolume(data["volume"]); setVolume(data["volume"]);
}); });
@ -572,12 +569,12 @@ $(document).ready(function(event) {
event.stopImmediatePropagation(); } event.stopImmediatePropagation(); }
} ); } );
$( "#trackslider" ).on( "slidestart", function() { progressTimer.stop(); } ) $( "#trackslider" ).on( "slidestart", function() { progressTimer.stop(); } );
$( "#trackslider" ).on( "slidestop", function() { doSeekPos( $(this).val() ); } ); $( "#trackslider" ).on( "slidestop", function() { doSeekPos( $(this).val() ); } );
$( "#volumeslider" ).on( "slidestart", function() { volumeSliding = true; } ) $( "#volumeslider" ).on( "slidestart", function() { volumeSliding = true; } );
$( "#volumeslider" ).on( "slidestop", function() { volumeSliding = false; } ); $( "#volumeslider" ).on( "slidestop", function() { volumeSliding = false; } );
$( "#volumeslider" ).on( "change", function() { doVolume( $(this).val() ); } ) $( "#volumeslider" ).on( "change", function() { doVolume( $(this).val() ); } );
}); });
function updatePlayIcons (uri, tlid) { function updatePlayIcons (uri, tlid) {

View File

@ -1,6 +1,6 @@
CACHE MANIFEST CACHE MANIFEST
# 2016-02-14:v5 # 2016-02-15:v1
NETWORK: NETWORK:
* *