From 24cea6d4beede6e183636da89e13ba2b1710d08a Mon Sep 17 00:00:00 2001 From: Nick Steel Date: Thu, 12 Nov 2015 01:27:55 +0000 Subject: [PATCH] Stop using deprecated getPlaylists API. Get playlist refs from asList(). Get playlist track refs using getItems(). Must then do a library.lookup() for all tracks since we require album metadata when displaying. --- .../static/js/library.js | 7 +++--- .../static/js/process_ws.js | 25 +++++++++++++------ 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/mopidy_musicbox_webclient/static/js/library.js b/mopidy_musicbox_webclient/static/js/library.js index 2fc935f..78d4b60 100644 --- a/mopidy_musicbox_webclient/static/js/library.js +++ b/mopidy_musicbox_webclient/static/js/library.js @@ -213,7 +213,7 @@ function toggleSearch() { function getPlaylists() { // get playlists without tracks - mopidy.playlists.getPlaylists(false).then(processGetPlaylists, console.error); + mopidy.playlists.asList().then(processGetPlaylists, console.error); } function getBrowseDir(rootdir) { @@ -267,8 +267,9 @@ function showTracklist(uri) { }); // scrollToTracklist(); //lookup recent tracklist - - mopidy.playlists.lookup(uri).then(processGetTracklist, console.error); + mopidy.playlists.getItems(uri).then(function(refs) { + processPlaylistItems({'uri':uri, 'items':refs}); + }, console.error); return false; } diff --git a/mopidy_musicbox_webclient/static/js/process_ws.js b/mopidy_musicbox_webclient/static/js/process_ws.js index d918d2a..b45ed39 100644 --- a/mopidy_musicbox_webclient/static/js/process_ws.js +++ b/mopidy_musicbox_webclient/static/js/process_ws.js @@ -157,6 +157,7 @@ function processBrowseDir(resultArr) { *********************************************************/ function processGetPlaylists(resultArr) { if ((!resultArr) || (resultArr == '')) { + $('#playlistslist').empty(); return; } var tmp = '', favourites = '', starred = ''; @@ -179,15 +180,23 @@ function processGetPlaylists(resultArr) { } /******************************************************** - * process results of a returned playlist + * process results of a returned list of playlist track refs *********************************************************/ -function processGetTracklist(resultArr) { - //cache result - var newplaylisturi = resultArr.uri; -//console.log(resultArr); - playlists[newplaylisturi] = resultArr; - resultsToTables(playlists[newplaylisturi].tracks, PLAYLIST_TABLE, newplaylisturi); - showLoading(false); +function processPlaylistItems(resultDict) { + var trackUris = [] + for (i = 0; i < resultDict.items.length; i++) { + trackUris.push(resultDict.items[i].uri); + } + return mopidy.library.lookup(null, trackUris).then(function(tracks) { + // Transform from dict to list and cache result + var newplaylisturi = resultDict.uri; + playlists[newplaylisturi] = {'uri':newplaylisturi, 'tracks':[]}; + for (i = 0; i < trackUris.length; i++) { + playlists[newplaylisturi].tracks.push(tracks[trackUris[i]][0]); + } + resultsToTables(playlists[newplaylisturi].tracks, PLAYLIST_TABLE, newplaylisturi); + showLoading(false); + }); } /********************************************************