]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - js/sound.js
iframes should not have borders -- breaks page layout
[irc/quakenet/qwebirc.git] / js / sound.js
index eaa71f2afc1d0a9cddd103aef4ab7517d36cbf51..66ebdd05a04ff5d9a0ae3f1e3f6ef43cd0bca8d3 100644 (file)
@@ -8,6 +8,12 @@ qwebirc.sound.SoundPlayer = new Class({
   initialize: function() {
     this.loadingSWF = false;
     this.loadedSWF = false;
+
+    var sb = qwebirc.global.staticBaseURL;
+    if(qwebirc.global.baseURL.substr(qwebirc.global.baseURL.length - 1, 1) == "/" && sb.substr(0, 1) == "/")
+      sb = sb.substr(1)
+
+    this.soundURL = qwebirc.global.baseURL + sb + "sound/";
   },
   go: function() {
     if(qwebirc.sound.domReady) {
@@ -22,37 +28,41 @@ qwebirc.sound.SoundPlayer = new Class({
     if(this.loadingSWF)
       return;
     this.loadingSWF = true;
-    if(eval("typeof soundManager") != "undefined") {
+
+    var debugMode = false;
+
+    window.soundManager = new SoundManager();
+
+    var sb = qwebirc.global.staticBaseURL;
+    if(qwebirc.global.baseURL.substr(-1) == "/" && sb.substr(0, 1) == "/")
+      sb = sb.substr(1)
+    
+    window.soundManager.url = this.soundURL;
+    window.soundManager.debugMode = debugMode;
+    window.soundManager.useConsole = debugMode;
+    window.soundManager.onload = function() {
       this.loadedSWF = true;
       this.fireEvent("ready");
-      return;
-    }
-    
-    qwebirc.util.importJS("/js/soundmanager2.js", "SoundManager", function() {
-      soundManager.url = "/sound/";
-      
-      /* Fixes Firefox z-index Flash bug */
-      if(Browser.Engine.gecko)
-        soundManager.useHighPerformance = false;
-        
-      soundManager.debugMode = false;
-      soundManager.useConsole = false;
-      soundManager.onload = function() {
-        this.loadedSWF = true;
-        this.fireEvent("ready");
-      }.bind(this);
-      soundManager.beginDelayedInit();
-    }.bind(this));
+    }.bind(this);
+    window.soundManager.beginDelayedInit();
   },
   createSound: function(name, src) {
-    soundManager.createSound(name, src);
+    try {
+      soundManager.createSound(name, src);
+    } catch(e) {
+      /* ignore... flashblock triggers this */
+    }
   },
   playSound: function(name) {
-    soundManager.play(name);
+    try {
+      soundManager.play(name);
+    } catch(e) {
+      /* ignore... */
+    }
   },
   beep: function() {
     if(!this.beepLoaded) {
-      this.createSound("beep", "/sound/beep.mp3");
+      this.createSound("beep", this.soundURL + "beep3.mp3");
       this.beepLoaded = true;
     }
     this.playSound("beep");