[Slim-Checkins] r10605 - in /branches/6.5/server/HTML/Nokia770: artwork.js skin_global.js

bklaas at svn.slimdevices.com bklaas at svn.slimdevices.com
Mon Nov 6 14:24:12 PST 2006


Author: bklaas
Date: Mon Nov  6 14:24:11 2006
New Revision: 10605

URL: http://svn.slimdevices.com?rev=10605&view=rev
Log:
Bug #4478: back-merged artwork.js and added skin_global.js to fix 1-by-1 artwork browsing

Added:
    branches/6.5/server/HTML/Nokia770/skin_global.js   (with props)
Modified:
    branches/6.5/server/HTML/Nokia770/artwork.js

Modified: branches/6.5/server/HTML/Nokia770/artwork.js
URL: http://svn.slimdevices.com/branches/6.5/server/HTML/Nokia770/artwork.js?rev=10605&r1=10604&r2=10605&view=diff
==============================================================================
--- branches/6.5/server/HTML/Nokia770/artwork.js (original)
+++ branches/6.5/server/HTML/Nokia770/artwork.js Mon Nov  6 14:24:11 2006
@@ -2,14 +2,25 @@
 var parsedData;
 var artistHrefTemplate = '[% webroot %]browsedb.html?hierarchy=album,track&contributor.id=ARTIST&level=1&player=[% playerURI %]';
 var albumHrefTemplate = '[% webroot %]browsedb.html?hierarchy=album,track&level=1&album.id=ALBUM&player=[% playerURI %]';
-var thumbHrefTemplate = '/music/COVER/cover.jpg';
 var playAlbumTemplate = '[% webroot %]status.html?command=playlist&subcommand=loadtracks&album.id=ALBUM&player=[% playerURI %]';
 var addAlbumTemplate = '[% webroot %]playlist.html?command=playlist&subcommand=addtracks&album.id=ALBUM&player=[% playerURI %]';
 var blankRequest = 'hierarchy=album,track&level=0&artwork=2&player=00%3A04%3A20%3A05%3A1b%3A82&artwork=1&start=[% start %]&ajaxRequest=1';
 
-var thisAlbum, thatAlbum;
+var pAT = 'javascript:changeOSD("AlBuM [% "NOW_PLAYING" | string %]"); addItem("command=playlist&subcommand=loadtracks&album.id=ALBUM&player=[% playerURI %]")';
+var aAT = 'javascript:changeOSD("[% "ADDING_TO_PLAYLIST" | string %] AlBuM"); addItem("command=playlist&subcommand=addtracks&album.id=ALBUM&player=[% playerURI %]")';
+
+var thisAlbum, thatAlbum, clickedItem;
 
 [% PROCESS html/global.js %]
+[% PROCESS skin_global.js %]
+
+var thumbHrefTemplate = '/music/COVER/thumb_'+thumbSize+'x'+thumbSize+'_f_000000.jpg';
+
+function addItem(args) {
+	url = '[% webroot %]status.html';
+        getStatusData(args, showAdded);
+	url = '[% webroot %]browsedb.html';
+}
 
 // parses the data if it has not been done already
 function fillDataHash(theData) {
@@ -23,22 +34,45 @@
 	}
 }
 
+function emptyFunction() {
+	return true;
+}
+
 function showArrows(firstOne, secondOne, lastOne) {
 	if (firstOne == '1') {
-		Element.hide('last_cover');
-		Element.show('next_cover');
+		if ($('last_cover_click')) {
+			$('last_cover_click').onclick = emptyFunction;
+			$('last_cover_click').src = '[% webroot %]html/images/rew.gif';
+		}
+		if ($('next_cover_click')) {
+			$('next_cover_click').onclick = nextCover;
+			$('next_cover_click').src = '[% webroot %]html/images/ffw_active.gif';
+		}
 	} else if (secondOne == lastOne) {
-		Element.show('last_cover');
-		Element.hide('next_cover');
-	} else {
-		Element.show('last_cover');
-		Element.show('next_cover');
+		if ($('last_cover_click')) {
+			$('last_cover_click').onclick = lastCover;
+			$('last_cover_click').src = '[% webroot %]html/images/rew_active.gif';
+		}
+		if ($('next_cover_click')) {
+			$('next_cover_click').onclick = emptyFunction;
+			$('next_cover_click').src = '[% webroot %]html/images/ffw.gif';
+		}
+	} else {
+		if ($('last_cover_click')) {
+			$('last_cover_click').onclick = lastCover;
+			$('last_cover_click').src = '[% webroot %]html/images/rew_active.gif';
+		}
+		if ($('next_cover_click')) {
+			$('next_cover_click').onclick = nextCover;
+			$('next_cover_click').src = '[% webroot %]html/images/ffw_active.gif';
+		}
 	}
 }
 
 function refreshThumbs(theData) {
 	parsedData = fillDataHash(theData);
 	showArrows(thisAlbum, thatAlbum, parsedData['last']);
+	hideAlbumInfo();
 	refreshThumb(parsedData, '1', thisAlbum);
 	refreshThumb(parsedData, '2', thatAlbum);
 }
@@ -48,21 +82,30 @@
 	var thumbId = 'thumb_' + whichOne;
 	var thumbKey = 'coverthumb_' + thatOne;
 	var albumKey = 'albumid_' + thatOne;
+	var albumTextKey = 'album_' + thatOne;
+	var artistTextKey = 'artist_' + thatOne;
 	var playId = 'play_' + whichOne;
 	var addId = 'add_' + whichOne;
 	var thatThumb = parsedData[thumbKey];
 	var thatAlbum = parsedData[albumKey];
