diff --git a/server/djrandom/frontend/static/js/djr/backend.js b/server/djrandom/frontend/static/js/djr/backend.js index c2c35147f08edb14a6968be9b6d5c8fa8272f0ff..2bdabd1007260d5ca5192c335a1bb9cfa2aa6897 100644 --- a/server/djrandom/frontend/static/js/djr/backend.js +++ b/server/djrandom/frontend/static/js/djr/backend.js @@ -224,6 +224,17 @@ djr.Backend.prototype.nowPlaying = function(song, old_songs) { }); }; +/** + * Report that we skipped a song. + * + * @param {string} song SHA1 hash of the song that was skipped +djr.Backend.prototype.skipSong = function(song) { + $.ajax({url: '/json/skip', + data: {'cur': song}, + type: 'POST' + }); +}; + /** * Request N never played songs * diff --git a/server/djrandom/frontend/static/js/djr/djr.js b/server/djrandom/frontend/static/js/djr/djr.js index 8f4a9024f7058282bcdb94f1191cd35c9c98c229..e95be9ee069b1b837613300bbd0609aa3e4d0564 100644 --- a/server/djrandom/frontend/static/js/djr/djr.js +++ b/server/djrandom/frontend/static/js/djr/djr.js @@ -43,6 +43,9 @@ djr.init = function (userid) { }); // Add onclick hooks to the playlist controls. + $('#skipbtn').click(function() { + djr.player().skipSong(); + }); $('#playlistClearBtn').click(function() { djr.player().clearPlaylist(); }); diff --git a/server/djrandom/frontend/static/js/djr/player.js b/server/djrandom/frontend/static/js/djr/player.js index 3f6bbe62eebfdb8b62219b01778232994de7cab7..08ae83c296108fe6e7957147009471f5bfe8fb5d 100644 --- a/server/djrandom/frontend/static/js/djr/player.js +++ b/server/djrandom/frontend/static/js/djr/player.js @@ -351,6 +351,12 @@ djr.Player.prototype.play = function(song) { this.backend.nowPlaying(song, this.old_songs); }; +// Skip the current song, play the next one. +djr.Player.prototype.skipSong = function() { + this.backend.skipSong(this.cur_song); + this.nextSong(); +}; + // Start playing the next song. djr.Player.prototype.nextSong = function() { if (this.auto_extend && this.playlist.isLastSong(this.cur_song)) { diff --git a/server/djrandom/frontend/templates/index.html b/server/djrandom/frontend/templates/index.html index 6a50d5f79109af243ff0319f872803713217e8e1..b1713de34e0bee85e855a96b78c6d31c22821f25 100644 --- a/server/djrandom/frontend/templates/index.html +++ b/server/djrandom/frontend/templates/index.html @@ -108,7 +108,8 @@ $(document).ready(function() { <div id="metasongcontrols" class="buttonbox"> <br/> - <a id="pllistbtn">Playlists</a> + <a id="skipbtn"><b>Next</b></a> + | <a id="pllistbtn">Playlists</a> | <a id="lyricsbtn">Lyrics</a> | <a id="wikibtn">Wikipedia</a> | <a id="lastfmbtn">Song Info</a>