diff --git a/AUTHORS b/AUTHORS index 29e256c..b4ebc54 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,8 +1,12 @@ Webclient - Wouter van Wijk - Flat Interface: Ulrich Lichtenegger -- Kingosticks (Nick Steel) -- Szymon Nowak +- Nick Steel +- Szymon Nowak +- John Cass +- André Gaul +- Dāvis Mošenkovs +- Bruce Tsai Mopidy: https://github.com/mopidy/mopidy/blob/develop/AUTHORS diff --git a/mopidy_musicbox_webclient/static/dialog-success.html b/mopidy_musicbox_webclient/static/dialog-success.html index b9c59c3..9827ee0 100644 --- a/mopidy_musicbox_webclient/static/dialog-success.html +++ b/mopidy_musicbox_webclient/static/dialog-success.html @@ -3,7 +3,7 @@ - + diff --git a/mopidy_musicbox_webclient/static/index.html b/mopidy_musicbox_webclient/static/index.html index 0bfbfa2..addda06 100644 --- a/mopidy_musicbox_webclient/static/index.html +++ b/mopidy_musicbox_webclient/static/index.html @@ -143,7 +143,27 @@ - +
diff --git a/mopidy_musicbox_webclient/static/js/controls.js b/mopidy_musicbox_webclient/static/js/controls.js index 94f6b1a..e0d5561 100644 --- a/mopidy_musicbox_webclient/static/js/controls.js +++ b/mopidy_musicbox_webclient/static/js/controls.js @@ -4,12 +4,14 @@ function playBrowsedTracks(addtoqueue, trackid) { //stop directly, for user feedback. - if (!addtoqueue) { + if (addtoqueue == PLAY_ALL) { mopidy.playback.stop(true); mopidy.tracklist.clear(); } toast('Loading...'); + trackid = typeof trackid !== 'undefined' ? trackid : $('#popupBrowse').data("track"); + var selected = 0, counter = 0; var isStream = isStreamUri(trackid); @@ -17,23 +19,48 @@ function playBrowsedTracks(addtoqueue, trackid) { if (isStream) { mopidy.tracklist.add(null, null, trackid); } else { - //add selected item to the playlist - $('.browsetrack').each(function() { - if (this.id == trackid) { - selected = counter; - } - mopidy.tracklist.add(null, null, this.id); - counter++; - }); + switch (addtoqueue) { + case PLAY_NOW: + case PLAY_NEXT: + //find track that is playing + for (var playing = 0; playing < currentplaylist.length; playing++) { + if (currentplaylist[playing].uri == songdata.uri) { + break; + } + } + mopidy.tracklist.add(null, playing + 1, trackid); + break; + case ADD_THIS_BOTTOM: + mopidy.tracklist.add(null, null, trackid); + break; + case ADD_ALL_BOTTOM: + case PLAY_ALL: + //add selected item to the playlist + $('.browsetrack').each(function() { + if (this.id == trackid) { + selected = counter; + } + mopidy.tracklist.add(null, null, this.id); + counter++; + }); + break; + default: + break; + } + } //play selected item - if (!addtoqueue) { + if (addtoqueue == PLAY_ALL) { mopidy.playback.stop(); for (var i = 0; i <= selected; i++) { mopidy.playback.next(); } mopidy.playback.play(); //tracks[selected]); + } else if (addtoqueue == PLAY_NOW) { + mopidy.playback.stop(); + mopidy.playback.next(); + mopidy.playback.play(); } //add all items, but selected to the playlist diff --git a/mopidy_musicbox_webclient/static/js/functionsvars.js b/mopidy_musicbox_webclient/static/js/functionsvars.js index ac740ed..820ce39 100644 --- a/mopidy_musicbox_webclient/static/js/functionsvars.js +++ b/mopidy_musicbox_webclient/static/js/functionsvars.js @@ -70,6 +70,7 @@ PLAY_NOW = 0; PLAY_NEXT = 1; ADD_THIS_BOTTOM = 2; ADD_ALL_BOTTOM = 3; +PLAY_ALL = 4; MAX_TABLEROWS = 50; diff --git a/mopidy_musicbox_webclient/static/js/gui.js b/mopidy_musicbox_webclient/static/js/gui.js index c7f9654..d0f2443 100644 --- a/mopidy_musicbox_webclient/static/js/gui.js +++ b/mopidy_musicbox_webclient/static/js/gui.js @@ -186,9 +186,12 @@ function popupTracks(e, listuri, trackuri, tlid) { if (divid == 'current') { $(".addqueue").hide(); var popupName = '#popupQueue'; + } else if (divid == 'browse') { + $(".addqueue").show(); + var popupName = '#popupBrowse'; } else { $(".addqueue").show(); - var popupName = '#popupTracks'; + var popupName = '#popupTracks'; } if (typeof tlid != 'undefined' && tlid != '') { diff --git a/mopidy_musicbox_webclient/static/js/process_ws.js b/mopidy_musicbox_webclient/static/js/process_ws.js index 7e55f9f..566d1b0 100644 --- a/mopidy_musicbox_webclient/static/js/process_ws.js +++ b/mopidy_musicbox_webclient/static/js/process_ws.js @@ -110,7 +110,13 @@ function processBrowseDir(resultArr) { iconClass = getMediaClass(resultArr[i].uri); if(resultArr[i].type == 'track' ) { // console.log(resultArr[i]); - child += '
  • ' + + '' + + '' + + '

    ' + resultArr[i].name + '

  • '; } else { if (browseStack.length > 0) {