History = new Mongo.Collection("history"); Playlists = new Mongo.Collection("playlists"); if (Meteor.isClient) { Meteor.startup(function() { reCAPTCHA.config({ publickey: '6LcVxg0TAAAAAE18vBiH00UAyaJggsmLm890SjZl' }); }); var hpSound = undefined; var songsArr = []; var ytArr = []; var _sound = undefined; var parts = location.href.split('/'); var id = parts.pop(); var type = id.toLowerCase(); Template.register.events({ "submit form": function(e){ e.preventDefault(); var username = e.target.registerUsername.value; var email = e.target.registerEmail.value; var password = e.target.registerPassword.value; var captchaData = grecaptcha.getResponse(); Meteor.call("createUserMethod", {username: username, email: email, password: password}, captchaData, function(err, res) { grecaptcha.reset(); if (err) { console.log(err); } else { Meteor.loginWithPassword(username, password); } }); }, "click #facebook-login": function(){ Meteor.loginWithFacebook() }, "click #github-login": function(){ Meteor.loginWithGithub() }, "click #login": function(){ $("#register-view").hide(); $("#login-view").show(); } }); Template.login.events({ "submit form": function(e){ e.preventDefault(); var username = e.target.loginUsername.value; var password = e.target.loginPassword.value; Meteor.loginWithPassword(username, password); Accounts.onLoginFailure(function(){ $("input").css("background-color","indianred").addClass("animated shake"); $("input").on("click",function(){ $("input").css({ "background-color": "transparent", "width": "250px" }); }) }); }, "click #facebook-login": function(){ Meteor.loginWithFacebook() }, "click #github-login": function(){ Meteor.loginWithGithub() }, "click #register": function(){ $("#login-view").hide(); $("#register-view").show(); } }); Template.dashboard.events({ "click .logout": function(e){ e.preventDefault(); Meteor.logout(); if (hpSound !== undefined) { hpSound.stop(); } }, "click .button-tunein": function(){ SC.stream("/tracks/172055891/", function(sound){ sound._player._volume = 0.3; sound.play(); }); }, "click #play": function(){ $("#play").hide(); SC.stream("/tracks/172055891/", function(sound){ hpSound = sound; sound._player._volume = 0.3; sound.play(); $("#stop").on("click", function(){ $("#stop").hide(); $("#play").show(); sound._player.pause(); }) }); $("#stop").show(); } }); Template.room.events({ "click #search-song": function(){ $("#song-results").empty() $.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){ console.log(data); for(var i in data.items){ $("#song-results").append("
" + data.items[i].snippet.title + "
") ytArr.push({title: data.items[i].snippet.title, id: data.items[i].id.videoId}); } console.log(ytArr); $("#song-results p").click(function(){ var title = $(this).text(); for(var i in ytArr){ if(ytArr[i].title === title){ console.log(ytArr[i].title) var songObj = { id: ytArr[i].id, title: ytArr[i].title, type: "youtube" } /*Meteor.call("addToPlaylist", songObj, function(err,res){ console.log(res); })*/ } } }) } }) SC.get('/tracks', { q: $("#song-input").val()}, function(tracks) { console.log(tracks); for(var i in tracks){ $("#song-results").append("" + tracks[i].title + "
") songsArr.push({title: tracks[i].title, id: tracks[i].id, duration: tracks[i].duration / 1000}); } $("#song-results p").click(function(){ 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 songObj = { title: songsArr[i].title, id: id, duration: duration, type: "soundcloud" } } } console.log(id); /*Meteor.call("addToPlaylist", songObj, function(err,res){ return true; });*/ // if (_sound !== undefined)_sound.stop(); // SC.stream("/tracks/" + id, function(sound){ // _sound = sound; // sound._player._volume = 0.3; // sound.play() // }); }) }); } }); Template.room.helpers({ type: function() { var parts = location.href.split('/'); var id = parts.pop(); return id.toUpperCase(); }, title: function(){ return Session.get("title"); }, artist: function(){ return Session.get("artist"); } }); Template.playlist.helpers({ playlist_songs: function() { var data = Playlists.find({type: type}).fetch(); if (data !== undefined && data.length > 0) { return data[0].songs; } else { return []; } } }); Template.room.onCreated(function () { var tag = document.createElement("script"); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var currentSong = undefined; var _sound = undefined; var yt_player = undefined; var size = 0; var artistStr; var temp = ""; function getTimeElapsed() { if (currentSong !== undefined) { return Date.now() - currentSong.started; } return 0; } function getSongInfo(query, type){ var search = query; var titles = []; var artists = []; query = query.toLowerCase().split(" ").join("%20"); $.ajax({ type: "GET", url: 'https://api.spotify.com/v1/search?q=' + query + '&type=track', applicationType: "application/json", contentType: "json", success: function(data){ console.log(data); for(var i in data){ for(var j in data[i].items){ if(search.indexOf(data[i].items[j].name) !== -1){ console.log(data[i].items[j].name); titles.push(data[i].items[j].name); var info = data[i].items[j]; Session.set("title", titles[0]); console.log("Info: " + info); if(type === "youtube"){ Session.set("duration", data[i].items[j].duration_ms / 1000) } temp = ""; if(data[i].items[j].artists.length >= 2){ for(var k in data[i].items[j].artists){ temp = temp + data[i].items[j].artists[k].name + ", "; } } else{ for(var k in data[i].items[j].artists){ temp = temp + data[i].items[j].artists[k].name; } } if(temp[temp.length-2] === ","){ artistStr = temp.substr(0,temp.length-2); } else{ artistStr = temp; } Session.set("artist", artistStr); $("#albumart").remove(); $(".room-title").before("