]> git.example.dev Git - binbsis50.git/commitdiff
removed jPlayer
authorLuigi Pinca <luigipinca@gmail.com>
Mon, 4 Apr 2016 17:33:21 +0000 (19:33 +0200)
committerLuigi Pinca <luigipinca@gmail.com>
Mon, 4 Apr 2016 17:33:21 +0000 (19:33 +0200)
public/js/app.js
views/room.jade

index 8253e709a2de469a147f7c72e8d0289e3d52063f..b5afeb126b008fe98e66ac9674beb1ae04e50d8b 100644 (file)
@@ -7,7 +7,6 @@
     , $countdown = $('#countdown')
     , $feedback = $('#feedback')
     , $guessbox = $('#guess')
-    , $jplayer
     , $messagebox = $('#message')
     , $modal = $('#modal')
     , $points = $('#summary .points')
@@ -21,6 +20,7 @@
     , $track = $('#summary .track')
     , $tracks = $('#tracks')
     , $users = $('#users')
+    , audio
     , elapsedtime = 0
     , historycursor = 0
     , historyvalues = []
     return this.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
   };
 
+  var addCassetteBackdrop = function() {
+    var html = [
+      '<div id="touch-backdrop">'
+      , '<button id="touch-play" class="btn btn-danger disabled">'
+      , '<i class="icon-play icon-white"></i> Wait'
+      , '</button>'
+      , '</div>'
+    ].join('');
+
+    var $touchbackdrop = $(html);
+    $touchbackdrop.appendTo('#cassette');
+
+    $touchplay = $('#touch-play');
+    $touchplay.on('click', function() {
+      if (!$(this).hasClass('btn-danger')) {
+        audio.currentTime = elapsedtime;
+        audio.play();
+        $touchbackdrop.remove();
+        $touchplay = null;
+      }
+    });
+  };
+
   // Add a chat entry, whether message, notification, etc.
   var addChatEntry = function($childNode) {
     var $entry = $('<li class="entry"></li>');
 
     var setVolume = function(volume) {
       handleIcon(volume);
-      $jplayer.jPlayer('volume', volume);
+      audio.volume = volume;
       oldvalue = volume;
       setCookie(volume);
     };
 
         if (oldvalue !== 0) {
           handleIcon(0);
-          $jplayer.jPlayer('volume', 0);
+          audio.volume = 0;
           positionVolumeHandle(0);
         }
         return;
 
       if (oldvalue !== 0) {
         handleIcon(oldvalue);
-        $jplayer.jPlayer('volume', oldvalue);
+        audio.volume = oldvalue;
         positionVolumeHandle(oldvalue);
       }
     });
   // Let the user know when he/she has disconnected
   var disconnect = function() {
     clearInterval(timer);
-    $jplayer.jPlayer('stop');
+    audio.pause();
     addChatEntry($('<span class="error">ERROR: You have disconnected.</span>'));
     addFeedback('Something wrong happened');
     $users.empty();
     });
   };
 
-  var jplayerReady = function() {
+  var open = function() {
     primus.send('loggedin', function(isloggedin, loggedinas) {
       if (isloggedin) {
         nickname = loggedinas;
 
       joinUnauthenticated();
     });
-
-    if (!$.jPlayer.platform.mobile && !$.jPlayer.platform.tablet) {
-      return addVolumeControl();
-    }
-
-    var html = [
-      '<div id="touch-backdrop">'
-      , '<button id="touch-play" class="btn btn-danger disabled">'
-      , '<i class="icon-play icon-white"></i> Wait'
-      , '</button>'
-      , '</div>'
-    ].join('');
-
-    var $touchbackdrop = $(html);
-    $touchbackdrop.appendTo('#cassette');
-
-    $touchplay = $('#touch-play');
-    $touchplay.on('click', function() {
-      if (!$(this).hasClass('btn-danger')) {
-        $jplayer.jPlayer('play', elapsedtime);
-        $touchbackdrop.remove();
-        $touchplay = null;
-      }
-    });
   };
 
   var loadTrack = function(previewUrl) {
-    $jplayer.jPlayer('mute');
-    $jplayer.jPlayer('setMedia', { m4a: previewUrl });
+    audio.src = previewUrl;
   };
 
   /**
       $touchplay.removeClass('btn-danger disabled').addClass('btn-success');
     }
 
-    $jplayer.jPlayer('unmute');
-    $jplayer.jPlayer('play');
+    audio.play();
     $guessbox.val('');
     isplaying = true;
     clearInterval(timer);
 
   $togglechat.click(hideChat);
 
-  // Open the realtime connection
+  audio = new Audio();
+  audio.preload = 'auto';
+  audio.volume = 1;
+
+  /Android|iPhone|iPad|iPod/i.test(navigator.userAgent)
+    ? addCassetteBackdrop()
+    : addVolumeControl();
+
   primus = new Primus({ strategy: false });
 
-  primus.on('open', function() {
-    $jplayer = $('#player').jPlayer({
-      ready: jplayerReady,
-      swfPath: '//cdn.jsdelivr.net/jplayer/2.8/Jplayer.swf',
-      supplied: 'm4a',
-      preload: 'auto',
-      volume: 1
-    });
-    primus.on('updateoverview', updateRoomsOverview);
-    primus.on('invalidnickname', invalidNickName);
-    primus.on('alreadyinaroom', alreadyInARoom);
-    primus.on('overview', roomsOverview);
-    primus.on('close', disconnect);
-    primus.on('ready', ready);
-  });
+  primus.on('updateoverview', updateRoomsOverview);
+  primus.on('invalidnickname', invalidNickName);
+  primus.on('alreadyinaroom', alreadyInARoom);
+  primus.on('overview', roomsOverview);
+  primus.on('end', disconnect);
+  primus.on('ready', ready);
+  primus.on('open', open);
 })();
index 8390ce7c1de92b232b7d3d5e0e1cb7db2c3bc90b..d9e20e26860aab741bb2cb4e5212ddac1f176990 100644 (file)
@@ -93,9 +93,7 @@ block sections
 
 block media
   #modal.modal.fade
-  #player
 
 append scripts
-  script(src="//cdn.jsdelivr.net/jplayer/2.8/jquery.jplayer.min.js")
   script(src="/static/js/primus.min.js")
   script(src="/static/js/app.min.js")