|
@@ -34,11 +34,6 @@ function executeCommand(command, params){
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.setVolume(volume);
|
|
|
localStorage.setItem("volume", volume);
|
|
|
- } else if (SCPlayer !== undefined) {
|
|
|
- //SCPlayer
|
|
|
- var volume = volume / 100;
|
|
|
- SCPlayer.setVolume(volume);
|
|
|
- localStorage.setItem("volume", volume * 100);
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
@@ -49,10 +44,6 @@ function executeCommand(command, params){
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.setVolume(0);
|
|
|
localStorage.setItem("volume", 0);
|
|
|
- } else if (SCPlayer !== undefined) {
|
|
|
- //SCPlayer
|
|
|
- SCPlayer.setVolume(0);
|
|
|
- localStorage.setItem("volume", 0);
|
|
|
}
|
|
|
} else if(command === "ban"){
|
|
|
var user = params[0];
|
|
@@ -382,6 +373,7 @@ Template.profile.events({
|
|
|
Template.queues.events({
|
|
|
"click .preview-button": function(e){
|
|
|
Session.set("song", this);
|
|
|
+ $("#previewModal").openModal();
|
|
|
},
|
|
|
"click #previewImageButton": function() {
|
|
|
$("#preview-image").attr("src", Session.get("song").img);
|
|
@@ -400,6 +392,7 @@ Template.queues.events({
|
|
|
$("#dislikes").val(this.dislikes);
|
|
|
$("#duration").val(this.duration);
|
|
|
$("#skip-duration").val(this.skipDuration);
|
|
|
+ $("#editModal").openModal();
|
|
|
},
|
|
|
"click .add-song-button": function(e){
|
|
|
var genre = $(e.target).data("genre") || $(e.target).parent().data("genre");
|
|
@@ -417,45 +410,37 @@ Template.queues.events({
|
|
|
var type = song.type;
|
|
|
var volume = localStorage.getItem("volume") || 20;
|
|
|
|
|
|
- if (type === "YouTube") {
|
|
|
- if (YTPlayer === undefined) {
|
|
|
- YTPlayer = new YT.Player("previewPlayer", {
|
|
|
- height: 540,
|
|
|
- width: 568,
|
|
|
- videoId: id,
|
|
|
- playerVars: {autoplay: 1, controls: 0, iv_load_policy: 3, showinfo: 0},
|
|
|
- events: {
|
|
|
- 'onReady': function(event) {
|
|
|
- event.target.seekTo(Number(song.skipDuration));
|
|
|
+ if (YTPlayer === undefined) {
|
|
|
+ YTPlayer = new YT.Player("previewPlayer", {
|
|
|
+ height: 540,
|
|
|
+ width: 568,
|
|
|
+ videoId: id,
|
|
|
+ playerVars: {autoplay: 1, controls: 0, iv_load_policy: 3, showinfo: 0},
|
|
|
+ events: {
|
|
|
+ 'onReady': function(event) {
|
|
|
+ event.target.seekTo(Number(song.skipDuration));
|
|
|
+ event.target.playVideo();
|
|
|
+ event.target.setVolume(volume);
|
|
|
+ },
|
|
|
+ 'onStateChange': function(event){
|
|
|
+ if (event.data == YT.PlayerState.PAUSED) {
|
|
|
event.target.playVideo();
|
|
|
- event.target.setVolume(volume);
|
|
|
- },
|
|
|
- 'onStateChange': function(event){
|
|
|
- if (event.data == YT.PlayerState.PAUSED) {
|
|
|
- event.target.playVideo();
|
|
|
- }
|
|
|
- if (event.data == YT.PlayerState.PLAYING) {
|
|
|
- $("#play").attr("disabled", true);
|
|
|
- $("#stop").attr("disabled", false);
|
|
|
- } else {
|
|
|
- $("#play").attr("disabled", false);
|
|
|
- $("#stop").attr("disabled", true);
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (event.data == YT.PlayerState.PLAYING) {
|
|
|
+ $("#play").attr("disabled", true);
|
|
|
+ $("#stop").attr("disabled", false);
|
|
|
+ } else {
|
|
|
+ $("#play").attr("disabled", false);
|
|
|
+ $("#stop").attr("disabled", true);
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
- } else {
|
|
|
- YTPlayer.loadVideoById(id);
|
|
|
- YTPlayer.seekTo(Number(song.skipDuration));
|
|
|
- }
|
|
|
- $("#previewPlayer").show();
|
|
|
- } else if (type === "SoundCloud") {
|
|
|
- SC.stream("/tracks/" + song.id, function(sound) {
|
|
|
- SCPlayer = sound;
|
|
|
- sound.setVolume(volume / 100);
|
|
|
- sound.play();
|
|
|
+ }
|
|
|
});
|
|
|
+ } else {
|
|
|
+ YTPlayer.loadVideoById(id);
|
|
|
+ YTPlayer.seekTo(Number(song.skipDuration));
|
|
|
}
|
|
|
+ $("#previewPlayer").show();
|
|
|
|
|
|
if (previewEndSongTimeout !== undefined) {
|
|
|
Meteor.clearTimeout(previewEndSongTimeout);
|
|
@@ -464,9 +449,6 @@ Template.queues.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.stopVideo();
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.stop();
|
|
|
- }
|
|
|
$("#play").attr("disabled", false);
|
|
|
$("#stop").attr("disabled", true);
|
|
|
$("#previewPlayer").hide();
|
|
@@ -481,9 +463,6 @@ Template.queues.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.stopVideo();
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.stop();
|
|
|
- }
|
|
|
},
|
|
|
"click #forward": function() {
|
|
|
var error = false;
|
|
@@ -497,9 +476,6 @@ Template.queues.events({
|
|
|
YTPlayer.seekTo(skipDuration + duration - 10);
|
|
|
}
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.seekTo((skipDuration + duration - 10) * 1000);
|
|
|
- }
|
|
|
if (!error) {
|
|
|
if (previewEndSongTimeout !== undefined) {
|
|
|
Meteor.clearTimeout(previewEndSongTimeout);
|
|
@@ -508,9 +484,6 @@ Template.queues.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.stopVideo();
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.stop();
|
|
|
- }
|
|
|
$("#play").attr("disabled", false);
|
|
|
$("#stop").attr("disabled", true);
|
|
|
$("#previewPlayer").hide();
|
|
@@ -749,9 +722,6 @@ Template.room.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.seekTo(skipDuration + timeIn / 1000);
|
|
|
}
|
|
|
- else if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.seekTo(skipDuration * 1000 + timeIn);
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -894,99 +864,56 @@ Template.room.events({
|
|
|
"click #search-song": function () {
|
|
|
var songs = [];
|
|
|
$("#song-results").empty();
|
|
|
- var search_type = $("#search_type").val();
|
|
|
- if (search_type === "YouTube") {
|
|
|
- $.ajax({
|
|
|
- type: "GET",
|
|
|
- url: "https://www.googleapis.com/youtube/v3/search?part=snippet&q=" + $("#song-input").val() + "&key=AIzaSyAgBdacEWrHCHVPPM4k-AFM7uXg-Q__YXY",
|
|
|
- applicationType: "application/json",
|
|
|
- contentType: "json",
|
|
|
- success: function (data) {
|
|
|
- for (var i in data.items) {
|
|
|
- var item = data.items[i];
|
|
|
- $("#song-results").append(
|
|
|
- "<div>" +
|
|
|
- "<img src='" + item.snippet.thumbnails.medium.url + "' class='song-result-thumbnail'/>" +
|
|
|
- "<div>" +
|
|
|
- "<span class='song-result-title'>" + item.snippet.title + "</span>" +
|
|
|
- "<span class='song-result-channel'>" + item.snippet.channelTitle + "</span>" +
|
|
|
- "</div>" +
|
|
|
- "</div>"
|
|
|
- );
|
|
|
- songs.push({title: item.snippet.title, id: item.id.videoId});
|
|
|
- }
|
|
|
- $("#song-results > div").click(function () {
|
|
|
- $("#search-info").hide();
|
|
|
- $("#add-info").show();
|
|
|
- var title = $(this).find("div > .song-result-title").text();
|
|
|
- for (var i in songs) {
|
|
|
- if (songs[i].title === title) {
|
|
|
- var songObj = {
|
|
|
- id: songs[i].id,
|
|
|
- title: songs[i].title,
|
|
|
- type: "youtube"
|
|
|
- };
|
|
|
- $("#title").val(songObj.title);
|
|
|
- $("#artist").val("");
|
|
|
- $("#id").val(songObj.id);
|
|
|
- $("#type").val("YouTube");
|
|
|
- getSpotifyInfo(songObj.title.replace(/\[.*\]/g, ""), function (data) {
|
|
|
- if (data.tracks.items.length > 0) {
|
|
|
- $("#title").val(data.tracks.items[0].name);
|
|
|
- var artists = [];
|
|
|
- $("#img").val(data.tracks.items[0].album.images[2].url);
|
|
|
- data.tracks.items[0].artists.forEach(function (artist) {
|
|
|
- artists.push(artist.name);
|
|
|
- });
|
|
|
- $("#artist").val(artists.join(", "));
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- } else if (search_type === "SoundCloud") {
|
|
|
- SC.get('/tracks', {q: $("#song-input").val()}, function (tracks) {
|
|
|
- for (var i in tracks) {
|
|
|
- $("#song-results").append("<p>" + tracks[i].title + "</p>")
|
|
|
- songsArr.push({title: tracks[i].title, id: tracks[i].id, duration: tracks[i].duration / 1000});
|
|
|
+ $.ajax({
|
|
|
+ type: "GET",
|
|
|
+ url: "https://www.googleapis.com/youtube/v3/search?part=snippet&q=" + $("#song-input").val() + "&key=AIzaSyAgBdacEWrHCHVPPM4k-AFM7uXg-Q__YXY",
|
|
|
+ applicationType: "application/json",
|
|
|
+ contentType: "json",
|
|
|
+ success: function (data) {
|
|
|
+ for (var i in data.items) {
|
|
|
+ var item = data.items[i];
|
|
|
+ $("#song-results").append(
|
|
|
+ "<div>" +
|
|
|
+ "<img src='" + item.snippet.thumbnails.medium.url + "' class='song-result-thumbnail'/>" +
|
|
|
+ "<div>" +
|
|
|
+ "<span class='song-result-title'>" + item.snippet.title + "</span>" +
|
|
|
+ "<span class='song-result-channel'>" + item.snippet.channelTitle + "</span>" +
|
|
|
+ "</div>" +
|
|
|
+ "</div>"
|
|
|
+ );
|
|
|
+ songs.push({title: item.snippet.title, id: item.id.videoId});
|
|
|
}
|
|
|
- $("#song-results p").click(function () {
|
|
|
+ $("#song-results > div").click(function () {
|
|
|
$("#search-info").hide();
|
|
|
$("#add-info").show();
|
|
|
- var title = $(this).text();
|
|
|
- for (var i in songsArr) {
|
|
|
- if (songsArr[i].title === title) {
|
|
|
- var id = songsArr[i].id;
|
|
|
- var duration = songsArr[i].duration;
|
|
|
+ var title = $(this).find("div > .song-result-title").text();
|
|
|
+ for (var i in songs) {
|
|
|
+ if (songs[i].title === title) {
|
|
|
var songObj = {
|
|
|
- title: songsArr[i].title,
|
|
|
- id: id,
|
|
|
- duration: duration,
|
|
|
- type: "soundcloud"
|
|
|
- }
|
|
|
+ id: songs[i].id,
|
|
|
+ title: songs[i].title,
|
|
|
+ type: "youtube"
|
|
|
+ };
|
|
|
$("#title").val(songObj.title);
|
|
|
- // Set ID field
|
|
|
+ $("#artist").val("");
|
|
|
$("#id").val(songObj.id);
|
|
|
- $("#type").val("SoundCloud");
|
|
|
+ $("#type").val("YouTube");
|
|
|
getSpotifyInfo(songObj.title.replace(/\[.*\]/g, ""), function (data) {
|
|
|
if (data.tracks.items.length > 0) {
|
|
|
$("#title").val(data.tracks.items[0].name);
|
|
|
var artists = [];
|
|
|
+ $("#img").val(data.tracks.items[0].album.images[2].url);
|
|
|
data.tracks.items[0].artists.forEach(function (artist) {
|
|
|
artists.push(artist.name);
|
|
|
});
|
|
|
$("#artist").val(artists.join(", "));
|
|
|
}
|
|
|
- // Set title field again if possible
|
|
|
- // Set artist if possible
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
- });
|
|
|
- }
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
"click #volume-icon": function () {
|
|
|
var volume = 0;
|
|
@@ -996,10 +923,6 @@ Template.room.events({
|
|
|
YTPlayer.setVolume(volume);
|
|
|
localStorage.setItem("volume", volume);
|
|
|
$("#volume-slider").slider("setValue", volume);
|
|
|
- } else if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.setVolume(volume);
|
|
|
- localStorage.setItem("volume", volume);
|
|
|
- $("#volume-slider").slider("setValue", volume);
|
|
|
}
|
|
|
},
|
|
|
"click #play": function () {
|
|
@@ -1226,7 +1149,6 @@ Template.room.onCreated(function () {
|
|
|
resizeSeekerbarInterval = undefined;
|
|
|
}
|
|
|
YTPlayer = undefined;
|
|
|
- SCPlayer = undefined;
|
|
|
Session.set("videoHidden", false);
|
|
|
var tag = document.createElement("script");
|
|
|
tag.src = "https://www.youtube.com/iframe_api";
|
|
@@ -1269,93 +1191,62 @@ Template.room.onCreated(function () {
|
|
|
$("#time-elapsed").text("0:00");
|
|
|
$("#vote-skip").attr("disabled", false);
|
|
|
if (currentSong !== undefined) {
|
|
|
- if (SCPlayer !== undefined) SCPlayer.stop();
|
|
|
if (YTPlayer !== undefined && YTPlayer.stopVideo !== undefined) YTPlayer.stopVideo();
|
|
|
|
|
|
var volume = localStorage.getItem("volume") || 20;
|
|
|
|
|
|
- if (currentSong.type === "SoundCloud") {
|
|
|
- if ($("#soundcloud-image").length !== 1) {
|
|
|
- //$("#media-container").append('<img alt="Not loading" src="/soundcloud-image.png" class="embed-responsive-item" id="soundcloud-image" />');
|
|
|
- $("#media-container").append('<h1 id="soundcloud-image">We have temporarily disabled the playing of SoundCloud songs. We are sorry for this inconvenience.</h1>');
|
|
|
- }
|
|
|
- if ($("#player").length === 1) {
|
|
|
- $("#player").hide();
|
|
|
- }
|
|
|
- $("#soundcloud-image").show();
|
|
|
- //getSongInfo(currentSong);
|
|
|
- /*SC.stream("/tracks/" + currentSong.id, function(sound){
|
|
|
- SCPlayer = sound;
|
|
|
- sound.setVolume(volume / 100);
|
|
|
- sound.play();
|
|
|
- var interval = setInterval(function() {
|
|
|
- if (sound.getState() === "playing") {
|
|
|
- sound.seek(getTimeElapsed());
|
|
|
- window.clearInterval(interval);
|
|
|
- }
|
|
|
- }, 200);
|
|
|
- Session.set("duration", parseInt(currentSong.duration));
|
|
|
- var d = moment.duration(parseInt(currentSong.duration), 'seconds');
|
|
|
- $("#time-total").text(d.minutes() + ":" + ("0" + d.seconds()).slice(-2));
|
|
|
- resizeSeekerbar();
|
|
|
- });*/
|
|
|
- } else {
|
|
|
- if ($("#player").length !== 1) {
|
|
|
- $("#media-container").append('<div id="player" class="embed-responsive-item"></div>');
|
|
|
- }
|
|
|
- if ($("#soundcloud-image").length === 1) {
|
|
|
- $("#soundcloud-image").hide();
|
|
|
- }
|
|
|
- $("#player").show();
|
|
|
- function loadVideo() {
|
|
|
- if (!Session.get("YTLoaded")) {
|
|
|
- Session.set("loadVideoTimeout", Meteor.setTimeout(function () {
|
|
|
- loadVideo();
|
|
|
- }, 500));
|
|
|
- } else {
|
|
|
- if (YTPlayer === undefined) {
|
|
|
- YTPlayer = new YT.Player("player", {
|
|
|
- height: 540,
|
|
|
- width: 960,
|
|
|
- videoId: currentSong.id,
|
|
|
- playerVars: {controls: 0, iv_load_policy: 3, rel: 0, showinfo: 0},
|
|
|
- events: {
|
|
|
- 'onReady': function (event) {
|
|
|
- if (currentSong.skipDuration === undefined) {
|
|
|
- currentSong.skipDuration = 0;
|
|
|
+ if ($("#player").length !== 1) {
|
|
|
+ $("#media-container").append('<div id="player" class="embed-responsive-item"></div>');
|
|
|
+ }
|
|
|
+ $("#player").show();
|
|
|
+ function loadVideo() {
|
|
|
+ if (!Session.get("YTLoaded")) {
|
|
|
+ Session.set("loadVideoTimeout", Meteor.setTimeout(function () {
|
|
|
+ loadVideo();
|
|
|
+ }, 500));
|
|
|
+ } else {
|
|
|
+ if (YTPlayer === undefined) {
|
|
|
+ YTPlayer = new YT.Player("player", {
|
|
|
+ height: 540,
|
|
|
+ width: 960,
|
|
|
+ videoId: currentSong.id,
|
|
|
+ playerVars: {controls: 0, iv_load_policy: 3, rel: 0, showinfo: 0},
|
|
|
+ events: {
|
|
|
+ 'onReady': function (event) {
|
|
|
+ if (currentSong.skipDuration === undefined) {
|
|
|
+ currentSong.skipDuration = 0;
|
|
|
+ }
|
|
|
+ event.target.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
+ event.target.playVideo();
|
|
|
+ event.target.setVolume(volume);
|
|
|
+ resizeSeekerbar();
|
|
|
+ },
|
|
|
+ 'onStateChange': function (event) {
|
|
|
+ if (Session.get("YTLoaded")) {
|
|
|
+ if (event.data == YT.PlayerState.PAUSED && Session.get("state") === "playing") {
|
|
|
+ event.target.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
+ event.target.playVideo();
|
|
|
}
|
|
|
- event.target.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
- event.target.playVideo();
|
|
|
- event.target.setVolume(volume);
|
|
|
- resizeSeekerbar();
|
|
|
- },
|
|
|
- 'onStateChange': function (event) {
|
|
|
- if (Session.get("YTLoaded")) {
|
|
|
- if (event.data == YT.PlayerState.PAUSED && Session.get("state") === "playing") {
|
|
|
- event.target.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
- event.target.playVideo();
|
|
|
- }
|
|
|
- if (event.data == YT.PlayerState.PLAYING && Session.get("state") === "paused") {
|
|
|
- event.target.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
- event.target.pauseVideo();
|
|
|
- }
|
|
|
+ if (event.data == YT.PlayerState.PLAYING && Session.get("state") === "paused") {
|
|
|
+ event.target.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
+ event.target.pauseVideo();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
- } else {
|
|
|
- YTPlayer.loadVideoById(currentSong.id);
|
|
|
- if (currentSong.skipDuration === undefined) {
|
|
|
- currentSong.skipDuration = 0;
|
|
|
}
|
|
|
- YTPlayer.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ YTPlayer.loadVideoById(currentSong.id);
|
|
|
+ if (currentSong.skipDuration === undefined) {
|
|
|
+ currentSong.skipDuration = 0;
|
|
|
}
|
|
|
- Session.set("pauseVideo", false);
|
|
|
- getSongInfo(currentSong);
|
|
|
+ YTPlayer.seekTo(Number(currentSong.skipDuration) + getTimeElapsed() / 1000);
|
|
|
}
|
|
|
+ Session.set("pauseVideo", false);
|
|
|
+ getSongInfo(currentSong);
|
|
|
}
|
|
|
- loadVideo();
|
|
|
}
|
|
|
+ loadVideo();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1378,15 +1269,11 @@ Template.room.onCreated(function () {
|
|
|
// TODO Fix issue where sometimes nothing loads with the YT is not defined error. The error points to around this.
|
|
|
if (YTPlayer !== undefined && YTPlayer.getPlayerState !== undefined && YTPlayer.getPlayerState() === 1) {
|
|
|
YTPlayer.pauseVideo();
|
|
|
- } else if (SCPlayer !== undefined && SCPlayer.getState().indexOf("playing") !== -1) {
|
|
|
- SCPlayer.pause();
|
|
|
}
|
|
|
} else {
|
|
|
Session.set("state", "playing");
|
|
|
if (YTPlayer !== undefined && YTPlayer.getPlayerState !== undefined && YTPlayer.getPlayerState() !== 1) {
|
|
|
YTPlayer.playVideo();
|
|
|
- } else if (SCPlayer !== undefined && SCPlayer.getState().indexOf("paused") !== -1) {
|
|
|
- SCPlayer.play();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1531,48 +1418,39 @@ Template.stations.events({
|
|
|
$("#stop").attr("disabled", false);
|
|
|
var song = Session.get("song");
|
|
|
var id = song.id;
|
|
|
- var type = song.type;
|
|
|
var volume = localStorage.getItem("volume") || 20;
|
|
|
|
|
|
- if (type === "YouTube") {
|
|
|
- if (YTPlayer === undefined) {
|
|
|
- YTPlayer = new YT.Player("previewPlayer", {
|
|
|
- height: 540,
|
|
|
- width: 568,
|
|
|
- videoId: id,
|
|
|
- playerVars: {controls: 0, iv_load_policy: 3, showinfo: 0},
|
|
|
- events: {
|
|
|
- 'onReady': function(event) {
|
|
|
- event.target.seekTo(Number(song.skipDuration));
|
|
|
+ if (YTPlayer === undefined) {
|
|
|
+ YTPlayer = new YT.Player("previewPlayer", {
|
|
|
+ height: 540,
|
|
|
+ width: 568,
|
|
|
+ videoId: id,
|
|
|
+ playerVars: {controls: 0, iv_load_policy: 3, showinfo: 0},
|
|
|
+ events: {
|
|
|
+ 'onReady': function(event) {
|
|
|
+ event.target.seekTo(Number(song.skipDuration));
|
|
|
+ event.target.playVideo();
|
|
|
+ event.target.setVolume(volume);
|
|
|
+ },
|
|
|
+ 'onStateChange': function(event){
|
|
|
+ if (event.data == YT.PlayerState.PAUSED) {
|
|
|
event.target.playVideo();
|
|
|
- event.target.setVolume(volume);
|
|
|
- },
|
|
|
- 'onStateChange': function(event){
|
|
|
- if (event.data == YT.PlayerState.PAUSED) {
|
|
|
- event.target.playVideo();
|
|
|
- }
|
|
|
- if (event.data == YT.PlayerState.PLAYING) {
|
|
|
- $("#play").attr("disabled", true);
|
|
|
- $("#stop").attr("disabled", false);
|
|
|
- } else {
|
|
|
- $("#play").attr("disabled", false);
|
|
|
- $("#stop").attr("disabled", true);
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (event.data == YT.PlayerState.PLAYING) {
|
|
|
+ $("#play").attr("disabled", true);
|
|
|
+ $("#stop").attr("disabled", false);
|
|
|
+ } else {
|
|
|
+ $("#play").attr("disabled", false);
|
|
|
+ $("#stop").attr("disabled", true);
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
- } else {
|
|
|
- YTPlayer.loadVideoById(id);
|
|
|
- YTPlayer.seekTo(Number(song.skipDuration));
|
|
|
- }
|
|
|
- $("#previewPlayer").show();
|
|
|
- } else if (type === "SoundCloud") {
|
|
|
- SC.stream("/tracks/" + song.id, function(sound) {
|
|
|
- SCPlayer = sound;
|
|
|
- sound.setVolume(volume / 100);
|
|
|
- sound.play();
|
|
|
+ }
|
|
|
});
|
|
|
+ } else {
|
|
|
+ YTPlayer.loadVideoById(id);
|
|
|
+ YTPlayer.seekTo(Number(song.skipDuration));
|
|
|
}
|
|
|
+ $("#previewPlayer").show();
|
|
|
|
|
|
if (previewEndSongTimeout !== undefined) {
|
|
|
Meteor.clearTimeout(previewEndSongTimeout);
|
|
@@ -1581,9 +1459,6 @@ Template.stations.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.stopVideo();
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.stop();
|
|
|
- }
|
|
|
$("#play").attr("disabled", false);
|
|
|
$("#stop").attr("disabled", true);
|
|
|
$("#previewPlayer").hide();
|
|
@@ -1598,9 +1473,6 @@ Template.stations.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.stopVideo();
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.stop();
|
|
|
- }
|
|
|
},
|
|
|
"click #forward": function() {
|
|
|
var error = false;
|
|
@@ -1614,9 +1486,6 @@ Template.stations.events({
|
|
|
YTPlayer.seekTo(skipDuration + duration - 10);
|
|
|
}
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.seekTo((skipDuration + duration - 10) * 1000);
|
|
|
- }
|
|
|
if (!error) {
|
|
|
if (previewEndSongTimeout !== undefined) {
|
|
|
Meteor.clearTimeout(previewEndSongTimeout);
|
|
@@ -1625,9 +1494,6 @@ Template.stations.events({
|
|
|
if (YTPlayer !== undefined) {
|
|
|
YTPlayer.stopVideo();
|
|
|
}
|
|
|
- if (SCPlayer !== undefined) {
|
|
|
- SCPlayer.stop();
|
|
|
- }
|
|
|
$("#play").attr("disabled", false);
|
|
|
$("#stop").attr("disabled", true);
|
|
|
$("#previewPlayer").hide();
|