[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