Merge branch 'master' of https://github.com/Nofre/ympd into Nofre-master
authorAndrew Karpow <andy@ndyk.de>
Sun, 20 Sep 2015 14:00:45 +0000 (16:00 +0200)
committerAndrew Karpow <andy@ndyk.de>
Sun, 20 Sep 2015 14:00:45 +0000 (16:00 +0200)
1  2 
htdocs/index.html
htdocs/js/mpd.js

Simple merge
@@@ -59,17 -61,9 +63,18 @@@ var app = $.sammy(function() 
          pagination = parseInt(this.params['splat'][0]);
          current_app = 'browse';
          $('#breadcrump').removeClass('hide').empty().append("<li><a href=\"#/browse/0/\">root</a></li>");
-         $('#salamisandwich').find("tr:gt(0)").remove();
+         $('#salamisandwich').removeClass('hide').find("tr:gt(0)").remove();
+         $('#dirble_panel').addClass('hide');
          socket.send('MPD_API_GET_BROWSE,'+pagination+','+(browsepath ? browsepath : "/"));
 +        // Don't add all songs from root
 +        if (browsepath) {
 +            var add_all_songs = $('#add-all-songs');
 +            add_all_songs.off(); // remove previous binds
 +            add_all_songs.on('click', function() {
 +                socket.send('MPD_API_ADD_TRACK,'+browsepath);
 +            });
 +            add_all_songs.show();
 +        }
  
          $('#panel-heading').text("Browse database: "+browsepath);
          var path_array = browsepath.split('/');
@@@ -681,22 -688,158 +740,177 @@@ function songNotify(title, artist, albu
      }, 3000, notification);
  }
  
 -}
 +$(document).keydown(function(e){
 +    if (e.target.tagName == 'INPUT') {
 +        return;
 +    }
 +    switch (e.which) {
 +        case 37: //left
 +            socket.send('MPD_API_SET_PREV');
 +            break;
 +        case 39: //right
 +            socket.send('MPD_API_SET_NEXT');
 +            break;
 +        case 32: //space
 +            clickPlay();
 +            break;
 +        default:
 +            return;
 +    }
 +    e.preventDefault();
 +});
+ function dirble_load_categories() {
+     dirble_page = 1;
+     $.getJSON( "http://api.dirble.com/v2/categories?token=2e223c9909593b94fc6577361a", function( data ) {
+         $('#dirble_loading').addClass('hide');
+         data = data.sort(function(a, b) {
+             return (a.title > b.title) ? 1 : 0;
+         });
+         var max = data.length - data.length%2;
+         for(i = 0; i < max; i+=2) {
+             $('#dirble_left > tbody').append(
+                 "<tr><td catid=\""+data[i].id+"\">"+data[i].title+"</td></tr>"
+             );
+             $('#dirble_right > tbody').append(
+                 "<tr><td catid=\""+data[i+1].id+"\">"+data[i+1].title+"</td></tr>"
+             );
+         }
+         if (max != data.length) {
+             $('#dirble_left > tbody').append(
+                 "<tr><td catid=\""+data[max].id+"\">"+data[max].title+"</td></tr>"
+             );
+         }
+         $('#dirble_left > tbody > tr > td').on({
+             click: function() {
+                 dirble_selected_cat = $(this).text();
+                 dirble_catid = $(this).attr("catid");
+                 app.setLocation("#/dirble/"+dirble_catid+"/"+dirble_page);
+             }
+         });
+         $('#dirble_right > tbody > tr > td').on({
+             click: function() {
+                 dirble_selected_cat = $(this).text();
+                 dirble_catid = $(this).attr("catid");
+                 app.setLocation("#/dirble/"+dirble_catid+"/"+dirble_page);
+             }
+         });
+     });
+ }
+ function dirble_load_stations() {
+     $.getJSON( "http://api.dirble.com/v2/category/"+dirble_catid+"/stations?page="+dirble_page+"&per_page=20&token=2e223c9909593b94fc6577361a", function( data ) {
+         $('#dirble_loading').addClass('hide');
+         if (data.length == 20) $('#next').removeClass('hide');
+         var max = data.length - data.length%2;
+         for(i = 0; i < max; i+=2) {
+             $('#dirble_left > tbody').append(
+                 "<tr><td radioid=\""+data[i].id+"\">"+data[i].name+"</td></tr>"
+             );
+             $('#dirble_right > tbody').append(
+                 "<tr><td radioid=\""+data[i+1].id+"\">"+data[i+1].name+"</td></tr>"
+             );
+         }
+         if (max != data.length) {
+             $('#dirble_left > tbody').append(
+                 "<tr><td radioid=\""+data[max].id+"\">"+data[max].name+"</td></tr>"
+             );
+         }
+         $('#dirble_left > tbody > tr > td').on({
+             click: function() {
+                 var _this = $(this);
+                 $.getJSON( "http://api.dirble.com/v2/station/"+$(this).attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+                     socket.send("MPD_API_ADD_TRACK," + data.streams[0].stream);
+                     $('.top-right').notify({
+                         message:{
+                             text: _this.text() + " added"
+                         }
+                     }).show();
+                 });
+             },
+             mouseenter: function() {
+                 var _this = $(this);
+                 $(this).last().append(
+                 "<a role=\"button\" class=\"pull-right btn-group-hover\">" +
+                 "<span class=\"glyphicon glyphicon-play\"></span></a>").find('a').click(function(e) {
+                     e.stopPropagation();
+                     $.getJSON( "http://api.dirble.com/v2/station/"+_this.attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+                         socket.send("MPD_API_ADD_PLAY_TRACK," + data.streams[0].stream);
+                         $('.top-right').notify({
+                             message:{
+                                 text: _this.text() + " added"
+                             }
+                         }).show();
+                     });
+                 }).fadeTo('fast',1);
+             },
+             mouseleave: function(){
+                 $(this).last().find("a").stop().remove();
+             }
+         });
+         $('#dirble_right> tbody > tr > td').on({
+             click: function() {
+                 var _this = $(this);
+                 $.getJSON( "http://api.dirble.com/v2/station/"+$(this).attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+                     socket.send("MPD_API_ADD_TRACK," + data.streams[0].stream);
+                     $('.top-right').notify({
+                         message:{
+                             text: _this.text() + " added"
+                         }
+                     }).show();
+                 });
+             },
+             mouseenter: function() {
+                 var _this = $(this);
+                 $(this).last().append(
+                 "<a role=\"button\" class=\"pull-right btn-group-hover\">" +
+                 "<span class=\"glyphicon glyphicon-play\"></span></a>").find('a').click(function(e) {
+                     e.stopPropagation();
+                     $.getJSON( "http://api.dirble.com/v2/station/"+_this.attr("radioid")+"?token=2e223c9909593b94fc6577361a", function( data ) {
+                         socket.send("MPD_API_ADD_PLAY_TRACK," + data.streams[0].stream);
+                         $('.top-right').notify({
+                             message:{
+                                 text: _this.text() + " added"
+                             }
+                         }).show();
+                     });
+                 }).fadeTo('fast',1);
+             },
+             mouseleave: function(){
+                 $(this).last().find("a").stop().remove();
+             }
+         });
+     });
++}