function format_last_track(track) { return track.artist + ' - ' + track.title + ' ' + track.time_since + ' ago.
'; } function format_current_track(track) { if($.isEmptyObject(track)) { return '
'; } var html = ''; if(track.image) { html += '
'; } html += '' + track.artist + ' - ' + track.title +' ♪♫
'; return html; } /* Update track and now playing */ function get_last_track() { $.getJSON(urls.trackLast, function(data) { $( '#last_track' ).html(format_last_track(data.track)); }); } function get_now_playing() { $.getJSON(urls.trackCurrent, function(data) { $( '#now_playing' ).html(format_current_track(data.track)); if( is_tetris_song() ) { play_tetris(); } else { dont_play_tetris(); } }); } /*********** * YOUTUBE * ***********/ function other_video_playing(video) { var now_playing_pattern = /video.videoId/; return ! now_playing_pattern.test( ytplayer.getVideoUrl() ); } function playVideo(video) { if(ytplayer) { // start the video (if we have'nt allready) if( other_video_playing(video) ) { // show the player $("#player").show(); ytplayer.loadVideoById(video.videoId, video.start , "hd720"); } } } function showOrHidePlayer(track) { if(track.artist == '') { $("#player").delay(1000).hide(); } else { if( track.video != '') { $("#player").show(); playVideo(track.video); } } } function onYouTubePlayerAPIReady() { /* Initial player */ new YT.Player('player', { width: '1200', height: '675', videoId: 'dQw4w9WgXcQ', // Mr. Astley? playerVars: { controls: 0, // no controls iv_load_policy: 3, // no annotations start: 215 // offset into video (last 2 seconds) }, /* Attach to these events. */ events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } /* The API will call this function when the video player is ready. */ function onPlayerReady(event) { ytplayer = event.target; event.target.playVideo(); event.target.mute(); event.target.setPlaybackQuality("hd720"); } /* The API calls this function when the player's state changes. */ function onPlayerStateChange(event) { if (event.data == YT.PlayerState.ENDED) { /* Could do something on this state or others... */ } } function createYoutubePlayer() { /* Loads the YouTube IFrame Player API code asynchronously. */ var tag = document.createElement('script'); tag.src = "https://www.youtube.com/player_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); } /********* * Start * *********/ /* Creates an