| Title |
diff --git a/webclient/js/functionsvars.js b/webclient/js/functionsvars.js
index baad467..189fb94 100755
--- a/webclient/js/functionsvars.js
+++ b/webclient/js/functionsvars.js
@@ -28,7 +28,7 @@ var artiststext = '';
var songname = '';
//array of cached playlists (not only user-playlists, also search, artist, album-playlists)
-var playlists = new Object;
+var playlists = {};
var currentplaylist;
var customPlaylists = new Array();
var customTracklists = new Array();
@@ -48,9 +48,9 @@ SEARCH_TRACK_TABLE = '#trackresulttable';
//does not work wel with multiple artists of course
function getArtist(pl) {
for (var i = 0; i < pl.length; i++) {
- for (var j = 0; j < pl[i]["artists"].length; j++) {
- if (pl[i]["artists"][j]["name"] != '') {
- return pl[i]["artists"][j]["name"];
+ for (var j = 0; j < pl[i].artists.length; j++) {
+ if (pl[i].artists[j].name != '') {
+ return pl[i].artists[j].name;
}
}
};
@@ -59,8 +59,8 @@ function getArtist(pl) {
//A hack to find the first album of a playlist. this is not yet returned by mopidy
function getAlbum(pl) {
for (var i = 0; i < pl.length; i++) {
- if (pl[i]["album"]["name"] != '') {
- return pl[i]["album"]["name"];
+ if (pl[i].album.name != '') {
+ return pl[i].album.name;
}
};
}
@@ -76,17 +76,14 @@ function playlisttotable(pl, table, uri) {
*/
var tmp = '';
$(table).empty();
-
- // console.log(pl.length);
- //console.log(pl);
for (var i = 0; i < pl.length; i++) {
- // console.log(pl[i]);
- var child = '
| ' + pl[i]["name"] + " | ";
- for (var j = 0; j < pl[i]["artists"].length; j++) {
+ // console.log(pl[i]);
+ var child = ' |
| ' + pl[i].name + " | ";
+ for (var j = 0; j < pl[i].artists.length; j++) {
//console.log(j);
- child += '' + pl[i]["artists"][j]["name"] + "";
+ child += '' + pl[i].artists[j].name + "";
}
- child += ' | ' + pl[i]["album"]["name"] + ' | ' + timeFromSeconds(pl[i]["length"] / 1000) + ' |
';
+ child += '' + pl[i].album.name + ' | ' + timeFromSeconds(pl[i].length / 1000) + ' | ';
tmp += child;
};
$(table).html(tmp);
@@ -103,6 +100,28 @@ function playlisttotable(pl, table, uri) {
});
}
+function albumtrackstotable(pl, table, uri) {
+ /*
+ | Title |
+ Length |
+
+ */
+ var tmp = '';
+ $(table).empty();
+ for (var i = 0; i < pl.length; i++) {
+ // console.log(pl[i]);
+ var child = '| ' + pl[i].name + " | ";
+ child += ' | ' + timeFromSeconds(pl[i].length / 1000) + ' |
';
+ tmp += child;
+ };
+ $(table).html(tmp);
+ $(table).attr('data', uri);
+ //set click handlers
+ $(table + ' .name').click(function() {
+ return playtrack(this.id, uri)
+ });
+}
+
function getPlaylistFromUri(uri) {
if (playlists[uri]) {
return playlists[uri];
diff --git a/webclient/js/gui.js b/webclient/js/gui.js
index 0bc5754..abfd012 100755
--- a/webclient/js/gui.js
+++ b/webclient/js/gui.js
@@ -9,7 +9,7 @@ function showartist(nwuri) {
$(ARTIST_TABLE).empty();
//fill from cache
var pl = getTracksFromUri(nwuri);
- console.log(pl);
+ //console.log(pl);
if (pl) {
playlisttotable(pl, ARTIST_TABLE, nwuri)
$('#h_artistname').html(getArtist(pl));
@@ -50,10 +50,10 @@ function resetSong() {
setPlayState(false);
setPosition(0);
var data = new Object;
- data["name"] = '';
- data["artists"] = '';
- data["length"] = 0;
- data["uri"] = '';
+ data.name = '';
+ data.artists = '';
+ data.length = 0;
+ data.uri = '';
setSongInfo(data);
}
@@ -90,26 +90,26 @@ function setSongInfo(data) {
artistshtml = '';
artiststext = '';
- songname = data["name"];
+ songname = data.name;
- for (var j = 0; j < data["artists"].length; j++) {
- artistshtml += '' + data["artists"][j].name + '';
- artiststext += data["artists"][j].name;
- if (j != data["artists"].length - 1) {
+ for (var j = 0; j < data.artists.length; j++) {
+ artistshtml += '' + data.artists[j].name + '';
+ artiststext += data.artists[j].name;
+ if (j != data.artists.length - 1) {
artistshtml += ', ';
artiststext += ', ';
}
}
- $("#trackslider").attr("max", data["length"]);
- $("#songlength").html(timeFromSeconds(data["length"] / 1000));
+ $("#trackslider").attr("max", data.length);
+ $("#songlength").html(timeFromSeconds(data.length / 1000));
resizeSonginfo();
$('#currenttable tr .name').each(function() {
//console.log(this.className);
this.className = "name";
- if (this.id == data["uri"]) {
+ if (this.id == data.uri) {
this.className += ' currenttrack';
// this.parentNode.parentNode.style.marginLeft="20px";
}
@@ -321,13 +321,13 @@ function updateStatusOfAll() {
function initSocketevents() {
mopidy.on("state:online", function() {
- $(window).hashchange();
$("#offlinemodal").modal('hide');
$("#loadingmodal").modal('show');
getCurrentPlaylist();
updateStatusOfAll();
getPlaylists();
$("#loadingmodal").modal('show');
+ $(window).hashchange();
});
mopidy.on("state:offline", function() {
@@ -415,7 +415,7 @@ $(document).ready(function() {
// Connect to server
mopidy = new Mopidy();
// Log all events
- mopidy.on(function () { console.log(arguments); });
+ //mopidy.on(function () { console.log(arguments); });
//initialize events
initSocketevents();
@@ -440,7 +440,7 @@ $(document).ready(function() {
//remove #
var divid = hash[0].substr(1);
var uri = hash[1];
-
+// console.log(divid + ': ' + uri);
switch(divid) {
case 'current':
break;
@@ -477,7 +477,6 @@ $(document).ready(function() {
$('#' + divid + 'pane').show();
return false;
});
-
if (location.hash.length < 2) {
switchContent("playlists");
}
@@ -492,7 +491,7 @@ $(document).ready(function() {
keyboard: false
})
-
+
// $("#songinfo").resize(resizeSonginfo());
initgui = false;
//update gui every x seconds from mopdidy
diff --git a/webclient/js/ws.js b/webclient/js/ws.js
index 3b7111b..165e069 100755
--- a/webclient/js/ws.js
+++ b/webclient/js/ws.js
@@ -94,7 +94,7 @@ function processGetPlaylists(resultArr) {
}
var tmp = '';
for (var i = 0; i < resultArr.length; i++) {
- var child = '' + resultArr[i]["name"] + '';
+ var child = '' + resultArr[i].name + '';
tmp += child;
};
$('#playlistslist').empty();
@@ -108,7 +108,7 @@ function processGetPlaylists(resultArr) {
*********************************************************/
function processGetTracklist(resultArr) {
//cache result
- var newplaylisturi = resultArr["uri"];
+ var newplaylisturi = resultArr.uri;
playlists[newplaylisturi] = resultArr;
console.log(playlists[newplaylisturi]);
playlisttotable(playlists[newplaylisturi].tracks, PLAYLIST_TABLE, newplaylisturi);
@@ -130,7 +130,6 @@ function processCurrentPlaylist(resultArr) {
* process results of a search
*********************************************************/
function processSearchResults(resultArr) {
- console.log(resultArr);
$(SEARCH_TRACK_TABLE).empty();
$(SEARCH_ARTIST_TABLE).empty();
$(SEARCH_ALBUM_TABLE).empty();
@@ -148,7 +147,7 @@ function processSearchResults(resultArr) {
if (i > 4) {
child += " hidden";
}
- child += '">' + artists[i]["name"] + " | ";
+ child += '">' + artists[i].name + " | ";
}
$(SEARCH_ARTIST_TABLE).html(child);
@@ -160,10 +159,10 @@ function processSearchResults(resultArr) {
if (i > 4) {
child += " hidden";
}
- child += '">' + albums[i]["name"] + " | ";
+ child += '"> | ' + albums[i].name + " | ";
for (var j = 0; j < albums[i].artists.length; j++) {
//console.log(j);
- child += '' + albums[i].artists[j]["name"] + "";
+ child += '' + albums[i].artists[j].name + "";
}
child += ' | ';
}
@@ -178,9 +177,35 @@ function processSearchResults(resultArr) {
* process results of an artist lookup
*********************************************************/
function processArtistResults(resultArr) {
- console.log(resultArr.uri);
- customTracklists[resultArr["uri"]] = resultArr;
- playlisttotable(resultArr, ARTIST_TABLE, resultArr["uri"]);
+ customTracklists[resultArr.uri] = resultArr;
+ $(ARTIST_TABLE).html('');
+
+ //break into albums and put in tables
+ var newalbum = [];
+ var nexturi = '';
+ for (var i = 0; i < resultArr.length; i++) {
+ //console.log(i);
+ newalbum.push(resultArr[i]);
+ nexturi = '';
+ if (i < resultArr.length - 1) {
+ nexturi = resultArr[i + 1].album.uri;
+ }
+ if (resultArr[i].album.uri != nexturi) {
+ var tableid = 'art' + i;
+ var html = '' + resultArr[i].album.name + '
';
+/* for (var j = 0; j < resultArr[i].album.artists.length; j++) {
+ //console.log(j);
+ html += '' + resultArr[i].album.artists[j].name + "";
+ }
+*/
+ html += '';
+
+ $(ARTIST_TABLE).append(html);
+ albumtrackstotable(newalbum, "#" + tableid, resultArr[i].album.uri);
+ customTracklists[resultArr[i].album.uri] = newalbum;
+ newalbum = [];
+ }
+ }
$('#h_artistname').html(getArtist(resultArr));
$('#artistsloader').hide();
}
@@ -189,9 +214,9 @@ function processArtistResults(resultArr) {
* process results of an album lookup
*********************************************************/
function processAlbumResults(resultArr) {
- console.log(resultArr.uri);
- customTracklists[resultArr["uri"]] = resultArr;
- playlisttotable(resultArr, ALBUM_TABLE, resultArr["uri"]);
+ console.log(resultArr);
+ customTracklists[resultArr.uri] = resultArr;
+ playlisttotable(resultArr, ALBUM_TABLE, resultArr.uri);
$('#h_albumname').html(getAlbum(resultArr));
$('#h_albumartist').html(getArtist(resultArr));
$('#albumsloader').hide();