Browse Source

continous volume slider

boyska 4 years ago
parent
commit
3d045c9595
2 changed files with 16 additions and 3 deletions
  1. 1 1
      htdocs/js/bootstrap-slider.js
  2. 15 2
      htdocs/js/mpd.js

+ 1 - 1
htdocs/js/bootstrap-slider.js

@@ -72,7 +72,7 @@
                 }
             }).on('mousemove',function(evt){
                 if(self.data("dragSlider")==="true"){
-                    self.slider._setWidthFromEvent.call(self,evt.pageX,null,true);
+                    self.slider._setWidthFromEvent.call(self,evt.pageX,null,false);
                     self.data("endPoint",evt.pageX);
                     evt.preventDefault();
                 }

+ 15 - 2
htdocs/js/mpd.js

@@ -159,12 +159,25 @@ var app = $.sammy(function() {
     });
 });
 
+function dataThrottled(key, fn) {
+  var prevData = null;
+  return function () {
+    var thisData = key.apply(undefined, arguments);
+    if (thisData === prevData) {
+      return;
+    }
+    prevData = thisData;
+    return fn.apply(undefined, arguments);
+  };
+}
+
 $(document).ready(function(){
     webSocketConnect();
     $("#volumeslider").slider(0);
-    $("#volumeslider").on('slider.newValue', function(evt,data){
+    $("#volumeslider").on('slider.newValue', dataThrottled(function (evt, data) { return data.val }, function(evt,data){
+        console.log('vol', data.val)
         socket.send("MPD_API_SET_VOLUME,"+data.val);
-    });
+    }));
     $('#progressbar').slider(0);
     $("#progressbar").on('slider.newValue', function(evt,data){
         if(current_song && current_song.currentSongId >= 0) {