diff --git a/mopidy_musicbox_webclient/static/index.html b/mopidy_musicbox_webclient/static/index.html index 6e1ecf4..29a7877 100644 --- a/mopidy_musicbox_webclient/static/index.html +++ b/mopidy_musicbox_webclient/static/index.html @@ -4,7 +4,6 @@ - - - diff --git a/mopidy_musicbox_webclient/static/js/functionsvars.js b/mopidy_musicbox_webclient/static/js/functionsvars.js index 490cbf2..e9aec4f 100644 --- a/mopidy_musicbox_webclient/static/js/functionsvars.js +++ b/mopidy_musicbox_webclient/static/js/functionsvars.js @@ -28,7 +28,7 @@ var songlength = 0; var artistshtml = ''; var artiststext = ''; var songname = ''; -var songdata = {'track':{}, 'tlid':-1}; +var songdata = {'track': {}, 'tlid': -1}; var newposition = 0; var playlisttracksScroll; @@ -53,7 +53,6 @@ var ua = navigator.userAgent, //constants PROGRAM_NAME = 'MusicBox'; -//PROGRAM_NAME = 'Mopidy'; ARTIST_TABLE = '#artiststable'; ALBUM_TABLE = '#albumstable'; PLAYLIST_TABLE = '#playlisttracks'; @@ -127,10 +126,6 @@ function scrollToTop() { } function scrollToTracklist() { - /* if (isMobileWebkit) { - playlistslistScroll.refresh(); - } -*/ var divtop = $("#playlisttracksdiv").offset().top - 120; $('body,html').animate({ scrollTop: divtop @@ -198,12 +193,10 @@ function renderSongLi(song, liID, uri) { } else { name = song.name; } - // var iconClass = getMediaClass(liID.split('-')[1]); songLi = '
  • ' + '' + '' + '' + - // '

    ' + name + '

    ' + '

    ' + name + '

    ' + '
  • '; return songLi; @@ -217,12 +210,10 @@ function renderQueueSongLi(song, liID, uri, tlid) { } else { name = song.name; } - // var iconClass = getMediaClass(liID.split('-')[1]); songLi = '
  • ' + '' + '' + '' + - // '

    ' + name + '

    ' + '

    ' + name + '

    ' + '
  • '; return songLi; @@ -310,7 +301,6 @@ function resultsToTables(results, target, uri) { '

    ' + newalbum[0].name + "

    "; } - /* '' + timeFromSeconds(newalbum[0].length / 1000) + ''; */ if (newalbum[0].artists) { for (j = 0; j < newalbum[0].artists.length; j++) { html += newalbum[0].artists[j].name; @@ -333,7 +323,6 @@ function resultsToTables(results, target, uri) { newtlids = []; } else { //newalbum length if (results[i].album.uri && results[i].album.name) { - // iconClass = getMediaClass(results[i].album.uri); iconClass = getMediaClass(newalbum[0].uri); html += '

  • '; html += ''; - //hERE! var liID = targetmin + '-' + newalbum[j].uri; if (target == CURRENT_PLAYLIST_TABLE) { @@ -362,9 +349,6 @@ function resultsToTables(results, target, uri) { } else { html += renderSongLi(newalbum[j], liID, uri); } - - //html += '
  • '; - //html += '

    ' + timeFromSeconds(newalbum[j].length / 1000) + '

    ' + newalbum[j].name + '

  • '; } newalbum = []; newtlids = []; @@ -383,7 +367,6 @@ function resultsToTables(results, target, uri) { $(target).attr('data', uri); //retreive albumcovers for (i = 0; i < coversList.length; i++) { - // console.log(coversList[i]); getCover(coversList[i][0], target + '-cover-' + coversList[i][1], 'small'); } } @@ -401,7 +384,6 @@ function playlisttotable(pl, target, uri) { child += '

    ' + pl[i].name + "

    "; child += '

    '; child += '' + timeFromSeconds(pl[i].length / 1000) + ''; - //   for (var j = 0; j < pl[i].artists.length; j++) { if (pl[i].artists[j]) { child += pl[i].artists[j].name; @@ -463,7 +445,6 @@ function timeFromSeconds(length) { return ((h > 0 ? h + ":" : "") + (m > 0 ? (h > 0 && m < 10 ? "0" : "") + m + ":" : "0:") + (s < 10 ? "0" : "") + s); } - /******* Toast ***/ function toast(message, delay, textOnly) { textOnl = textOnly || false; @@ -482,9 +463,9 @@ function toast(message, delay, textOnly) { } } -/***************** - * Modal dialogs - *****************/ +/****************** + * Modal dialogs * + ******************/ function showLoading(on) { if (on) { $("body").css("cursor", "progress"); @@ -515,7 +496,6 @@ function showOffline(on) { // from http://dzone.com/snippets/validate-url-regexp function validUri(str) { var regexp = /^(mms|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ - // return regexp.test(str) || isServiceUri(str); return regexp.test(str); } diff --git a/mopidy_musicbox_webclient/static/js/gui.js b/mopidy_musicbox_webclient/static/js/gui.js index d016e41..cfa4781 100644 --- a/mopidy_musicbox_webclient/static/js/gui.js +++ b/mopidy_musicbox_webclient/static/js/gui.js @@ -4,7 +4,7 @@ * show- functions do both */ /******************** - * Song Info Sreen + * Song Info Sreen * ********************/ function resetSong() { if (!posChanging) { @@ -148,9 +148,9 @@ function setSongInfo(data) { resizeMb(); } -/*************** - * display popups - */ +/****************** + * display popups * + ******************/ function closePopups() { $('#popupTracks').popup('close'); $('#artistpopup').popup('close'); @@ -159,7 +159,6 @@ function closePopups() { $('#controlspopup').popup('close'); } - function popupTracks(e, listuri, trackuri, tlid) { if (!e) var e = window.event; @@ -222,9 +221,9 @@ function showAlbumPopup(popupId) { showAlbum(popupData[uri].album.uri); } -/********************* - * initialize sockets - *********************/ +/********************** + * initialize sockets * + **********************/ function initSocketevents() { mopidy.on("state:online", function() { @@ -254,7 +253,6 @@ function initSocketevents() { }); mopidy.on("event:trackPlaybackPaused", function(data) { - //setSongInfo(data.tl_track); pausePosTimer(); setPlayState(false); }); @@ -305,9 +303,9 @@ $(document).bind("pageinit", function() { }); -/************************ - * gui stuff - ************************/ +/************** + * gui stuff * + **************/ function enterFullscreen() { if (isMobileSafari) { alert ("To get this app in Full Screen, you have to add it to your home-screen using the Share button."); exit(); } var elem = document.querySelector("#page"); @@ -324,6 +322,7 @@ function enterFullscreen() { } } } + function exitFullscreen() { document.webkitExitFullscreen(); document.mozCancelFullscreen(); @@ -349,7 +348,6 @@ function switchContent(divid, uri) { if (uri) { hash += "?" + uri; } - // $.mobile.changePage("#" + hash); location.hash = "#" + hash; } @@ -364,7 +362,6 @@ function setHeadline(site){ //update timer function updateStatusTimer() { -// console.log('statustimer'); mopidy.playback.getCurrentTlTrack().then(processCurrenttrack, console.error); mopidy.playback.getTimePosition().then(processCurrentposition, console.error); //TODO check offline? @@ -447,7 +444,6 @@ function locationHashChanged() { break; } - //switch the footer switch(divid) { case 'nowPlaying': @@ -463,9 +459,9 @@ function locationHashChanged() { return false; } -/********************** - * initialize software - **********************/ +/*********************** + * initialize software * + ***********************/ $(document).ready(function(event) { //check for websockets if (!window.WebSocket) { @@ -488,8 +484,7 @@ $(document).ready(function(event) { } else { mopidy = new Mopidy(); } -// mopidy.on(console.log.bind(console)); // Log all events -// mopidy.on(console.error.bind(console)); + //initialize events initSocketevents(); @@ -499,7 +494,6 @@ $(document).ready(function(event) { switchContent("home"); } - initgui = false; window.onhashchange = locationHashChanged; @@ -585,7 +579,6 @@ $(document).ready(function(event) { $.event.special.swipe.horizontalDistanceThreshold = 125; // (default: 30px) Swipe horizontal displacement must be more than this. $.event.special.swipe.verticalDistanceThreshold = 50; // (default: 75px) Swipe vertical displacement must be less than this. -// $.event.special.swipe.scrollSupressionThreshold = 20; $.event.special.swipe.durationThreshold = 500; // swipe songinfo and panel @@ -624,6 +617,7 @@ function updatePlayIcons (uri, tlid) { $(this).removeClass("currenttrack2"); } }); + $('#trackresulttable li').each(function() { if (this.id == 'trackresulttable-' + uri) { $(this).addClass('currenttrack2'); diff --git a/mopidy_musicbox_webclient/static/js/images.js b/mopidy_musicbox_webclient/static/js/images.js index 2e28db7..5d89f24 100644 --- a/mopidy_musicbox_webclient/static/js/images.js +++ b/mopidy_musicbox_webclient/static/js/images.js @@ -2,14 +2,13 @@ * @author Wouter van Wijk */ -API_KEY= 'b6d34c3af91d62ab0ae00ab1b6fa8733'; +API_KEY = 'b6d34c3af91d62ab0ae00ab1b6fa8733'; API_SECRET = '2c631802c2285d5d5d1502462fe42a2b'; var fmcache; var lastfm; - -$(window).load(function() { +$(window).load(function () { // create a Cache object fmcache = new LastFMCache(); // create a LastFM object @@ -20,42 +19,40 @@ $(window).load(function() { }); }); - function getCover(album, images, size) { - var defUrl = 'images/default_cover.png'; - $(images).attr('src', defUrl); - if (!album) { - return; - } - var albumname = album.name || ''; - var artistname = ''; - if ( album.artists && (album.artists.length > 0) ) { - artistname = album.artists[0].name; - } -// console.log(album, images); - if (album.images && (album.images.length > 0) ) { - $(images).attr('src', album.images[0]); - } else { - lastfm.album.getInfo( {artist: artistname, album: albumname}, - { success: function(data){ - for (var i = 0; i < data.album.image.length; i++) { - if ( data.album.image[i]['size'] == size) { - $(images).attr('src', data.album.image[i]['#text'] || defUrl); - } + var defUrl = 'images/default_cover.png'; + $(images).attr('src', defUrl); + if (!album) { + return; + } + var albumname = album.name || ''; + var artistname = ''; + if ( album.artists && (album.artists.length > 0) ) { + artistname = album.artists[0].name; + } + if (album.images && (album.images.length > 0) ) { + $(images).attr('src', album.images[0]); + } else { + lastfm.album.getInfo( {artist: artistname, album: albumname}, + { success: function(data){ + for (var i = 0; i < data.album.image.length; i++) { + if ( data.album.image[i]['size'] == size) { + $(images).attr('src', data.album.image[i]['#text'] || defUrl); } } - }); + } + }); - } + } } function getArtistImage(nwartist, image, size) { - var defUrl = 'images/user_24x32.png'; - lastfm.artist.getInfo({artist: nwartist}, {success: function(data){ - for (var i = 0; i < data.artist.image.length; i++) { - if ( data.artist.image[i]['size'] == size) { - $(image).attr('src', data.artist.image[i]['#text'] || defUrl); - } + var defUrl = 'images/user_24x32.png'; + lastfm.artist.getInfo({artist: nwartist}, {success: function(data){ + for (var i = 0; i < data.artist.image.length; i++) { + if ( data.artist.image[i]['size'] == size) { + $(image).attr('src', data.artist.image[i]['#text'] || defUrl); } - }}); + } + }}); } \ No newline at end of file diff --git a/mopidy_musicbox_webclient/static/js/library.js b/mopidy_musicbox_webclient/static/js/library.js index 74b29d5..ba3acfb 100644 --- a/mopidy_musicbox_webclient/static/js/library.js +++ b/mopidy_musicbox_webclient/static/js/library.js @@ -79,15 +79,6 @@ function processSearchResults(resultArr) { var results = {'tracks': [], 'artists': [], 'albums': []}; var j, emptyResult = true; -/* for (var i = 0; i < resultArr.length; ++i) { - for (var prop in results) { - if (resultArr[i][prop] && resultArr[i][prop].length) { - results[prop] = results[prop].concat(resultArr[i][prop]); - emptyResult = false; - } - } - } -*/ for (var i = 0; i < resultArr.length; i++) { if (resultArr[i].tracks) { for (j = 0; j < resultArr[i].tracks.length; j++) { @@ -109,10 +100,6 @@ function processSearchResults(resultArr) { } } -// console.log(resultArr, results); - - - customTracklists[URI_SCHEME+':trackresultscache'] = results.tracks; if (emptyResult) { @@ -196,7 +183,6 @@ function processSearchResults(resultArr) { $('#expandsearch').show(); // Track results -// playlisttotable(results.tracks, SEARCH_TRACK_TABLE, URI_SCHEME+':trackresultscache'); resultsToTables(results.tracks, SEARCH_TRACK_TABLE, URI_SCHEME+':trackresultscache'); showLoading(false); @@ -261,7 +247,6 @@ function showTracklist(uri) { $(this).addClass('playlistactive'); } }); -// scrollToTracklist(); return false; } @@ -274,8 +259,7 @@ function showArtist(nwuri) { $('#popupTracks').popup('close'); $('#controlsmodal').popup('close'); $(ARTIST_TABLE).empty(); - //fill from cache -// var pl = getTracksFromUri(nwuri); + //TODO cache $('#h_artistname').html(''); showLoading(true); @@ -308,7 +292,6 @@ function showAlbum(uri) { resultArr.uri = uri; processAlbumResults(resultArr); }, console.error); -// getCover(pl, '#albumviewcover, #coverpopupimage', 'extralarge'); } else { showLoading(true); $('#h_albumname').html(''); diff --git a/mopidy_musicbox_webclient/static/js/process_ws.js b/mopidy_musicbox_webclient/static/js/process_ws.js index 6b9509a..caaaf82 100644 --- a/mopidy_musicbox_webclient/static/js/process_ws.js +++ b/mopidy_musicbox_webclient/static/js/process_ws.js @@ -139,14 +139,6 @@ function processBrowseDir(resultArr) { $('#browselist').html(child); if (browseStack.length > 0 ) { -/* child = ''; - for (var i = 0; i < browseStack.length; i++) { - child += browseStack[i] + ' / '; - } - - child = getMediaHuman(browseStack[0]); - iconClass = getMediaClass(browseStack[0]); -*/ child = getMediaHuman(resultArr[0].uri); iconClass = getMediaClass(resultArr[0].uri); $('#browsepath').html(' ' + child); diff --git a/mopidy_musicbox_webclient/static/js/streamuris.js b/mopidy_musicbox_webclient/static/js/streamuris.js index e30281b..1713e63 100644 --- a/mopidy_musicbox_webclient/static/js/streamuris.js +++ b/mopidy_musicbox_webclient/static/js/streamuris.js @@ -6,12 +6,12 @@ var streamUris = []; //fill with defaults - streamUris.push(['NPR 24', 'http://nprdmp.ic.llnwd.net/stream/nprdmp_live01_mp3']); - streamUris.push(['3FM Dutch', 'http://icecast.omroep.nl/3fm-bb-mp3']); - streamUris.push(['BBC WorldService', 'http://vprbbc.streamguys.net:8000/vprbbc24.mp3']); - streamUris.push(['Arrow Jazz', 'http://81.173.3.132:8082']); - streamUris.push(['Queen Live Aid at Wembley (YouTube)', 'yt:http://www.youtube.com/watch?v=eQsM6u0a038']); - streamUris.push(['Groove Salad - Soma FM', 'http://somafm.com/groovesalad.pls']); - streamUris.push(['Kiss FM Berlin', 'http://stream.kissfm.de/kissfm/mp3-128/internetradio/']); - streamUris.push(['Muse - Newborn (SoundCloud)', 'sc:https://soundcloud.com/muse/01-new-born']); - streamUris.push(['Pinguin Radio', 'http://pr320.pinguinradio.com/listen.pls']); \ No newline at end of file +streamUris.push(['NPR 24', 'http://nprdmp.ic.llnwd.net/stream/nprdmp_live01_mp3']); +streamUris.push(['3FM Dutch', 'http://icecast.omroep.nl/3fm-bb-mp3']); +streamUris.push(['BBC WorldService', 'http://vprbbc.streamguys.net:8000/vprbbc24.mp3']); +streamUris.push(['Arrow Jazz', 'http://81.173.3.132:8082']); +streamUris.push(['Queen Live Aid at Wembley (YouTube)', 'yt:http://www.youtube.com/watch?v=eQsM6u0a038']); +streamUris.push(['Groove Salad - Soma FM', 'http://somafm.com/groovesalad.pls']); +streamUris.push(['Kiss FM Berlin', 'http://stream.kissfm.de/kissfm/mp3-128/internetradio/']); +streamUris.push(['Muse - Newborn (SoundCloud)', 'sc:https://soundcloud.com/muse/01-new-born']); +streamUris.push(['Pinguin Radio', 'http://pr320.pinguinradio.com/listen.pls']); \ No newline at end of file