From a2b1937a0e0ca61af4c8cad5d461497d97f481d8 Mon Sep 17 00:00:00 2001 From: Wouter van Wijk Date: Sat, 22 Jun 2013 00:39:16 +0200 Subject: [PATCH] =?UTF-8?q?add=20Play=20Next=20option,=20fix=20for=20'load?= =?UTF-8?q?ing=E2=80=A6'=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webclient/index.html | 17 ++++++----- webclient/js/controls.js | 57 ++++++++++++++++++++--------------- webclient/js/functionsvars.js | 19 ++++++------ webclient/js/process_ws.js | 8 ++--- 4 files changed, 56 insertions(+), 45 deletions(-) diff --git a/webclient/index.html b/webclient/index.html index a28437e..a272942 100755 --- a/webclient/index.html +++ b/webclient/index.html @@ -73,17 +73,20 @@
    - -
  • - Play +
  • +
  • - Add this track to bottom of queue + Play Now
  • - Add all tracks to bottom of queue + Play Track Next +
  • +
  • + Add track to bottom of queue +
  • +
  • + Add all tracks to bottom of queue
  • Show Album diff --git a/webclient/js/controls.js b/webclient/js/controls.js index e367903..7f1bf11 100755 --- a/webclient/js/controls.js +++ b/webclient/js/controls.js @@ -1,9 +1,9 @@ /******************************************************** * play an uri from a trackslist or the current playlist *********************************************************/ -function playTrack(addtobottom) { +function playTrack(addtoqueue) { //stop directly, for user feedback - if (!addtobottom) { + if (!addtoqueue) { mopidy.playback.stop(true); } $('#popupTracks').popup('close'); @@ -18,7 +18,7 @@ function playTrack(addtobottom) { var track, tracksbefore, tracksafter; var tracks = getTracksFromUri(playlisturi); if (tracks) { - if (!addtobottom) { + if (!addtoqueue) { clearQueue(); } $(CURRENT_PLAYLIST_TABLE).empty(); @@ -38,32 +38,39 @@ function playTrack(addtobottom) { return false; } - if (addtobottom) { - if (addtobottom == 'one') { - tracks.length = 1; - } - mopidy.tracklist.add(tracks); - showLoading(false); - return false; - } - -// first add track to be played, then the other tracks +//find track that was selected for (var i = 0; i < tracks.length; i++) { if (tracks[i].uri == uri) { -console.log(i); - mopidy.tracklist.add(tracks.slice(i, i + 1) ); - mopidy.playback.play(); - //wait 2 seconds before adding the rest to give server the time to start playing - setTimeout(function() { - mopidy.tracklist.add(tracks.slice(0, i), 0); - if (i < tracks.length) { - mopidy.tracklist.add(tracks.slice(i + 1) ); - } - }, (2000)); - break; - } + break; + } } +//options + switch (addtoqueue) { + case ADD_THIS_BOTTOM: + mopidy.tracklist.add(tracks.slice(i, i + 1)); + showLoading(false); + return false; + case PLAY_NEXT: + mopidy.tracklist.add(tracks.slice(i, i + 1), 1); + showLoading(false); + return false; + case ADD_ALL_BOTTOM: + mopidy.tracklist.add(tracks); + showLoading(false); + return false; + } + +// play now: first add track to be played, then the other tracks + mopidy.tracklist.add(tracks.slice(i, i + 1) ); + mopidy.playback.play(); + //wait 2 seconds before adding the rest to give server the time to start playing + setTimeout(function() { + mopidy.tracklist.add(tracks.slice(0, i), 0); + if (i < tracks.length) { + mopidy.tracklist.add(tracks.slice(i + 1) ); + } + }, (2000)); showLoading(false); return false; } diff --git a/webclient/js/functionsvars.js b/webclient/js/functionsvars.js index 607ac61..e254825 100755 --- a/webclient/js/functionsvars.js +++ b/webclient/js/functionsvars.js @@ -59,6 +59,11 @@ SEARCH_ALBUM_TABLE = '#albumresulttable'; SEARCH_ARTIST_TABLE = '#artistresulttable'; SEARCH_TRACK_TABLE = '#trackresulttable'; +PLAY_NOW = 0; +PLAY_NEXT = 1; +ADD_THIS_BOTTOM = 2; +ADD_ALL_BOTTOM = 3; + MAX_TABLEROWS = 50; //update track slider timer, milliseconds @@ -78,9 +83,13 @@ function scrollToTop() { } function scrollToTracklist() { +/* if (isMobileWebkit) { + playlistslistScroll.refresh(); + } +*/ var divtop = $("#playlisttracksdiv").offset().top - 50; $('body,html').animate({ - scrollTop : divtop + scrollTop : divtop }, 250); } @@ -109,7 +118,6 @@ function getAlbum(pl) { * break up results and put them in album tables *********************************************************/ function albumTracksToTable(pl, target, uri) { - console.log(pl); var tmp = ''; var targetmin = target.substr(1); $(target).empty(); @@ -284,10 +292,3 @@ function timeFromSeconds(length) { var s = Math.floor(d % 3600 % 60); return ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s); } - -//get hash -function getHash() { - var hash = document.location.hash.split('?'); - //remove # - return hash[0].substr(1); -} \ No newline at end of file diff --git a/webclient/js/process_ws.js b/webclient/js/process_ws.js index 36e1c10..7bcf8b9 100755 --- a/webclient/js/process_ws.js +++ b/webclient/js/process_ws.js @@ -62,7 +62,6 @@ function processGetPlaylists(resultArr) { /*

    • Donec id elit non mi porta
    • Gravida at eget metus. Fusce dapibus.
    • Tellus ac cursus commodo
    • More »

      */ - if ((!resultArr) || (resultArr == '')) { return; } @@ -74,9 +73,12 @@ function processGetPlaylists(resultArr) { $('#playlistslist').empty(); $('#playlistslist').html(tmp); // $('#playlistslist').listview('refresh'); - if (isMobileWebkit) { + scrollToTracklist(); +/* if (isMobileWebkit) { playlistslistScroll.refresh(); } +*/ + console.log('pl'); showLoading(false); } @@ -109,7 +111,6 @@ function processCurrentPlaylist(resultArr) { * process results of an artist lookup *********************************************************/ function processArtistResults(resultArr) { - console.log(resultArr); customTracklists[resultArr.uri] = resultArr; resultsToTables(resultArr, ARTIST_TABLE, resultArr.uri); @@ -124,7 +125,6 @@ function processArtistResults(resultArr) { * process results of an album lookup *********************************************************/ function processAlbumResults(resultArr) { - console.log(resultArr); customTracklists[resultArr.uri] = resultArr; albumTracksToTable(resultArr, ALBUM_TABLE, resultArr.uri); var albumname = getAlbum(resultArr);