]> jfr.im git - irc/quakenet/qwebirc.git/blame - js/sound.js
Add sound support, not currently enabled in the UI.
[irc/quakenet/qwebirc.git] / js / sound.js
CommitLineData
127631e0
CP
1qwebirc.sound.domReady = false;
2window.addEvent("domready", function() {
3 qwebirc.sound.domReady = true;
4});
5
6qwebirc.sound.SoundPlayer = new Class({
7 Implements: [Events],
8 initialize: function() {
9 this.loadingSWF = false;
10 this.loadedSWF = false;
11 },
12 go: function() {
13 if(qwebirc.sound.domReady) {
14 this.loadSoundManager();
15 } else {
16 window.addEvent("domready", function() {
17 this.loadSoundManager();
18 }.bind(this));
19 }
20 },
21 loadSoundManager: function() {
22 if(this.loadingSWF)
23 return;
24 this.loadingSWF = true;
25 if(eval("typeof soundManager") != "undefined") {
26 this.loadedSWF = true;
27 this.fireEvent("ready");
28 return;
29 }
30
31 qwebirc.util.importJS("/js/soundmanager2.js", "SoundManager", function() {
32 soundManager.url = "/sound/";
33
34 /* Fixes Firefox z-index Flash bug */
35 if(Browser.Engine.gecko)
36 soundManager.useHighPerformance = false;
37
38 soundManager.debugMode = false;
39 soundManager.useConsole = false;
40 soundManager.onload = function() {
41 this.loadedSWF = true;
42 this.fireEvent("ready");
43 }.bind(this);
44 soundManager.beginDelayedInit();
45 }.bind(this));
46 },
47 createSound: function(name, src) {
48 soundManager.createSound(name, src);
49 },
50 playSound: function(name) {
51 soundManager.play(name);
52 },
53 beep: function() {
54 if(!this.beepLoaded) {
55 this.createSound("beep", "/sound/beep.mp3");
56 this.beepLoaded = true;
57 }
58 this.playSound("beep");
59 }
60});