var Soundcloud = { type: "soundcloud", loaded: false, pending: false, playing: false, player: null, playerId: null, timeout: null, video: null, width: "100%", height: "100%", volume: 100, play: function (video) { d.warn("SOUNDCLOUD PLAY "+video.key) if (video.error) return Soundcloud.error() if (Soundcloud.playing) Soundcloud.stop() $("#screen").html("
") Soundcloud.video = video Soundcloud.playing = false if (Soundcloud.player) { Soundcloud.player = null // swfobject.removeSWF("soundcloud") } // var flashvars = { enable_api: true, object_id: "soundcloud", url: video.src, theme_color: "#657b83", } // var attributes = { id: "soundcloud", name: "soundcloud" } // var params = { allowscriptaccess: "always", wmode: "opaque", } // // swfobject.embedSWF("http://player.soundcloud.com/player.swf", "soundcloud", "81", "81", "9.0.0", // "expressInstall.swf", flashvars, params, attributes, Soundcloud.playerDidLoad); }, playerDidLoad: function (e) { if (e.success === false) return Soundcloud.error("failed to load") d.warn("LOADED") // Soundcloud.player = swfobject.getObjectById('soundcloud') $("#ytscreen").css("z-index", -2) // instead of raising events, the soundcloud swf calls it's js api directly window.soundcloud = { onPlayerReady: Soundcloud.ready, onMediaEnd: Soundcloud.finish } }, ready: function () { d.warn("READY") Soundcloud.playing = true // Soundcloud.player = swfobject.getObjectById('soundcloud') if (Soundcloud.player) { Soundcloud.player.api_play() Soundcloud.player.api_setVolume(Soundcloud.volume) } Soundcloud.report() }, report: function () { if (! Soundcloud.player) return Soundcloud.error() var track = Soundcloud.player.api_getCurrentTrack() $("#video-title").html(track.title) if (track.downloadable && track.download_url !== "undefined" && track.download_url !== undefined) $("#soundcloud-dl").html('download') else $("#soundcloud-dl").html("") var art = '' if (track.artwork) art = track.artwork.split("?")[0].replace('large','original') else if (track.user && track.user.avatarUrl) art = track.user.avatarUrl.split("?")[0].replace('large','crop') if (art.length) { $("#soundcloud-img").html("") $("#sc-art").bind("error", function(){$("#sc-art").hide()}) } return d.warn("____________") for (i in track) d.warn(""+i+": "+track[i]) d.warn("____________") var user = track.user for (i in user) d.warn(""+i+": "+user[i]) d.warn("____________") }, toggle: function () { d.warn("TOGGLE PLAYBACK") if (Soundcloud.player) return Soundcloud.player.api_toggle() return false }, error: function (s) { Player.error("SOUNDCLOUD "+s) Soundcloud.finish() }, setVolume: function (vol) { Soundcloud.volume = vol if (Soundcloud.player) Soundcloud.player.api_setVolume(vol) }, pause: function () { d.warn("PAUSED PLAYBACK") Soundcloud.playing = false if (Soundcloud.player) Soundcloud.player.api_pause() return true }, resume: function () { d.warn("RESUME PLAYBACK") Soundcloud.playing = true if (Soundcloud.player) Soundcloud.player.api_play() return false }, stop: function () { d.warn("SOUNDCLOUD STOP") if (Soundcloud.player) Soundcloud.player.api_stop() Soundcloud.playing = false }, finish: function () { d.warn("SOUNDCLOUD FINISH") Soundcloud.playing = false // swfobject.removeSWF("soundcloud") Player.finish() }, load: function () { d.warn("LOADING SOUNDCLOUD") Soundcloud.loaded = true }, unload: function () { d.warn("SOUNDCLOUD UNLOADED") // swfobject.removeSWF("soundcloud") Soundcloud.loaded = false Soundcloud.playing = false }, init: function () { d.warn("SOUNDCLOUD INIT") window.soundcloud = Soundcloud } } Player.register(Soundcloud)