diff --git a/README b/README index ab61bd6..9fbf8a6 100644 --- a/README +++ b/README @@ -14,6 +14,7 @@ External Subsonic Music Player 10/13/2011 .012 added Current Playlist, fixed some bugs 10/14/2011 .013 moved auto playlists, album display tweaks 10/14/2011 .014 multiple api call issue fix +11/15/2011 .015 fixed search issue, added last.fm support from smrq TO DO: (In no particular order...) - Jukebox Control diff --git a/index.html b/index.html index 51ddde3..a1c6c60 100644 --- a/index.html +++ b/index.html @@ -418,6 +418,23 @@ var next = $('#CurrentPlaylistContainer li.playing').next(); changeTrack(next); }, + updatePlayhead: function (percent) { + var player = this.settings.createPlayer; + var scrubber = $(this.wrapper).find("." + player.scrubberClass); + var progress = $(this.wrapper).find("." + player.progressClass); + + progress.css('width', (scrubber.get(0).offsetWidth * percent) + 'px'); + + var played = $(this.wrapper).find("." + player.playedClass); + var p = this.duration * percent, + m = Math.floor(p / 60), + s = Math.floor(p % 60); + played.html((m < 10 ? '0' : '') + m + ':' + (s < 10 ? '0' : '') + s); + + if (!scrobbled && p > 30 && (percent > 0.5 || p > 480)) { + scrobbleSong(true); + } + }, useFlash: (function() { var a = document.createElement('audio'), userAgent = navigator.userAgent.toLowerCase(), diff --git a/js/app.js b/js/app.js index cd9e612..218f6f1 100644 --- a/js/app.js +++ b/js/app.js @@ -188,6 +188,7 @@ function refreshRowColor() { $(this).addClass(rowcolor); }); } +var scrobbled = false; function playSong(el, songid, albumid) { $.ajax({ url: baseURL + '/getMusicDirectory.view?v=1.6.0&c=subweb&f=json&id=' + albumid, @@ -220,6 +221,24 @@ function playSong(el, songid, albumid) { $(el).addClass('playing'); $('#PlayTrack').find('img').attr('src', 'images/pause_24x32.png'); $('#PlayTrack').addClass('playing'); + scrobbleSong(false); + scrobbled = false; + } + }); +} +function scrobbleSong(submission) { + var songid = $('#songdetails_song').attr('childid'); + $.ajax({ + url: baseURL + '/scrobble.view?v=1.6.0&c=subweb&f=json&id=' + songid + "&submission=" + submission, + method: 'GET', + dataType: 'json', + beforeSend: function (req) { + req.setRequestHeader('Authorization', auth); + }, + success: function () { + if (submission) { + scrobbled = true; + } } }); } @@ -295,10 +314,8 @@ function search(type, query) { var track; if (child.track === undefined) { track = " "; } else { track = child.track; } - albumhtml = '