diff --git a/README.rst b/README.rst index eae347f..fe08417 100644 --- a/README.rst +++ b/README.rst @@ -105,6 +105,7 @@ v2.1.0 (UNRELEASED) (Fixes: `#144 `_). - Re-align the menu and search buttons in the title bar. (Fixes: `#148 `_). +- Use explicit Mopidy.js calling convention. (Fixes: `#79 `_). v2.0.0 (2015-03-26) diff --git a/mopidy_musicbox_webclient/static/js/controls.js b/mopidy_musicbox_webclient/static/js/controls.js index 8f7f0f4..aa4af80 100644 --- a/mopidy_musicbox_webclient/static/js/controls.js +++ b/mopidy_musicbox_webclient/static/js/controls.js @@ -32,7 +32,7 @@ function playBrowsedTracks(action, trackIndex) { var maybePlay = function(tlTracks) { if (action === PLAY_NOW || action === PLAY_ALL) { var playIndex = (action === PLAY_ALL) ? trackIndex : 0; - mopidy.playback.play(tlTracks[playIndex]); + mopidy.playback.play({'tl_track': tlTracks[playIndex]}); } }; @@ -40,13 +40,13 @@ function playBrowsedTracks(action, trackIndex) { case PLAY_NOW: case PLAY_NEXT: mopidy.tracklist.index().then(function (currentIndex) { - mopidy.tracklist.add(null, currentIndex + 1, null, trackUris).then(maybePlay); + mopidy.tracklist.add({'at_position': currentIndex + 1, 'uris': trackUris}).then(maybePlay); }); break; case ADD_THIS_BOTTOM: case ADD_ALL_BOTTOM: case PLAY_ALL: - mopidy.tracklist.add(null, null, null, trackUris).then(maybePlay); + mopidy.tracklist.add({'uris': trackUris}).then(maybePlay); break; default: break; @@ -91,21 +91,21 @@ function playTrack(action) { case PLAY_NOW: case PLAY_NOW_SEARCH: mopidy.tracklist.clear().then( - mopidy.tracklist.add(null, null, null, trackUris).then( + mopidy.tracklist.add({'uris': trackUris}).then( function(tlTracks) { - mopidy.playback.play(tlTracks[selected]) + mopidy.playback.play({'tl_track': tlTracks[selected]}) } ) ); break; case PLAY_NEXT: mopidy.tracklist.index().then(function(currentIndex) { - mopidy.tracklist.add(null, currentIndex + 1, null, trackUris); + mopidy.tracklist.add({'at_position': currentIndex + 1, 'uris': trackUris}); }); break; case ADD_THIS_BOTTOM: case ADD_ALL_BOTTOM: - mopidy.tracklist.add(null, null, null, trackUris); + mopidy.tracklist.add({'uris': trackUris}); break; } return false; @@ -122,7 +122,7 @@ function playTrackByUri(track_uri, playlist_uri) { // Find track that was selected for (var selected = 0; selected < tltracks.length; selected++) { if (tltracks[selected].track.uri == track_uri) { - mopidy.playback.play(tltracks[selected]); + mopidy.playback.play({'tl_track': tltracks[selected]}); return; } } @@ -141,11 +141,11 @@ function playTrackByUri(track_uri, playlist_uri) { toast('Loading...'); - mopidy.tracklist.add(null, null, playlist_uri).then(function(tltracks) { + mopidy.tracklist.add({'uris': [playlist_uri]}).then(function(tltracks) { // Can fail for all sorts of reasons. If so, just add individually. if (tltracks.length == 0) { var trackUris = getTracksFromUri(playlist_uri, false); - mopidy.tracklist.add(null, null, null, trackUris).then(findAndPlayTrack); + mopidy.tracklist.add({'uris': trackUris}).then(findAndPlayTrack); } else { findAndPlayTrack(tltracks); } @@ -175,7 +175,7 @@ function playTrackQueueByTlid(uri, tlid) { }).then( function(tltracks) { if (tltracks.length > 0) { - mopidy.playback.play(tltracks[0]); + mopidy.playback.play({'tl_track': tltracks[0]}); return; } console.log('Failed to play selected track ', tlid); @@ -203,7 +203,7 @@ function removeTrack() { tlid = parseInt($('#popupQueue').data("tlid")); console.log(tlid); - mopidy.tracklist.remove({'tlid':[tlid]}); + mopidy.tracklist.remove({'tlid': [tlid]}); } function clearQueue() { @@ -225,9 +225,9 @@ function saveQueue() { exists = exists || existing[i].uri.indexOf("m3u:") == 0 || existing[i].uri.indexOf("local:") == 0; } if (!exists || window.confirm("Overwrite existing playlist \"" + plname + "\"?")) { - mopidy.playlists.create(plname, "local").then(function(playlist) { + mopidy.playlists.create({'name': plname, 'uri_scheme': "local"}).then(function(playlist) { playlist.tracks = tracks; - mopidy.playlists.save(playlist).then(); + mopidy.playlists.save({'playlist': playlist}).then(); getPlaylists(); }); } @@ -336,19 +336,19 @@ function setSingle(nwsingle) { } function doRandom() { - mopidy.tracklist.setRandom(!random).then(); + mopidy.tracklist.setRandom({'value': !random}).then(); } function doRepeat() { - mopidy.tracklist.setRepeat(!repeat).then(); + mopidy.tracklist.setRepeat({'value': !repeat}).then(); } function doConsume() { - mopidy.tracklist.setConsume(!consume).then(); + mopidy.tracklist.setConsume({'value': !consume}).then(); } function doSingle() { - mopidy.tracklist.setSingle(!single).then(); + mopidy.tracklist.setSingle({'value': !single}).then(); } @@ -371,7 +371,7 @@ function doSeekPos(value) { function triggerPos() { if (mopidy) { posChanging = true; - mopidy.playback.seek(newposition); + mopidy.playback.seek({'time_position': newposition}); resumePosTimer(); posChanging = false; } @@ -411,7 +411,7 @@ function doVolume(value) { } function triggerVolume() { - mopidy.playback.setVolume(parseInt(volumeChanging)); + mopidy.playback.setVolume({'volume': parseInt(volumeChanging)}); volumeChanging = 0; } @@ -427,7 +427,7 @@ function setMute(nwmute) { } function doMute() { - mopidy.mixer.setMute(!mute); + mopidy.mixer.setMute({'mute': !mute}); } /************************** @@ -483,7 +483,7 @@ function playStreamUri(uri) { document.activeElement.blur(); clearQueue(); $("input").blur(); - mopidy.tracklist.add(null, null, nwuri); + mopidy.tracklist.add({'uris': [nwuri]}); mopidy.playback.play(); } else { toast('No valid url!'); @@ -514,7 +514,7 @@ function getPlaylistByName(name, scheme, create) { } } if (create) { - return mopidy.playlists.create(name, scheme).done(function(plist) { + return mopidy.playlists.create({'name': name, 'uri_scheme': scheme}).done(function(plist) { console.log("Created playlist '%s'", plist.name); return plist; }); @@ -524,7 +524,7 @@ function getPlaylistByName(name, scheme, create) { } function getPlaylistFull(uri) { - return mopidy.playlists.lookup(uri).then(function(pl) { + return mopidy.playlists.lookup({'uri': uri}).then(function(pl) { playlists[uri] = pl; return pl; }); @@ -541,7 +541,7 @@ function getFavourites() { function addFavourite(uri, name) { var uri = uri || $('#streamuriinput').val().trim(); var name = name || $('#streamnameinput').val().trim(); - mopidy.library.lookup(null, [uri]).then(function(results) { + mopidy.library.lookup({'uris': [uri]}).then(function(results) { var newTracks = results[uri]; if (newTracks.length == 1) { // TODO: Supporting adding an entire playlist? @@ -556,7 +556,7 @@ function addFavourite(uri, name) { } else { favourites.tracks = [newTracks[0]]; } - mopidy.playlists.save(favourites).then(function(s) { + mopidy.playlists.save({'playlist': favourites}).then(function(s) { showFavourites(); }); } @@ -577,7 +577,7 @@ function deleteFavourite(index) { var name = favourites.tracks[index].name; if (confirm("Are you sure you want to remove '" + name + "'?")) { favourites.tracks.splice(index, 1); - mopidy.playlists.save(favourites).then(function(s) { + mopidy.playlists.save({'playlist': favourites}).then(function(s) { showFavourites(); }); } diff --git a/mopidy_musicbox_webclient/static/js/functionsvars.js b/mopidy_musicbox_webclient/static/js/functionsvars.js index e9aec4f..2e3f55e 100644 --- a/mopidy_musicbox_webclient/static/js/functionsvars.js +++ b/mopidy_musicbox_webclient/static/js/functionsvars.js @@ -410,8 +410,8 @@ function getPlaylistTracks(uri) { return Mopidy.when(playlists[uri].tracks); } else { showLoading(true); - return mopidy.playlists.getItems(uri).then(function(refs) { - return processPlaylistItems({'uri':uri, 'items':refs}); + return mopidy.playlists.getItems({'uri': uri}).then(function(refs) { + return processPlaylistItems({'uri': uri, 'items': refs}); }, console.error); } } diff --git a/mopidy_musicbox_webclient/static/js/gui.js b/mopidy_musicbox_webclient/static/js/gui.js index cfa4781..e5c99fa 100644 --- a/mopidy_musicbox_webclient/static/js/gui.js +++ b/mopidy_musicbox_webclient/static/js/gui.js @@ -479,10 +479,11 @@ $(document).ready(function(event) { // Connect to server if (websocketUrl) { mopidy = new Mopidy({ - webSocketUrl: websocketUrl // wslocation is set in index.html from the extention config. + webSocketUrl: websocketUrl, // wslocation is set in index.html from the extention config. + callingConvention: 'by-position-or-by-name' }); } else { - mopidy = new Mopidy(); + mopidy = new Mopidy({callingConvention: 'by-position-or-by-name'}); } //initialize events diff --git a/mopidy_musicbox_webclient/static/js/library.js b/mopidy_musicbox_webclient/static/js/library.js index ba3acfb..f399ba4 100644 --- a/mopidy_musicbox_webclient/static/js/library.js +++ b/mopidy_musicbox_webclient/static/js/library.js @@ -30,7 +30,7 @@ function initSearch() { $("#searchresults").hide(); if (searchService != 'all') { - mopidy.library.search({any:[value]}, [searchService + ':']).then(processSearchResults, console.error); + mopidy.library.search({'query': {any:[value]}, 'uris': [searchService + ':']}).then(processSearchResults, console.error); } else { mopidy.getUriSchemes().then(function (schemes) { var query = {}, @@ -48,7 +48,7 @@ function initSearch() { } else { query = {any: [value]}; } - mopidy.library.search(query, uris).then(processSearchResults, console.error); + mopidy.library.search({'query': query, 'uris': uris}).then(processSearchResults, console.error); }); } } @@ -211,7 +211,10 @@ function getBrowseDir(rootdir) { } else { browseStack.push(rootdir); } - mopidy.library.browse(rootdir).then(processBrowseDir, console.error); + if (!rootdir) { + rootdir = null; + } + mopidy.library.browse({'uri': rootdir}).then(processBrowseDir, console.error); } function getCurrentPlaylist() { @@ -263,7 +266,8 @@ function showArtist(nwuri) { //TODO cache $('#h_artistname').html(''); showLoading(true); - mopidy.library.lookup(nwuri).then(function(resultArr) { + mopidy.library.lookup({'uris': [nwuri]}).then(function(resultDict) { + var resultArr = resultDict[Object.keys(resultDict)[0]]; resultArr.uri = nwuri; processArtistResults(resultArr); }, console.error); @@ -288,7 +292,8 @@ function showAlbum(uri) { $('#coverpopupalbumname').html(albumname); $('#coverpopupartist').html(artistname); showLoading(false); - mopidy.library.lookup(uri).then(function(resultArr) { + mopidy.library.lookup({'uris': [uri]}).then(function(resultDict) { + var resultArr = resultDict[Object.keys(resultDict)[0]]; resultArr.uri = uri; processAlbumResults(resultArr); }, console.error); @@ -296,7 +301,8 @@ function showAlbum(uri) { showLoading(true); $('#h_albumname').html(''); $('#h_albumartist').html(''); - mopidy.library.lookup(uri).then(function(resultArr) { + mopidy.library.lookup({'uris': [uri]}).then(function(resultDict) { + var resultArr = resultDict[Object.keys(resultDict)[0]]; resultArr.uri = uri; processAlbumResults(resultArr); }, console.error); diff --git a/mopidy_musicbox_webclient/static/js/process_ws.js b/mopidy_musicbox_webclient/static/js/process_ws.js index caaaf82..2479df2 100644 --- a/mopidy_musicbox_webclient/static/js/process_ws.js +++ b/mopidy_musicbox_webclient/static/js/process_ws.js @@ -118,9 +118,10 @@ function processBrowseDir(resultArr) { iconClass = getMediaClass(resultArr[i].uri); if (resultArr[i].type == 'track') { //console.log(resultArr[i]); - mopidy.library.lookup(resultArr[i].uri).then(function (resultArr) { - popupData[resultArr[0].uri] = resultArr[0]; - browseTracks.push(resultArr[0]); + mopidy.library.lookup({'uris': [resultArr[i].uri]}).then(function (resultDict) { + var uri = Object.keys(resultDict)[0]; + popupData[uri] = resultDict[uri][0]; + browseTracks.push(resultDict[uri][0]); }, console.error); child += '
  • ' + '' + @@ -191,7 +192,7 @@ function processPlaylistItems(resultDict) { for (i = 0; i < resultDict.items.length; i++) { trackUris.push(resultDict.items[i].uri); } - return mopidy.library.lookup(null, trackUris).then(function(tracks) { + return mopidy.library.lookup({'uris': trackUris}).then(function(tracks) { // Transform from dict to list and cache result var newplaylisturi = resultDict.uri; playlists[newplaylisturi] = {'uri':newplaylisturi, 'tracks':[]}; diff --git a/mopidy_musicbox_webclient/static/mb.manifest b/mopidy_musicbox_webclient/static/mb.manifest index 9b0b2e0..3ea6ab1 100644 --- a/mopidy_musicbox_webclient/static/mb.manifest +++ b/mopidy_musicbox_webclient/static/mb.manifest @@ -1,6 +1,6 @@ CACHE MANIFEST -# 2016-01-30:v1 +# 2016-01-31:v1 NETWORK: *