/********************************* * Search *********************************/ function searchPressed(key) { var value = $('#searchinput').val(); switchContent('search'); if (key == 13) { initSearch(); return false; } return true; } //init search function initSearch() { var value = $('#searchinput').val(); if ((value.length < 100) && (value.length > 0)) { showLoading(true); $('#artistresulttable').empty(); $('#albumresulttable').empty(); $('#trackresulttable').empty(); delete customTracklists['allresultscache']; delete customTracklists['artistresultscache']; delete customTracklists['albumresultscache']; delete customTracklists['trackresultscache']; $("#searchresults").hide(); mopidy.library.search({ any : value }).then(processSearchResults, console.error); } } /******************************************************** * process results of a search *********************************************************/ function processSearchResults(resultArr) { $(SEARCH_TRACK_TABLE).empty(); $(SEARCH_ARTIST_TABLE).empty(); $(SEARCH_ALBUM_TABLE).empty(); //get the right result var results = resultArr[1]; var tracks = (results.tracks) ? results.tracks : ''; customTracklists['trackresultscache'] = tracks; var artists = (results.artists) ? results.artists : ''; var albums = (results.albums) ? results.albums : ''; if ((tracks == '') && (artists == '') && (albums == '') ) { alert('No results'); showLoading(false); return false; } $("#searchresults").show(); var child = ''; for (var i = 0; i < artists.length; i++) { child += '
  • ' + artists[i].name + "
  • "; } $(SEARCH_ARTIST_TABLE).html(child); $(SEARCH_ARTIST_TABLE).listview('refresh'); child = ''; for (var i = 0; i < albums.length; i++) { child += '
  • '; child += "

    " + albums[i].name + "

    "; for (var j = 0; j < albums[i].artists.length; j++) { child += albums[i].artists[j].name + " "; } child += '

  • '; } $(SEARCH_ALBUM_TABLE).html(child); $(SEARCH_ALBUM_TABLE).listview('refresh'); $('#expandsearch').show(); playlisttotable(results.tracks, SEARCH_TRACK_TABLE, 'trackresultscache'); showLoading(false); } function toggleSearch() { $("#albumresulttable tr").removeClass('hidden'); $("#artistresulttable tr").removeClass('hidden'); } /********************************* * Playlists *********************************/ function getPlaylists() { // get playlists without tracks mopidy.playlists.getPlaylists(false).then(processGetPlaylists, console.error); } function getCurrentPlaylist() { mopidy.tracklist.getTracks().then(processCurrentPlaylist, console.error); } /******************************************************** * Show tracks of playlist ********************************************************/ function showTracklist(uri) { $(PLAYLIST_TABLE).empty(); $('#playlisttablediv').show(); // $('#playlistloader').show(); showLoading(true); var pl = getPlaylistFromUri(uri); // console.log (pl); //load from cache if (pl) { playlisttotable(pl.tracks, PLAYLIST_TABLE, uri); } scrollToTracklist(); //lookup recent tracklist mopidy.playlists.lookup(uri).then(processGetTracklist, console.error); return false; } /****** * Lookups */ function showArtist(nwuri) { $('#popupTracks').popup('close'); $('#controlsmodal').popup('close'); $(ARTIST_TABLE).empty(); //fill from cache var pl = getTracksFromUri(nwuri); $('#h_artistname').html(''); showLoading(true); // $('#artistsloader').show(); mopidy.library.lookup(nwuri).then(processArtistResults, console.error); switchContent('artists', nwuri); return false; } function showAlbum(uri) { $('#popupTracks').popup('close'); $('#controlsmodal').popup('close'); $(ALBUM_TABLE).empty(); //fill from cache var pl = getTracksFromUri(uri); if (pl) { albumtrackstotable(pl, ALBUM_TABLE, uri) $('#h_albumname').html(getAlbum(pl)); $('#h_albumartist').html(getArtist(pl)); mopidy.library.lookup(uri).then(processAlbumResults, console.error); } else { $('#h_albumname').html(''); $('#h_albumartist').html(''); showLoading(true); // $('#albumsloader').show(); mopidy.library.lookup(uri).then(processAlbumResults, console.error); } //show switchContent('albums', uri); return false; }