+	var artistAlbum = parsedData[artistTextKey] + ' - ' + parsedData[albumTextKey];
 	if ($(thumbId)) {
 		var thumbHref = thumbHrefTemplate.replace('COVER', thatThumb);
 		$(thumbId).src = thumbHref;
 	}
 	if ($(playId)) {
-		var playHref = playAlbumTemplate.replace('ALBUM', thatAlbum);
+		//var playHref = playAlbumTemplate.replace('ALBUM', thatAlbum);
+		var playHref = pAT.replace('ALBUM', thatAlbum);
+		playHref = playHref.replace('AlBuM', artistAlbum);
 		refreshHref(playId, playHref);
+		//$(playId).onclick = playHref;
 	}
 	if ($(addId)) {
-		var addHref = addAlbumTemplate.replace('ALBUM', thatAlbum);
+		//var addHref = addAlbumTemplate.replace('ALBUM', thatAlbum);
+		var addHref = aAT.replace('ALBUM', thatAlbum);
+		addHref = addHref.replace('AlBuM', artistAlbum);
 		refreshHref(addId, addHref);
+		//$(addId).onclick = addHref;
 	}
 	var textKeys = [ 'artist_', 'album_' ];
 	for (var i = 0; i < textKeys.length; i++) {
@@ -74,6 +117,54 @@
 	}
 }
 
+function popUpAlbumInfo(thisOne) {
+	if (thisOne == 1) {
+		clickedItem = thisAlbum;
+	} else {
+		clickedItem = thatAlbum;
+	}
+	var albumKey = 'albumid_' + clickedItem;
+	var lookupId = parsedData[albumKey];
+	
+	// here we go-- get the album track details via an ajax call
+	// pop up a list of the tracks in an inline div, including play/add buttons next to tracks
+	// add a close button for the div to hide it
+	if ($('albumInfo')) {
+		$('trackInfo').innerHTML = '';
+		Element.show('albumInfo');
+		var newArgs = 'artwork=4&hierarchy=album,track&level=1&player=[% playerURI %]&album.id='+parseInt(lookupId);
+		//var newArgs = 'artwork=4&orderBy=contributor.namesort,album.titlesor&album,track&level=1&&album.id='+parseInt(lookupId);
+		getStatusData(newArgs,updateTrackInfo);
+	}
+}
+
+function updateTrackInfo(theData) {
+	var myData = theData.responseText;
+       	var showDivs = [ 'albumInfo', 'trackInfo', 'closeAlbumInfo' ];
+        showDivs.each(function(key) {
+		if ($(key)) {
+			Element.setStyle(key, { border: '1px solid black' } );
+			Element.show(key);
+		}
+	});
+	if ($('trackInfo')) {
+		$('trackInfo').innerHTML = myData;
+	}
+}
+
+function hideAlbumInfo() {
+	if ($('trackInfo')) {
+		$('trackInfo').innerHTML = '';
+	}
+        var hideDivs = [ 'albumInfo', 'trackInfo', 'closeAlbumInfo' ];
+        hideDivs.each(function(key) {
+                if ($(key)) {
+			Element.setStyle(key, { border: '0px'} );
+			Element.hide(key);
+                }
+        });
+}
+
 function lastCover() {
 	thatAlbum = thisAlbum;
 	thisAlbum = parseInt(thisAlbum) - 1;
@@ -92,6 +183,30 @@
 	getStatusData(urlArgs, refreshThumbs);
 }
 
+function enlargeThumbs() {
+	if (thumbSize == 700) {
+		return;
+	} else {
+		thumbSize = thumbSize + 50;
+		resizeThumbs();
+	}
+}
+
+function shrinkThumbs() {
+	if (thumbSize == 50) {
+		return;
+	} else {
+		thumbSize = thumbSize - 50;
+		resizeThumbs();
+	}
+}
+
+function resizeThumbs() {
+	thumbHrefTemplate = '/music/COVER/thumb_'+thumbSize+'x'+thumbSize+'_f_000000.jpg';
+	refreshThumbs(parsedData);
+	setCookie( 'SlimServer-thumbSize', thumbSize );
+}
+
 window.onload= function() {
 	artworkBrowse(blankRequest, 1, 2);
 	globalOnload();

Added: branches/6.5/server/HTML/Nokia770/skin_global.js
URL: http://svn.slimdevices.com/branches/6.5/server/HTML/Nokia770/skin_global.js?rev=10605&view=auto
==============================================================================
--- branches/6.5/server/HTML/Nokia770/skin_global.js (added)
+++ branches/6.5/server/HTML/Nokia770/skin_global.js Mon Nov  6 14:24:11 2006
@@ -1,0 +1,21 @@
+var thumbSize = [% IF thumbSize %][% thumbSize %][% ELSE %]250[% END %];
+function chooseAlbumOrderBy(value, option, artwork)
+{
+	if (!artwork) {
+		artwork = 1;
+	}
+        var url = '[% webroot %]browsedb.html?hierarchy=[% hierarchy %]&level=[% level %][% attributes %][% IF artwork %]&artwork='+artwork+'[% END %]&player=[% playerURI %]'; 
+        if (option) {
+                url = url + '&orderBy=' + option;
+        }
+        setCookie( 'SlimServer-orderBy', option );
+        window.location = url;
+}
+
+function setCookie(name, value) {
+        var expires = new Date();
+        expires.setTime(expires.getTime() + 1000*60*60*24*365);
+        document.cookie =
+                name + "=" + escape(value) +
+                ((expires == null) ? "" : ("; expires=" + expires.toGMTString()));
+}

Propchange: branches/6.5/server/HTML/Nokia770/skin_global.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/6.5/server/HTML/Nokia770/skin_global.js
------------------------------------------------------------------------------
    svn:keywords = "Id Author LastChangedDate LastChangedBy"

Propchange: branches/6.5/server/HTML/Nokia770/skin_global.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain



More information about the checkins mailing list