summaryrefslogtreecommitdiff
path: root/frontend/static/js/audio.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/static/js/audio.js')
-rw-r--r--frontend/static/js/audio.js142
1 files changed, 142 insertions, 0 deletions
diff --git a/frontend/static/js/audio.js b/frontend/static/js/audio.js
new file mode 100644
index 0000000..de33851
--- /dev/null
+++ b/frontend/static/js/audio.js
@@ -0,0 +1,142 @@
+var Audio =
+ {
+ type: "audio",
+ loaded: false,
+ pending: false,
+ playing: false,
+ paused: false,
+ player: null,
+ playerId: null,
+ timeout: null,
+ video: null,
+ width: "100%",
+ height: "100%",
+ volume: 100,
+ play: function (video)
+ {
+ d.warn("AUDIO PLAY "+video.key)
+ if (video.error)
+ return Audio.error()
+ if (Audio.playing)
+ Audio.stop()
+ $("#screen").html("<div id='audio'></div><div id='audio-img'></div><div id='audio-dl'></div>")
+ $("#ytscreen").css("z-index", -2)
+ Audio.video = video
+ Audio.playing = false
+
+ var partz = video.src.split(" ")
+ var img = partz[0]
+ var url = partz[1]
+ var title = partz.slice(2).join(" ")
+
+ if (Audio.player)
+ {
+ Audio.player.stop()
+ Audio.player.destruct()
+ }
+ Audio.player = soundManager.createSound
+ ({
+ id: "player-"+video.id,
+ url: url,
+ volume: Audio.volume,
+ onfinish: Audio.finish,
+ onerror: Audio.error,
+ onload: Audio.onload,
+ })
+ if (! Audio.player)
+ return Audio.error("no player")
+ Audio.player.play()
+
+ $("#video-title").html(title)
+ $("#video-link").attr("href", url)
+ $("#audio-dl").html('<a href="'+url+'" target="_parent">download</a>')
+ $("#audio-img").html("<img src='"+img+"' id='audio-art' />")
+ $("#audio-art").bind("error", function(){$("#audio-art").hide()})
+ },
+ onload: function (success)
+ {
+ if (! success)
+ return Audio.error("failed to load")
+ },
+ toggle: function ()
+ {
+ d.warn("TOGGLE PLAYBACK")
+ if (Audio.paused)
+ return Audio.resume()
+ else
+ return Audio.pause()
+ },
+ error: function (s)
+ {
+ if (! s)
+ s = "unspecified error"
+ Player.error("AUDIO "+s)
+ Audio.finish()
+ },
+ setVolume: function (vol)
+ {
+ Audio.volume = vol
+ if (Audio.player)
+ Audio.player.setVolume(vol)
+ },
+ pause: function ()
+ {
+ d.warn("PAUSED PLAYBACK")
+ Audio.paused = true
+ Audio.playing = false
+ if (Audio.player)
+ Audio.player.pause()
+ return true
+ },
+ resume: function ()
+ {
+ d.warn("RESUME PLAYBACK")
+ Audio.paused = false
+ Audio.playing = true
+ if (Audio.player)
+ Audio.player.resume()
+ return false
+ },
+ stop: function ()
+ {
+ d.warn("AUDIO STOP")
+ if (Audio.player)
+ Audio.player.stop()
+ Audio.playing = false
+ },
+ finish: function ()
+ {
+ d.warn("AUDIO FINISH")
+ Audio.playing = false
+ if (Audio.player)
+ {
+ Audio.player.stop()
+ Audio.player.destruct()
+ }
+ Player.finish()
+ },
+ load: function ()
+ {
+ d.warn("LOADING AUDIO")
+ Audio.loaded = true
+ },
+ unload: function ()
+ {
+ d.warn("AUDIO UNLOADED")
+ if (Audio.player)
+ {
+ Audio.player.stop()
+ Audio.player.destruct()
+ }
+ Audio.loaded = false
+ Audio.playing = false
+ },
+ init: function ()
+ {
+ d.warn("AUDIO INIT")
+ }
+ }
+Player.register(Audio)
+soundManager.url = '/swf/'
+soundManager.useFlashBlock = false
+soundManager.debugMode = false