mirror of
				https://github.com/KevinMidboe/zoff.git
				synced 2025-10-29 18:00:23 +00:00 
			
		
		
		
	Fallback with iframed soundcloud player for rate-limit reached
- Messes up history of current tab, but it's better than not playing any music
This commit is contained in:
		| @@ -2,6 +2,7 @@ var gulp    = require('gulp'), | |||||||
| 	gutil   = require('gulp-util'), | 	gutil   = require('gulp-util'), | ||||||
| 	uglify  = require('gulp-uglify'), | 	uglify  = require('gulp-uglify'), | ||||||
|     //sourcemaps = require('gulp-sourcemaps'), |     //sourcemaps = require('gulp-sourcemaps'), | ||||||
|  |     gutil = require('gulp-util'), | ||||||
| 	concat  = require('gulp-concat'), | 	concat  = require('gulp-concat'), | ||||||
|     cssnano = require('gulp-cssnano'); |     cssnano = require('gulp-cssnano'); | ||||||
|  |  | ||||||
| @@ -38,7 +39,7 @@ gulp.task('js', function () { | |||||||
|             compress: true, |             compress: true, | ||||||
|         	enclose: true, |         	enclose: true, | ||||||
|         })) |         })) | ||||||
|  |         .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); }) | ||||||
|         //.pipe(sourcemaps.write('maps')) |         //.pipe(sourcemaps.write('maps')) | ||||||
|         .pipe(gulp.dest('server/public/assets/dist')); |         .pipe(gulp.dest('server/public/assets/dist')); | ||||||
| }); | }); | ||||||
| @@ -52,6 +53,7 @@ gulp.task('embed', function () { | |||||||
|             compress: true, |             compress: true, | ||||||
|             enclose: true |             enclose: true | ||||||
|         })) |         })) | ||||||
|  |         .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); }) | ||||||
|         //.pipe(sourcemaps.write('maps')) |         //.pipe(sourcemaps.write('maps')) | ||||||
|         .pipe(gulp.dest('server/public/assets/dist')); |         .pipe(gulp.dest('server/public/assets/dist')); | ||||||
| }); | }); | ||||||
| @@ -65,6 +67,7 @@ gulp.task('token', function() { | |||||||
|             compress: true, |             compress: true, | ||||||
|             enclose: true |             enclose: true | ||||||
|         })) |         })) | ||||||
|  |         .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); }) | ||||||
|  |  | ||||||
|         //.pipe(sourcemaps.write('maps')) |         //.pipe(sourcemaps.write('maps')) | ||||||
|         .pipe(gulp.dest('server/public/assets/dist')); |         .pipe(gulp.dest('server/public/assets/dist')); | ||||||
| @@ -79,6 +82,7 @@ gulp.task('callback', function () { | |||||||
|             compress: true, |             compress: true, | ||||||
|             enclose: true |             enclose: true | ||||||
|         })) |         })) | ||||||
|  |         .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); }) | ||||||
|  |  | ||||||
|         //.pipe(sourcemaps.write('maps')) |         //.pipe(sourcemaps.write('maps')) | ||||||
|         .pipe(gulp.dest('server/public/assets/dist')); |         .pipe(gulp.dest('server/public/assets/dist')); | ||||||
| @@ -97,6 +101,7 @@ gulp.task('remotecontroller', function () { | |||||||
|             compress: true, |             compress: true, | ||||||
|             enclose: true |             enclose: true | ||||||
|         })) |         })) | ||||||
|  |         .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); }) | ||||||
|  |  | ||||||
|         //.pipe(sourcemaps.write('maps')) |         //.pipe(sourcemaps.write('maps')) | ||||||
|         .pipe(gulp.dest('server/public/assets/dist')); |         .pipe(gulp.dest('server/public/assets/dist')); | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										54
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -2755,6 +2755,27 @@ | |||||||
|         "optimist": "^0.6.1", |         "optimist": "^0.6.1", | ||||||
|         "source-map": "^0.4.4", |         "source-map": "^0.4.4", | ||||||
|         "uglify-js": "^2.6" |         "uglify-js": "^2.6" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "uglify-js": { | ||||||
|  |           "version": "2.8.29", | ||||||
|  |           "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", | ||||||
|  |           "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", | ||||||
|  |           "optional": true, | ||||||
|  |           "requires": { | ||||||
|  |             "source-map": "~0.5.1", | ||||||
|  |             "uglify-to-browserify": "~1.0.0", | ||||||
|  |             "yargs": "~3.10.0" | ||||||
|  |           }, | ||||||
|  |           "dependencies": { | ||||||
|  |             "source-map": { | ||||||
|  |               "version": "0.5.7", | ||||||
|  |               "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||||||
|  |               "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||||||
|  |               "optional": true | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "har-schema": { |     "har-schema": { | ||||||
| @@ -4920,20 +4941,6 @@ | |||||||
|         "inherits": "~2.0.1", |         "inherits": "~2.0.1", | ||||||
|         "isarray": "0.0.1", |         "isarray": "0.0.1", | ||||||
|         "string_decoder": "~0.10.x" |         "string_decoder": "~0.10.x" | ||||||
|       }, |  | ||||||
|       "dependencies": { |  | ||||||
|         "core-util-is": { |  | ||||||
|           "version": "1.0.2", |  | ||||||
|           "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", |  | ||||||
|           "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", |  | ||||||
|           "dev": true |  | ||||||
|         }, |  | ||||||
|         "inherits": { |  | ||||||
|           "version": "2.0.3", |  | ||||||
|           "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", |  | ||||||
|           "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", |  | ||||||
|           "dev": true |  | ||||||
|         } |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "rechoir": { |     "rechoir": { | ||||||
| @@ -6057,25 +6064,6 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "uglify-js": { |  | ||||||
|       "version": "2.8.29", |  | ||||||
|       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", |  | ||||||
|       "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", |  | ||||||
|       "optional": true, |  | ||||||
|       "requires": { |  | ||||||
|         "source-map": "~0.5.1", |  | ||||||
|         "uglify-to-browserify": "~1.0.0", |  | ||||||
|         "yargs": "~3.10.0" |  | ||||||
|       }, |  | ||||||
|       "dependencies": { |  | ||||||
|         "source-map": { |  | ||||||
|           "version": "0.5.7", |  | ||||||
|           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", |  | ||||||
|           "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", |  | ||||||
|           "optional": true |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "uglify-to-browserify": { |     "uglify-to-browserify": { | ||||||
|       "version": "1.0.2", |       "version": "1.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", |       "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ | |||||||
|     "gulp-concat": "^2.6.1", |     "gulp-concat": "^2.6.1", | ||||||
|     "gulp-cssnano": "^2.1.3", |     "gulp-cssnano": "^2.1.3", | ||||||
|     "gulp-uglify": "^3.0.1", |     "gulp-uglify": "^3.0.1", | ||||||
|     "gulp-util": "~3.0.6" |     "gulp-util": "^3.0.8" | ||||||
|   }, |   }, | ||||||
|   "homepage": "https://github.com/zoff-music/zoff#readme", |   "homepage": "https://github.com/zoff-music/zoff#readme", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|   | |||||||
| @@ -197,7 +197,8 @@ var Channel = { | |||||||
|                         Player.player.setVolume(Crypt.get_volume()); |                         Player.player.setVolume(Crypt.get_volume()); | ||||||
|                     } catch(e){} |                     } catch(e){} | ||||||
|                     try { |                     try { | ||||||
|                         Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); |                         if(scUsingWidget) Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume()); | ||||||
|  |                         else Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); | ||||||
|                     } catch(e){} |                     } catch(e){} | ||||||
|                 } |                 } | ||||||
|                 Helper.removeClass(".video-container", "no-opacity"); |                 Helper.removeClass(".video-container", "no-opacity"); | ||||||
|   | |||||||
| @@ -35,6 +35,15 @@ function resizeFunction() { | |||||||
|             if(!client && !embed) { |             if(!client && !embed) { | ||||||
|                 var scPlaying = false; |                 var scPlaying = false; | ||||||
|                 var ytPlaying = false; |                 var ytPlaying = false; | ||||||
|  |                 if(scUsingWidget) { | ||||||
|  |                     Player.soundcloud_player.isPaused(function(paused) { | ||||||
|  |                         try { | ||||||
|  |                             ytPlaying = Player.player.getPlayerState() == YT.PlayerState.PLAYING || Player.player.getPlayerState() == YT.PlayerState.BUFFERING; | ||||||
|  |                         } catch(e) {} | ||||||
|  |                         scPlaying = !paused; | ||||||
|  |                         resizePlaylistPlaying(ytPlaying || scPlaying); | ||||||
|  |                     }) | ||||||
|  |                 } else { | ||||||
|                     try { |                     try { | ||||||
|                         ytPlaying = Player.player.getPlayerState() == YT.PlayerState.PLAYING || Player.player.getPlayerState() == YT.PlayerState.BUFFERING; |                         ytPlaying = Player.player.getPlayerState() == YT.PlayerState.PLAYING || Player.player.getPlayerState() == YT.PlayerState.BUFFERING; | ||||||
|                     } catch(e) {} |                     } catch(e) {} | ||||||
| @@ -42,6 +51,7 @@ function resizeFunction() { | |||||||
|                         scPlaying = Player.soundcloud_player.isPlaying(); |                         scPlaying = Player.soundcloud_player.isPlaying(); | ||||||
|                     } catch(e){} |                     } catch(e){} | ||||||
|                     resizePlaylistPlaying(ytPlaying || scPlaying); |                     resizePlaylistPlaying(ytPlaying || scPlaying); | ||||||
|  |                 } | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @@ -185,7 +195,8 @@ function hide_native(way) { | |||||||
|             Helper.setHtml("#chromecast_text", "Playing on<br>" + castSession.getCastDevice().friendlyName); |             Helper.setHtml("#chromecast_text", "Playing on<br>" + castSession.getCastDevice().friendlyName); | ||||||
|         } |         } | ||||||
|         Player.player.setVolume(100); |         Player.player.setVolume(100); | ||||||
|         Player.soundcloud_player.setVolume(1); |         if(scUsingWidget) Player.soundcloud_player.setVolume(100); | ||||||
|  |         else Player.soundcloud_player.setVolume(1); | ||||||
|  |  | ||||||
|         Helper.addClass("#player_overlay_text", "hide"); |         Helper.addClass("#player_overlay_text", "hide"); | ||||||
|     } else if(way == 0){ |     } else if(way == 0){ | ||||||
| @@ -214,7 +225,8 @@ function hide_native(way) { | |||||||
|         if(!Helper.mobilecheck()){ |         if(!Helper.mobilecheck()){ | ||||||
|             Player.player.setVolume(Crypt.get_volume()); |             Player.player.setVolume(Crypt.get_volume()); | ||||||
|             Playercontrols.visualVolume(Crypt.get_volume()); |             Playercontrols.visualVolume(Crypt.get_volume()); | ||||||
|             Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); |             if(scUsingWidget) Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume()); | ||||||
|  |             else Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); | ||||||
|         } |         } | ||||||
|         Helper.addClass("#player_overlay", "hide"); |         Helper.addClass("#player_overlay", "hide"); | ||||||
|         Helper.removeClass("#player_overlay_text", "hide"); |         Helper.removeClass("#player_overlay_text", "hide"); | ||||||
|   | |||||||
| @@ -40,7 +40,8 @@ var Hostcontroller = { | |||||||
|                 try { |                 try { | ||||||
|                     Playercontrols.visualVolume(arr.value); |                     Playercontrols.visualVolume(arr.value); | ||||||
|                     Player.setVolume(arr.value); |                     Player.setVolume(arr.value); | ||||||
|                     Player.soundcloud_player.setVolume(arr.value / 100); |                     if(scUsingWidget) Player.soundcloud_player.setVolume(arr.value); | ||||||
|  |                     else Player.soundcloud_player.setVolume(arr.value / 100); | ||||||
|                     try { |                     try { | ||||||
|                         localStorage.setItem("volume", arr.value); |                         localStorage.setItem("volume", arr.value); | ||||||
|                     } catch(e){} |                     } catch(e){} | ||||||
|   | |||||||
| @@ -12,6 +12,9 @@ try { | |||||||
| } catch(e) { | } catch(e) { | ||||||
|     _VERSION = 6; |     _VERSION = 6; | ||||||
| } | } | ||||||
|  | var SC_widget; | ||||||
|  | var scUsingWidget = false; | ||||||
|  | var SC_player; | ||||||
| var soundcloud_enabled = true; | var soundcloud_enabled = true; | ||||||
| var local_new_channel = false; | var local_new_channel = false; | ||||||
| var sc_need_initialization = false; | var sc_need_initialization = false; | ||||||
| @@ -257,25 +260,29 @@ window.addEventListener("DOMContentLoaded", function() { | |||||||
|                             tagSC.readyState == "complete"){ |                             tagSC.readyState == "complete"){ | ||||||
|                         tagSC.onreadystatechange = null; |                         tagSC.onreadystatechange = null; | ||||||
|                         if(sc_need_initialization) { |                         if(sc_need_initialization) { | ||||||
|                             Player.soundcloudReady(); |                             //Player.soundcloudReady(); | ||||||
|                         } else { |                         } else { | ||||||
|                             SC.initialize({ |                             SC_player = SC; | ||||||
|  |                             SC_player.initialize({ | ||||||
|                               client_id: api_key.soundcloud |                               client_id: api_key.soundcloud | ||||||
|                             }, function() { |                             }, function() { | ||||||
|                             }); |                             }); | ||||||
|                         } |                         } | ||||||
|  |                         Player.loadSoundCloudIframe(); | ||||||
|                     } |                     } | ||||||
|                 }; |                 }; | ||||||
|             } else {  //Others |             } else {  //Others | ||||||
|                 tagSC.onload = function(){ |                 tagSC.onload = function(){ | ||||||
|                     if(sc_need_initialization) { |                     if(sc_need_initialization) { | ||||||
|                         Player.soundcloudReady(); |                         //Player.soundcloudReady(); | ||||||
|                     } else { |                     } else { | ||||||
|                         SC.initialize({ |                         SC_player = SC; | ||||||
|  |                         SC_player.initialize({ | ||||||
|                           client_id: api_key.soundcloud |                           client_id: api_key.soundcloud | ||||||
|                         }, function() { |                         }, function() { | ||||||
|                         }); |                         }); | ||||||
|                     } |                     } | ||||||
|  |                     Player.loadSoundCloudIframe(); | ||||||
|                 }; |                 }; | ||||||
|             } |             } | ||||||
|             tagSC.src        = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; |             tagSC.src        = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; | ||||||
| @@ -283,7 +290,7 @@ window.addEventListener("DOMContentLoaded", function() { | |||||||
|             firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC); |             firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC); | ||||||
|         } |         } | ||||||
|     } else if(window.location.pathname == "/" && client) { |     } else if(window.location.pathname == "/" && client) { | ||||||
|         Player.loadSoundCloudPlayer(); |         //Player.loadSoundCloudPlayer(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if(Helper.mobilecheck()) { |     if(Helper.mobilecheck()) { | ||||||
| @@ -676,6 +683,7 @@ function addDynamicListeners() { | |||||||
|             Player.soundcloud_player.unbind("play", Player.soundcloudPlay); |             Player.soundcloud_player.unbind("play", Player.soundcloudPlay); | ||||||
|             Player.soundcloud_player.kill(); |             Player.soundcloud_player.kill(); | ||||||
|         } catch(error){} |         } catch(error){} | ||||||
|  |         if(scUsingWidget) document.querySelector("#sc_player").innerHTML = ""; | ||||||
|         socket.removeEventListener("np"); |         socket.removeEventListener("np"); | ||||||
|         socket.removeEventListener("id"); |         socket.removeEventListener("id"); | ||||||
|         socket.removeEventListener(id); |         socket.removeEventListener(id); | ||||||
| @@ -711,7 +719,9 @@ function addDynamicListeners() { | |||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     addListener("click", "#player_overlay", function(event) { |     addListener("click", "#player_overlay", function(event) { | ||||||
|         if(videoSource == "soundcloud") Playercontrols.play_pause(); |         if(videoSource == "soundcloud") { | ||||||
|  |             Playercontrols.play_pause(); | ||||||
|  |         } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     /* |     /* | ||||||
|   | |||||||
| @@ -7,6 +7,7 @@ var Player = { | |||||||
|     stopInterval: false, |     stopInterval: false, | ||||||
|     fireplace: "", |     fireplace: "", | ||||||
|     np: {}, |     np: {}, | ||||||
|  |     seeking: false, | ||||||
|     soundcloud_dead: false, |     soundcloud_dead: false, | ||||||
|     soundcloud_player: { |     soundcloud_player: { | ||||||
|         setVolume: function(val) {} |         setVolume: function(val) {} | ||||||
| @@ -301,7 +302,7 @@ var Player = { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         try { |         try { | ||||||
|             if(SC == null) return; |             if(SC_player == null) return; | ||||||
|         } catch(e) { |         } catch(e) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| @@ -314,7 +315,7 @@ var Player = { | |||||||
|         soundcloud_loading = false; |         soundcloud_loading = false; | ||||||
|         var _autoAdd = "false"; |         var _autoAdd = "false"; | ||||||
|         try { |         try { | ||||||
|             if(SC == null || !SC.stream) return; |             if(SC_player == null || !SC_player.stream) return; | ||||||
|         } catch(e) { |         } catch(e) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| @@ -324,14 +325,15 @@ var Player = { | |||||||
|                 _autoAdd = "true"; |                 _autoAdd = "true"; | ||||||
|                 Helper.removeClass("#player_loader_container", "hide"); |                 Helper.removeClass("#player_loader_container", "hide"); | ||||||
|             } |             } | ||||||
|             SC.stream("/tracks/" + id).then(function(player){ |  | ||||||
|  |             SC_player.stream("/tracks/" + id).then(function(player){ | ||||||
|                 Player.soundcloud_player = player; |                 Player.soundcloud_player = player; | ||||||
|                 Player.soundcloud_player.bind("finish", Player.soundcloudFinish); |                 Player.soundcloud_player.bind("finish", Player.soundcloudFinish); | ||||||
|                 Player.soundcloud_player.bind("pause", Player.soundcloudPause); |                 Player.soundcloud_player.bind("pause", Player.soundcloudPause); | ||||||
|                 Player.soundcloud_player.bind("play", Player.soundcloudPlay); |                 Player.soundcloud_player.bind("play", Player.soundcloudPlay); | ||||||
|                 window.player = player; |                 window.player = player; | ||||||
|                 Player.soundcloud_dead = false; |                 Player.soundcloud_dead = false; | ||||||
|                 SC.get('/tracks', { |                 SC_player.get('/tracks', { | ||||||
|                     ids: id |                     ids: id | ||||||
|                 }).then(function(tracks) { |                 }).then(function(tracks) { | ||||||
|                     var sound = tracks[0]; |                     var sound = tracks[0]; | ||||||
| @@ -342,18 +344,17 @@ var Player = { | |||||||
|                 }); |                 }); | ||||||
|                 if(_autoplay) { |                 if(_autoplay) { | ||||||
|                     player.play().then(function(){ |                     player.play().then(function(){ | ||||||
|  |                         scUsingWidget = false; | ||||||
|                         Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); |                         Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); | ||||||
|                         Player.soundcloud_player.seek((seekTo) * 1000); |                         Player.soundcloud_player.seek((seekTo) * 1000); | ||||||
|                     }).catch(function(e){ |                     }).catch(function(e){ | ||||||
|                     }); |                     }); | ||||||
|                 } |                 } | ||||||
|             }).catch(function(error) { |             }).catch(function(error) { | ||||||
|                 curr_playing = id; |                 Player.initializeSCWidget(_autoplay, id); | ||||||
|                 emit("skip", {error: 5, id: id, channel: chan.toLowerCase()}); |  | ||||||
|                 setTimeout(function() { |  | ||||||
|                     toast("Seems the SoundCloud-API rate-limit has been reached..", "red lighten"); |  | ||||||
|                 }, 1000); |  | ||||||
|             }); |             }); | ||||||
|  |             //Player.initializeSCWidget(_autoplay, id); | ||||||
|  |             //Player.initializeSCWidget(_autoplay, id); | ||||||
|         } else { |         } else { | ||||||
|             try { |             try { | ||||||
|                 Player.soundcloud_player.seek(seekTo * 1000); |                 Player.soundcloud_player.seek(seekTo * 1000); | ||||||
| @@ -382,6 +383,46 @@ var Player = { | |||||||
|         Helper.addClass("#player_overlay_text", "hide"); |         Helper.addClass("#player_overlay_text", "hide"); | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  |     initializeSCWidget: function(_autoplay, id) { | ||||||
|  |         try { | ||||||
|  |             Player.soundcloud_player.unbind("finish", Player.soundcloudFinish); | ||||||
|  |             Player.soundcloud_player.unbind("pause", Player.soundcloudPause); | ||||||
|  |             Player.soundcloud_player.unbind("play", Player.soundcloudPlay); | ||||||
|  |             //Player.soundcloud_player.unbind("seek", Player.soundcloudSeek); | ||||||
|  |         }catch(e){} | ||||||
|  |         var this_autoplay = ""; | ||||||
|  |         scUsingWidget = true; | ||||||
|  |         if(_autoplay) this_autoplay = "?auto_play=true"; | ||||||
|  |         if(document.querySelectorAll("#scplayerElement").length == 0) { | ||||||
|  |             var single = "single_active=false"; | ||||||
|  |             if(_autoplay) single = "&"+single; | ||||||
|  |             else single = "?"+single; | ||||||
|  |             document.querySelector("#sc_player").innerHTML = '<iframe id="scplayerElement" style="opacity:0;" width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay;" \ | ||||||
|  |               src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/' + id + this_autoplay + '"> \ | ||||||
|  |             </iframe>'; | ||||||
|  |             Player.addSCWidgetElements(); | ||||||
|  |         } else { | ||||||
|  |             Player.soundcloud_player.bind("finish", Player.soundcloudFinish); | ||||||
|  |             Player.soundcloud_player.bind("pause", Player.soundcloudPause); | ||||||
|  |             Player.soundcloud_player.bind("play", Player.soundcloudPlay); | ||||||
|  |             Player.soundcloud_player.load('https://api.soundcloud.com/tracks/' + id + this_autoplay, {single_active: false}); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     addSCWidgetElements: function() { | ||||||
|  |         try { | ||||||
|  |             Player.soundcloud_player = SC_widget.Widget(document.querySelector("#scplayerElement")); | ||||||
|  |             Player.soundcloud_player.seek = Player.soundcloud_player.seekTo; | ||||||
|  |             Player.soundcloud_player.bind("finish", Player.soundcloudFinish); | ||||||
|  |             Player.soundcloud_player.bind("pause", Player.soundcloudPause); | ||||||
|  |             Player.soundcloud_player.bind("play", Player.soundcloudPlay); | ||||||
|  |         } catch(e) { | ||||||
|  |             setTimeout(function() { | ||||||
|  |                 Player.addSCWidgetElements(); | ||||||
|  |             }, 500); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     loadVideoById: function(id, this_duration, start, end){ |     loadVideoById: function(id, this_duration, start, end){ | ||||||
|         if(id == undefined) return; |         if(id == undefined) return; | ||||||
|         var s; |         var s; | ||||||
| @@ -504,7 +545,8 @@ var Player = { | |||||||
|             castSession.setVolume(vol/100); |             castSession.setVolume(vol/100); | ||||||
|         } else { |         } else { | ||||||
|             Player.player.setVolume(vol); |             Player.player.setVolume(vol); | ||||||
|             Player.soundcloud_player.setVolume(vol / 100); |             if(scUsingWidget) Player.soundcloud_player.setVolume(vol); | ||||||
|  |             else Player.soundcloud_player.setVolume(vol / 100); | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
| @@ -661,9 +703,19 @@ var Player = { | |||||||
|             playing = false; |             playing = false; | ||||||
|             end_programmatically = false; |             end_programmatically = false; | ||||||
|         } else { |         } else { | ||||||
|             was_stopped = true; |             if(!scUsingWidget) was_stopped = true; | ||||||
|             if(!embed && !client && window.location.pathname != "/") { |             if(!embed && !client && window.location.pathname != "/") { | ||||||
|                 var scPlaying = false; |                 var scPlaying = false; | ||||||
|  |                 if(scUsingWidget) { | ||||||
|  |                     Player.soundcloud_player.isPaused(function(paused) { | ||||||
|  |                         scPlaying = !paused; | ||||||
|  |                         try { | ||||||
|  |                             resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); | ||||||
|  |                         } catch(e) { | ||||||
|  |                             resizePlaylistPlaying(scPlaying); | ||||||
|  |                         } | ||||||
|  |                     }); | ||||||
|  |                 } else { | ||||||
|                     try { |                     try { | ||||||
|                         scPlaying = Player.soundcloud_player.isPlaying(); |                         scPlaying = Player.soundcloud_player.isPlaying(); | ||||||
|                     } catch(e){} |                     } catch(e){} | ||||||
| @@ -673,6 +725,7 @@ var Player = { | |||||||
|                         resizePlaylistPlaying(scPlaying); |                         resizePlaylistPlaying(scPlaying); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|  |             } | ||||||
|             if(!chromecastAvailable){ |             if(!chromecastAvailable){ | ||||||
|                 if(Helper.mobilecheck()) { |                 if(Helper.mobilecheck()) { | ||||||
|                     Helper.css("#playpause", "visibility", "visible"); |                     Helper.css("#playpause", "visibility", "visible"); | ||||||
| @@ -697,10 +750,20 @@ var Player = { | |||||||
|         if(videoSource == "youtube") { |         if(videoSource == "youtube") { | ||||||
|             Player.soundcloud_player.pause(); |             Player.soundcloud_player.pause(); | ||||||
|         } else if(soundcloud_loading){ |         } else if(soundcloud_loading){ | ||||||
|  |             if(scUsingWidget) { | ||||||
|  |                 Player.soundcloud_player.getPosition(function(pos) { | ||||||
|  |                     Player.seeking = true; | ||||||
|  |                     Player.soundcloud_player.seek((seekTo) * 1000); | ||||||
|  |                     Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume()); | ||||||
|  |                     soundcloud_loading = false; | ||||||
|  |                 }) | ||||||
|  |             } else { | ||||||
|  |                 Player.seeking = true; | ||||||
|                 Player.soundcloud_player.seek((seekTo) * 1000); |                 Player.soundcloud_player.seek((seekTo) * 1000); | ||||||
|                 Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); |                 Player.soundcloud_player.setVolume(embed ? 1 : Crypt.get_volume() / 100); | ||||||
|                 soundcloud_loading = false; |                 soundcloud_loading = false; | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|         if(embed) { |         if(embed) { | ||||||
|             Helper.css("#player", "visibility", "visible"); |             Helper.css("#player", "visibility", "visible"); | ||||||
|         } |         } | ||||||
| @@ -714,11 +777,18 @@ var Player = { | |||||||
|         } |         } | ||||||
|         if(!embed && !client && window.location.pathname != "/") { |         if(!embed && !client && window.location.pathname != "/") { | ||||||
|             var scPlaying = false; |             var scPlaying = false; | ||||||
|  |             if(scUsingWidget) { | ||||||
|  |                 Player.soundcloud_player.isPaused(function(paused) { | ||||||
|  |                     scPlaying = !paused; | ||||||
|  |                     resizePlaylistPlaying(scPlaying); | ||||||
|  |                 }); | ||||||
|  |             } else { | ||||||
|                 try { |                 try { | ||||||
|                     scPlaying = Player.soundcloud_player.isPlaying(); |                     scPlaying = Player.soundcloud_player.isPlaying(); | ||||||
|                 } catch(e){} |                 } catch(e){} | ||||||
|                 resizePlaylistPlaying(scPlaying); |                 resizePlaylistPlaying(scPlaying); | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         Helper.css("#playpause", "visibility", "visible"); |         Helper.css("#playpause", "visibility", "visible"); | ||||||
|         Helper.css("#playpause", "pointer-events", "all"); |         Helper.css("#playpause", "pointer-events", "all"); | ||||||
| @@ -739,6 +809,7 @@ var Player = { | |||||||
|             if(u == undefined) u = "";*/ |             if(u == undefined) u = "";*/ | ||||||
|             paused = false; |             paused = false; | ||||||
|             was_stopped = false; |             was_stopped = false; | ||||||
|  |  | ||||||
|             socket.emit('pos', {channel: chan.toLowerCase()}); |             socket.emit('pos', {channel: chan.toLowerCase()}); | ||||||
|         } else { |         } else { | ||||||
|             paused = false; |             paused = false; | ||||||
| @@ -748,13 +819,13 @@ var Player = { | |||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     soundcloudReady: function() { |     soundcloudReady: function() { | ||||||
|         if(SC == undefined && sc_need_initialization) { |         if(SC_player == undefined && sc_need_initialization) { | ||||||
|             sc_need_initialization = true; |             sc_need_initialization = true; | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         sc_need_initialization = false; |         sc_need_initialization = false; | ||||||
|         try { |         try { | ||||||
|             SC.initialize({ |             SC_player.initialize({ | ||||||
|               client_id: api_key.soundcloud |               client_id: api_key.soundcloud | ||||||
|             }, function() { |             }, function() { | ||||||
|             }); |             }); | ||||||
| @@ -942,7 +1013,13 @@ var Player = { | |||||||
|                 dMinutes = Math.floor(duration / 60); |                 dMinutes = Math.floor(duration / 60); | ||||||
|                 dSeconds = duration - dMinutes * 60; |                 dSeconds = duration - dMinutes * 60; | ||||||
|                 if(videoSource == "soundcloud") { |                 if(videoSource == "soundcloud") { | ||||||
|  |                     if(scUsingWidget) { | ||||||
|  |                         Player.soundcloud_player.getPosition(function(pos) { | ||||||
|  |                             currDurr = Math.floor(pos) / 1000; | ||||||
|  |                         }); | ||||||
|  |                     } else { | ||||||
|                         currDurr = Math.floor(Player.soundcloud_player.currentTime()) / 1000; |                         currDurr = Math.floor(Player.soundcloud_player.currentTime()) / 1000; | ||||||
|  |                     } | ||||||
|                 } else { |                 } else { | ||||||
|                     currDurr = Player.player.getCurrentTime() !== undefined ? Math.floor(Player.player.getCurrentTime()) : seekTo; |                     currDurr = Player.player.getCurrentTime() !== undefined ? Math.floor(Player.player.getCurrentTime()) : seekTo; | ||||||
|                 } |                 } | ||||||
| @@ -974,6 +1051,21 @@ var Player = { | |||||||
|                     document.getElementById("bar").style.width = per+"%"; |                     document.getElementById("bar").style.width = per+"%"; | ||||||
|                 } |                 } | ||||||
|                 if(videoSource == "soundcloud") { |                 if(videoSource == "soundcloud") { | ||||||
|  |                     if(scUsingWidget) { | ||||||
|  |                         Player.soundcloud_player.isPaused(function(playing) { | ||||||
|  |                             playing = !playing; | ||||||
|  |                             if(Math.ceil(currDurr) + 1 > Player.np.end && playing) { | ||||||
|  |                                 end_programmatically = true; | ||||||
|  |                                 if(!offline) { | ||||||
|  |                                     Player.soundcloud_player.pause(); | ||||||
|  |                                     was_stopped = false; | ||||||
|  |                                     socket.emit("end", {id: video_id, channel: chan.toLowerCase()}); | ||||||
|  |                                 } else { | ||||||
|  |                                     Player.playNext(); | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                         }) | ||||||
|  |                     } else { | ||||||
|                         if(Math.ceil(currDurr) + 1 > Player.np.end && Player.soundcloud_player.isPlaying()) { |                         if(Math.ceil(currDurr) + 1 > Player.np.end && Player.soundcloud_player.isPlaying()) { | ||||||
|                             end_programmatically = true; |                             end_programmatically = true; | ||||||
|                             if(!offline) { |                             if(!offline) { | ||||||
| @@ -984,6 +1076,7 @@ var Player = { | |||||||
|                                 Player.playNext(); |                                 Player.playNext(); | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|  |                     } | ||||||
|                 } else { |                 } else { | ||||||
|                     if(Math.ceil(Player.player.getCurrentTime()) >= Player.np.end && (Player.player.getPlayerState() == YT.PlayerState.PLAYING)) { |                     if(Math.ceil(Player.player.getCurrentTime()) >= Player.np.end && (Player.player.getPlayerState() == YT.PlayerState.PLAYING)) { | ||||||
|                         end_programmatically = true; |                         end_programmatically = true; | ||||||
| @@ -1030,7 +1123,7 @@ var Player = { | |||||||
|     loadSoundCloudPlayer: function() { |     loadSoundCloudPlayer: function() { | ||||||
|         if(document.querySelectorAll("script[src='https://connect.soundcloud.com/sdk/sdk-3.3.0.js']").length == 1) { |         if(document.querySelectorAll("script[src='https://connect.soundcloud.com/sdk/sdk-3.3.0.js']").length == 1) { | ||||||
|             try { |             try { | ||||||
|                 Player.soundcloudReady(); |                 //Player.soundcloudReady(); | ||||||
|             } catch(error) { |             } catch(error) { | ||||||
|                 sc_need_initialization = true; |                 sc_need_initialization = true; | ||||||
|                 //console.error(error); |                 //console.error(error); | ||||||
| @@ -1043,18 +1136,54 @@ var Player = { | |||||||
|                     if (tagSC.readyState == "loaded" || |                     if (tagSC.readyState == "loaded" || | ||||||
|                             tagSC.readyState == "complete"){ |                             tagSC.readyState == "complete"){ | ||||||
|                         tagSC.onreadystatechange = null; |                         tagSC.onreadystatechange = null; | ||||||
|                         Player.soundcloudReady(); |                         SC_player = SC; | ||||||
|  |                         //Player.soundcloudReady(); | ||||||
|  |                         Player.loadSoundCloudIframe(); | ||||||
|                     } |                     } | ||||||
|                 }; |                 }; | ||||||
|             } else {  //Others |             } else {  //Others | ||||||
|                 tagSC.onload = function(){ |                 tagSC.onload = function(){ | ||||||
|                     Player.soundcloudReady(); |                     SC_player = SC; | ||||||
|  |                     //Player.soundcloudReady(); | ||||||
|  |                     Player.loadSoundCloudIframe(); | ||||||
|                 }; |                 }; | ||||||
|             } |             } | ||||||
|             tagSC.src        = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; |             tagSC.src        = "https://connect.soundcloud.com/sdk/sdk-3.3.0.js"; | ||||||
|             firstScriptTagSC = document.getElementsByTagName('script')[0]; |             firstScriptTagSC = document.getElementsByTagName('script')[0]; | ||||||
|             firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC); |             firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC); | ||||||
|         } |         } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     loadSoundCloudIframe: function() { | ||||||
|  |         if(document.querySelectorAll("script[src='/assets/sclib/scapi.js']").length == 1) { | ||||||
|  |             try { | ||||||
|  |                 Player.soundcloudReady(); | ||||||
|  |             } catch(error) { | ||||||
|  |                 //sc_need_initialization = true; | ||||||
|  |                 //console.error(error); | ||||||
|  |                 //console.error("Seems SoundCloud script isn't correctly loaded. Please reload the page."); | ||||||
|  |             } | ||||||
|  |         } else { | ||||||
|  |             tagSC            = document.createElement('script'); | ||||||
|  |             if (tagSC.readyState){  //IE | ||||||
|  |                 tagSC.onreadystatechange = function(){ | ||||||
|  |                     if (tagSC.readyState == "loaded" || | ||||||
|  |                             tagSC.readyState == "complete"){ | ||||||
|  |                         tagSC.onreadystatechange = null; | ||||||
|  |                         SC_widget = SC; | ||||||
|  |                         Player.soundcloudReady(); | ||||||
|  |                     } | ||||||
|  |                 }; | ||||||
|  |             } else {  //Others | ||||||
|  |                 tagSC.onload = function(){ | ||||||
|  |                     SC_widget = SC; | ||||||
|  |                     Player.soundcloudReady(); | ||||||
|  |                 }; | ||||||
|  |             } | ||||||
|  |             tagSC.src        = "/assets/sclib/scapi.js"; | ||||||
|  |             firstScriptTagSC = document.getElementsByTagName('script')[0]; | ||||||
|  |             firstScriptTagSC.parentNode.insertBefore(tagSC, firstScriptTagSC); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -191,11 +191,23 @@ var Playercontrols = { | |||||||
|     play_pause: function() { |     play_pause: function() { | ||||||
|         if(!chromecastAvailable){ |         if(!chromecastAvailable){ | ||||||
|             if(videoSource == "soundcloud") { |             if(videoSource == "soundcloud") { | ||||||
|  |                 if(scUsingWidget) { | ||||||
|  |                     Player.soundcloud_player.isPaused(function(playing) { | ||||||
|  |                         playing = !playing; | ||||||
|  |                         if(!playing) { | ||||||
|  |                             Player.playVideo(); | ||||||
|  |                         } else { | ||||||
|  |                             Player.pauseVideo(); | ||||||
|  |                         } | ||||||
|  |                         was_stopped = true; | ||||||
|  |                     }); | ||||||
|  |                 } else { | ||||||
|                     if(!Player.soundcloud_player.isPlaying()) { |                     if(!Player.soundcloud_player.isPlaying()) { | ||||||
|                         Player.playVideo(); |                         Player.playVideo(); | ||||||
|                     } else { |                     } else { | ||||||
|                         Player.pauseVideo(); |                         Player.pauseVideo(); | ||||||
|                     } |                     } | ||||||
|  |                 } | ||||||
|             } else { |             } else { | ||||||
|                 if(Player.player.getPlayerState() == YT.PlayerState.PLAYING) |                 if(Player.player.getPlayerState() == YT.PlayerState.PLAYING) | ||||||
|                 { |                 { | ||||||
| @@ -273,7 +285,8 @@ var Playercontrols = { | |||||||
|  |  | ||||||
|     setVolume: function(vol) { |     setVolume: function(vol) { | ||||||
|         Player.setVolume(vol); |         Player.setVolume(vol); | ||||||
|         Player.soundcloud_player.setVolume(vol / 100); |         if(scUsingWidget) Player.soundcloud_player.setVolume(vol); | ||||||
|  |         else Player.soundcloud_player.setVolume(vol / 100); | ||||||
|         Playercontrols.choose_button(vol, false); |         Playercontrols.choose_button(vol, false); | ||||||
|         if(Player.player.isMuted()) |         if(Player.player.isMuted()) | ||||||
|         Player.player.unMute(); |         Player.player.unMute(); | ||||||
| @@ -355,6 +368,20 @@ var Playercontrols = { | |||||||
|  |  | ||||||
|     playPause: function() { |     playPause: function() { | ||||||
|         if(videoSource == "soundcloud") { |         if(videoSource == "soundcloud") { | ||||||
|  |             if(scUsingWidget) { | ||||||
|  |                 Player.soundcloud_player.isPaused(function(playing) { | ||||||
|  |                     playing = !playing; | ||||||
|  |                     if(!playing) { | ||||||
|  |                         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 { | ||||||
|                 if(!Player.soundcloud_player.isPlaying()) { |                 if(!Player.soundcloud_player.isPlaying()) { | ||||||
|                     Helper.addClass("#play", "hide"); |                     Helper.addClass("#play", "hide"); | ||||||
|                     Helper.removeClass("#pause", "hide"); |                     Helper.removeClass("#pause", "hide"); | ||||||
| @@ -364,6 +391,7 @@ var Playercontrols = { | |||||||
|                     Helper.addClass("#pause", "hide"); |                     Helper.addClass("#pause", "hide"); | ||||||
|                     Player.soundcloud_player.pause(); |                     Player.soundcloud_player.pause(); | ||||||
|                 } |                 } | ||||||
|  |             } | ||||||
|         } else { |         } else { | ||||||
|             state = Player.player.getPlayerState(); |             state = Player.player.getPlayerState(); | ||||||
|             button = document.getElementById("playpause"); |             button = document.getElementById("playpause"); | ||||||
|   | |||||||
| @@ -202,7 +202,7 @@ var Search = { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if(keyword.length == 0) return; |         if(keyword.length == 0) return; | ||||||
|         SC.get('/tracks', { |         SC_player.get('/tracks', { | ||||||
|             q: keyword |             q: keyword | ||||||
|         }).then(function(tracks) { |         }).then(function(tracks) { | ||||||
|             var pre_result = document.createElement("div"); |             var pre_result = document.createElement("div"); | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								server/public/assets/sclib/scapi.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								server/public/assets/sclib/scapi.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | var SC=SC||{};SC.Widget=function(n){function t(r){if(e[r])return e[r].exports;var o=e[r]={exports:{},id:r,loaded:!1};return n[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var e={};return t.m=n,t.c=e,t.p="",t(0)}([function(n,t,e){function r(n){return!!(""===n||n&&n.charCodeAt&&n.substr)}function o(n){return!!(n&&n.constructor&&n.call&&n.apply)}function i(n){return!(!n||1!==n.nodeType||"IFRAME"!==n.nodeName.toUpperCase())}function a(n){var t,e=!1;for(t in b)if(b.hasOwnProperty(t)&&b[t]===n){e=!0;break}return e}function s(n){var t,e,r;for(t=0,e=I.length;t<e&&(r=n(I[t]),r!==!1);t++);}function u(n){var t,e,r,o="";for("//"===n.substr(0,2)&&(n=window.location.protocol+n),r=n.split("/"),t=0,e=r.length;t<e&&t<3;t++)o+=r[t],t<2&&(o+="/");return o}function c(n){return n.contentWindow?n.contentWindow:n.contentDocument&&"parentWindow"in n.contentDocument?n.contentDocument.parentWindow:null}function l(n){var t,e=[];for(t in n)n.hasOwnProperty(t)&&e.push(n[t]);return e}function d(n,t,e){e.callbacks[n]=e.callbacks[n]||[],e.callbacks[n].push(t)}function E(n,t){var e,r=!0;return t.callbacks[n]=[],s(function(t){if(e=t.callbacks[n]||[],e.length)return r=!1,!1}),r}function f(n,t,e){var r,o,i=c(e);return!!i.postMessage&&(r=e.getAttribute("src").split("?")[0],o=JSON.stringify({method:n,value:t}),"//"===r.substr(0,2)&&(r=window.location.protocol+r),r=r.replace(/http:\/\/(w|wt).soundcloud.com/,"https://$1.soundcloud.com"),void i.postMessage(o,r))}function p(n){var t;return s(function(e){if(e.instance===n)return t=e,!1}),t}function h(n){var t;return s(function(e){if(c(e.element)===n)return t=e,!1}),t}function v(n,t){return function(e){var r=o(e),i=p(this),a=!r&&t?e:null,s=r&&!t?e:null;return s&&d(n,s,i),f(n,a,i.element),this}}function S(n,t,e){var r,o,i;for(r=0,o=t.length;r<o;r++)i=t[r],n[i]=v(i,e)}function R(n,t,e){return n+"?url="+t+"&"+g(e)}function g(n){var t,e,r=[];for(t in n)n.hasOwnProperty(t)&&(e=n[t],r.push(t+"="+("start_track"===t?parseInt(e,10):e?"true":"false")));return r.join("&")}function m(n,t,e){var r,o,i=n.callbacks[t]||[];for(r=0,o=i.length;r<o;r++)i[r].apply(n.instance,e);(a(t)||t===L.READY)&&(n.callbacks[t]=[])}function z(n){var t,e,r,o,i;try{e=JSON.parse(n.data);if(!e.hasOwnProperty("method"))return!1}catch(a){return!1}return t=h(n.source),r=e.method,o=e.value,(!t||A(n.origin)===A(t.domain))&&(t?(r===L.READY&&(t.isReady=!0,m(t,C),E(C,t)),r!==L.PLAY||t.playEventFired||(t.playEventFired=!0),r!==L.PLAY_PROGRESS||t.playEventFired||(t.playEventFired=!0,m(t,L.PLAY,[o])),i=[],void 0!==o&&i.push(o),void m(t,r,i)):(r===L.READY&&T.push(n.source),!1))}function A(n){return n.replace(Y,"")}var _,y,O,D=e(1),b=e(2),P=e(3),L=D.api,N=D.bridge,T=[],I=[],C="__LATE_BINDING__",k="http://wt.soundcloud.test:9200/",Y=/^http(?:s?)/;window.addEventListener?window.addEventListener("message",z,!1):window.attachEvent("onmessage",w),n.exports=O=function(n,t,e){if(r(n)&&(n=document.getElementById(n)),!i(n))throw new Error("SC.Widget function should be given either iframe element or a string specifying id attribute of iframe element.");t&&(e=e||{},n.src=R(k,t,e));var o,a,s=h(c(n));return s&&s.instance?s.instance:(o=T.indexOf(c(n))>-1,a=new _(n),I.push(new y(a,n,o)),a)},O.Events=L,window.SC=window.SC||{},window.SC.Widget=O,y=function(n,t,e){this.instance=n,this.element=t,this.domain=u(t.getAttribute("src")),this.isReady=!!e,this.callbacks={}},_=function(){},_.prototype={constructor:_,load:function(n,t){if(n){t=t||{};var e=this,r=p(this),o=r.element,i=o.src,a=i.substr(0,i.indexOf("?"));r.isReady=!1,r.playEventFired=!1,o.onload=function(){e.bind(L.READY,function(){var n,e=r.callbacks;for(n in e)e.hasOwnProperty(n)&&n!==L.READY&&f(N.ADD_LISTENER,n,r.element);t.callback&&t.callback()})},o.src=R(a,n,t)}},bind:function(n,t){var e=this,r=p(this);return r&&r.element&&(n===L.READY&&r.isReady?setTimeout(t,1):r.isReady?(d(n,t,r),f(N.ADD_LISTENER,n,r.element)):d(C,function(){e.bind(n,t)},r)),this},unbind:function(n){var t,e=p(this);e&&e.element&&(t=E(n,e),n!==L.READY&&t&&f(N.REMOVE_LISTENER,n,e.element))}},S(_.prototype,l(b)),S(_.prototype,l(P),!0)},function(n,t){t.api={LOAD_PROGRESS:"loadProgress",PLAY_PROGRESS:"playProgress",PLAY:"play",PAUSE:"pause",FINISH:"finish",SEEK:"seek",READY:"ready",OPEN_SHARE_PANEL:"sharePanelOpened",CLICK_DOWNLOAD:"downloadClicked",CLICK_BUY:"buyClicked",ERROR:"error"},t.bridge={REMOVE_LISTENER:"removeEventListener",ADD_LISTENER:"addEventListener"}},function(n,t){n.exports={GET_VOLUME:"getVolume",GET_DURATION:"getDuration",GET_POSITION:"getPosition",GET_SOUNDS:"getSounds",GET_CURRENT_SOUND:"getCurrentSound",GET_CURRENT_SOUND_INDEX:"getCurrentSoundIndex",IS_PAUSED:"isPaused"}},function(n,t){n.exports={PLAY:"play",PAUSE:"pause",TOGGLE:"toggle",SEEK_TO:"seekTo",SET_VOLUME:"setVolume",NEXT:"next",PREV:"prev",SKIP:"skip"}}]); | ||||||
| @@ -4,7 +4,7 @@ | |||||||
|         <div id="fireplace_player" class="ytplayer"></div> |         <div id="fireplace_player" class="ytplayer"></div> | ||||||
|     {{/unless}} |     {{/unless}} | ||||||
|     <div id="player" class="ytplayer"></div> |     <div id="player" class="ytplayer"></div> | ||||||
|  |     <div id="sc_player" class="scplayer"></div> | ||||||
|     <div id="main_components"> |     <div id="main_components"> | ||||||
|         <div id="player_overlay" class="hide valign-wrapper"> |         <div id="player_overlay" class="hide valign-wrapper"> | ||||||
|             <div id="playing_on"> |             <div id="playing_on"> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user