diff --git a/server/public/assets/css/embed.css b/server/public/assets/css/embed.css index c09f76c5..57a87b29 100755 --- a/server/public/assets/css/embed.css +++ b/server/public/assets/css/embed.css @@ -21,6 +21,20 @@ width: 50vw; } +.soundcloud_info_container { + position: absolute; + bottom: 20px; + right: 0px; + padding-left: 20px; + display: flex; + align-items: center; + background: rgba(0,0,0,.7); +} + +.soundcloud_info_container a { + margin: 0 10px; +} + .card { cursor:pointer; background-color: rgba(255, 255, 255, 0.04) !important; diff --git a/server/public/assets/js/channel.js b/server/public/assets/js/channel.js index 19ed2ec4..ccaa4760 100644 --- a/server/public/assets/js/channel.js +++ b/server/public/assets/js/channel.js @@ -169,7 +169,7 @@ var Channel = { Playercontrols.initSlider(); if(player_ready) { Player.player.setVolume(Crypt.get_volume()); - SC.Widget(Player.soundcloud_player).setVolume(Crypt.get_volume()); + Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); } Helper.removeClass(".video-container", "no-opacity"); var codeURL = "https://remote."+window.location.hostname+"/"+id; diff --git a/server/public/assets/js/embed.js b/server/public/assets/js/embed.js index 3f224593..c060a567 100755 --- a/server/public/assets/js/embed.js +++ b/server/public/assets/js/embed.js @@ -8,6 +8,9 @@ var startTime = 0; var socket_connected = false; var dynamicListeners = {}; var player_ready = false; +var empty_clear = false; +var fix_too_far = false; +var beginning = false; var soundcloud_loading = false; var firstLoad = ""; var list_html = document.getElementById("list-song-html").innerHTML; diff --git a/server/public/assets/js/functions.js b/server/public/assets/js/functions.js index 033edc13..cc2101e1 100644 --- a/server/public/assets/js/functions.js +++ b/server/public/assets/js/functions.js @@ -84,7 +84,7 @@ function hide_native(way) { Helper.setHtml("#chromecast_text", "Playing on
" + castSession.La.friendlyName); } Player.player.setVolume(100); - SC.Widget(Player.soundcloud_player).setVolume(100); + Player.soundcloud_player.setVolume(1); Helper.toggleClass("#player_overlay_text", "hide"); } else if(way == 0){ @@ -109,7 +109,7 @@ function hide_native(way) { if(!Helper.mobilecheck()){ Player.player.setVolume(Crypt.get_volume()); Playercontrols.visualVolume(Crypt.get_volume()); - SC.Widget(Player.soundcloud_player).setVolume(Crypt.get_volume()); + Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); } Helper.addClass("#player_overlay", "hide"); Helper.toggleClass("#player_overlay_text", "hide"); diff --git a/server/public/assets/js/hostcontroller.js b/server/public/assets/js/hostcontroller.js index 5b6d0917..d7f4d00a 100755 --- a/server/public/assets/js/hostcontroller.js +++ b/server/public/assets/js/hostcontroller.js @@ -38,7 +38,7 @@ var Hostcontroller = { if(arr.type == "volume") { Playercontrols.visualVolume(arr.value); Player.setVolume(arr.value); - SC.Widget(Player.soundcloud_player).setVolume(arr.value); + Player.soundcloud_player.setVolume(arr.value / 100); localStorage.setItem("volume", arr.value); Playercontrols.choose_button(arr.value, false); } else if(arr.type == "channel") { diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index a792923c..f18337c4 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -199,42 +199,20 @@ window.addEventListener("DOMContentLoaded", function() { tag.onload = function() { console.log("loaded script") if(document.querySelectorAll("script[src='https://w.soundcloud.com/player/api.js']").length == 1) { - SC.Widget(Player.soundcloud_player); + } else { - tagS = document.createElement('script'); - tagS.src = "https://w.soundcloud.com/player/api.js"; + tagSearch = document.createElement('script'); + tagSearch.setAttribute("async", true); + tagSearch.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; firstScriptTag = document.getElementsByTagName('script')[0]; - firstScriptTag.parentNode.insertBefore(tagS, firstScriptTag); - tagS.setAttribute("async", true); + firstScriptTag.parentNode.insertBefore(tagSearch, firstScriptTag); - - tagS.onload = function() { - if(firstLoad == "") { - firstLoad = "widget"; - SC = SC; - } - - tagSearch = document.createElement('script'); - tagSearch.setAttribute("async", true); - tagSearch.src = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; - firstScriptTag = document.getElementsByTagName('script')[0]; - firstScriptTag.parentNode.insertBefore(tagSearch, firstScriptTag); - - tagSearch.onload = function() { - if(firstLoad == "") { - firstLoad = "search"; - _SC2 = SC; - } else { - _SC2 = SC; - SC = SC; - SC = _SC2; - } - console.log("loaded1") - window.SC = SC; - SC.initialize({ - client_id: 'ed53fc01f248f15becddf8eb52cc91ef' - }); - } + tagSearch.onload = function() { + SC.initialize({ + client_id: 'ed53fc01f248f15becddf8eb52cc91ef' + }, function() { + console.log("Loaded streamer"); + }); } } } diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index 9d8aede1..50854bda 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -7,7 +7,9 @@ var Player = { stopInterval: false, fireplace: "", np: {}, - soundcloud_player: undefined, + soundcloud_player: { + setVolume: function(val) {} + }, youtube_listener: function(obj) { if(obj.np != undefined) { @@ -64,7 +66,7 @@ var Player = { // Play video/autoplay video if(obj.np != undefined) { Player.getTitle(song_title, viewers); - if(((embed && autplay) || !embed ) && !offline && !was_stopped) { + if(((embed && autoplay) || !embed ) && !offline && !was_stopped) { console.log("loadVideoById \nwas_stopped=",was_stopped,"\noffline=",offline) Player.loadVideoById(Player.np.id, duration, Player.np.start, Player.np.end); } else { @@ -253,7 +255,7 @@ var Player = { Player.stopVideo(); if(_autoplay) was_stopped = false; Helper.removeClass(document.getElementById("player_overlay"), "hide"); - document.getElementById("player_overlay_text").innerText = "Loading SoundCloud"; + //document.getElementById("player_overlay_text").innerText = "Loading SoundCloud"; Helper.css(document.getElementById("player_overlay"), "background-color", "#2d2d2d"); //if(Player.soundcloud_player) { @@ -263,11 +265,11 @@ var Player = { /*SC.Widget(Player.soundcloud_player).seekTo((seekTo) * 1000); SC.Widget(Player.soundcloud_player).setVolume(embed ? 100 : Crypt.get_volume());*/ soundcloud_loading = false; - if(_autoplay) { + /*SC.Widget(Player.soundcloud_player).isPaused(function(paused) { if(paused) SC.Widget(Player.soundcloud_player).play(); });*/ - } + //Player.soundcloud_player.listenTo("/tracks/" + id); /*SC.Widget(Player.soundcloud_player).getCurrentSound(function(sound) { Helper.removeClass(".soundcloud_info_container", "hide"); @@ -301,23 +303,25 @@ var Player = { Player.soundcloud_player.bind("pause", Player.soundcloudPause); Player.soundcloud_player.bind("play", Player.soundcloudPlay); window.player = player; - player.play().then(function(){ - console.log(id); - SC.get('/tracks', { - ids: id - }).then(function(tracks) { - var sound = tracks[0]; - Helper.removeClass(".soundcloud_info_container", "hide"); - document.querySelector("#soundcloud_listen_link").href = sound.permalink_url; - document.querySelector(".soundcloud_info_container .green").href = sound.purchase_url; - document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url; - }); - Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); - Player.soundcloud_player.seek((seekTo) * 1000); - console.log('Playback started!'); - }).catch(function(e){ - console.error('Playback rejected. Try calling play() from a user interaction.', e); + SC.get('/tracks', { + ids: id + }).then(function(tracks) { + var sound = tracks[0]; + Helper.removeClass(".soundcloud_info_container", "hide"); + document.querySelector("#soundcloud_listen_link").href = sound.permalink_url; + document.querySelector(".soundcloud_info_container .green").href = sound.purchase_url; + document.querySelector(".soundcloud_info_container .red").href = sound.user.permalink_url; }); + if(_autoplay) { + player.play().then(function(){ + console.log(id); + Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); + Player.soundcloud_player.seek((seekTo) * 1000); + console.log('Playback started!'); + }).catch(function(e){ + console.error('Playback rejected. Try calling play() from a user interaction.', e); + }); + } }); soundcloud_loading = true; /*SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.FINISH, Player.soundcloudFinish); @@ -972,12 +976,6 @@ var Player = { //SC.Widget(Player.soundcloud_player); //SC.Widget(Player.soundcloud_player).bind(SC.Widget.Events.READY, Player.soundcloudReady); } else { - tagS = document.createElement('script'); - tagS.src = "https://w.soundcloud.com/player/api.js"; - firstScriptTag = document.getElementsByTagName('script')[0]; - firstScriptTag.parentNode.insertBefore(tagS, firstScriptTag); - tagS.setAttribute("async", true); - tagSearch = document.createElement('script'); tagSearch.setAttribute("async", true); diff --git a/server/public/assets/js/playercontrols.js b/server/public/assets/js/playercontrols.js index bc30570c..d1c477f6 100755 --- a/server/public/assets/js/playercontrols.js +++ b/server/public/assets/js/playercontrols.js @@ -193,13 +193,11 @@ var Playercontrols = { console.log("play pause here"); if(!chromecastAvailable){ if(videoSource == "soundcloud") { - SC.Widget(Player.soundcloud_player).isPaused(function(paused) { - if(paused) { - Player.playVideo(); - } else { - Player.pauseVideo(); - } - }); + if(!Player.soundcloud_player.isPlaying()) { + Player.playVideo(); + } else { + Player.pauseVideo(); + } } else { if(Player.player.getPlayerState() == YT.PlayerState.PLAYING) { @@ -278,7 +276,7 @@ var Playercontrols = { setVolume: function(vol) { Player.setVolume(vol); - SC.Widget(Player.soundcloud_player).setVolume(vol); + Player.soundcloud_player.setVolume(vol / 1000); Playercontrols.choose_button(vol, false); if(Player.player.isMuted()) Player.player.unMute(); @@ -362,18 +360,15 @@ var Playercontrols = { console.log("playpause", videoSource); if(videoSource == "soundcloud") { console.log("hello"); - SC.Widget(Player.soundcloud_player).isPaused(function(paused) { - console.log(paused); - if(paused) { - Helper.addClass("#play", "hide"); - Helper.removeClass("#pause", "hide"); - SC.Widget(Player.soundcloud_player).play(); - } else { - Helper.removeClass("#play", "hide"); - Helper.addClass("#pause", "hide"); - SC.Widget(Player.soundcloud_player).pause(); - } - }) + if(!Player.soundcloud_player.isPlaying()) { + Helper.addClass("#play", "hide"); + Helper.removeClass("#pause", "hide"); + Player.soundcloud_player.play(); + } else { + Helper.removeClass("#play", "hide"); + Helper.addClass("#pause", "hide"); + Player.soundcloud_player.pause(); + } } else { state = Player.player.getPlayerState(); button = document.getElementById("playpause"); diff --git a/server/public/layouts/client/embed.handlebars b/server/public/layouts/client/embed.handlebars index b1ef791d..2c780d92 100644 --- a/server/public/layouts/client/embed.handlebars +++ b/server/public/layouts/client/embed.handlebars @@ -11,11 +11,18 @@
-
-
- +
+ + + + Buy + Artist +
+
+
+ {{> spinner}} +
+