1 dump('entering util/sound.js\n');
3 if (typeof util == 'undefined') util = {};
4 util.sound = function () {
7 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
8 var SOUNDContractID = "@mozilla.org/sound;1";
9 var SOUNDIID = Components.interfaces.nsISound;
10 this.SOUND = Components.classes[SOUNDContractID].createInstance(SOUNDIID);
11 this.SOUND.init(); // not necessary, but helps avoid delays?
14 dump('util.sound constructor: ' + E + '\n');
20 util.sound.prototype = {
22 'xp_url_init' : function (aURL) {
24 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
25 var URLContractID = "@mozilla.org/network/standard-url;1";
26 var URLIID = Components.classes[URLContractID].createInstance( );
27 var URL = URLIID.QueryInterface(Components.interfaces.nsIURL);
33 alert('xp_url_init(): ' + E);
37 'play_url' : function(url) {
39 if (!url) { return; /* sound of silence */ }
43 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
44 JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
45 var url2 = obj.xp_url_init( data.server + url );
46 dump('SOUND: file = ' + url + '\n');
47 if (typeof data.no_sound == 'undefined' || data.no_sound == false || data.no_sound == 'false') obj.SOUND.play( url2 );
49 try { if (data.no_sound == 'undefined' || data.no_sound == false || data.no_sound == 'false') obj.SOUND.beep(); } catch(F) {
50 dump('beep(): ' + F + '\n');
52 dump('play_url(): ' + E + '\n');
56 'event' : function event(evt) {
57 var key = 'AUDIO_' + arguments.callee.name + '_' + evt.textcode;
58 dump('SOUND: key = ' + key + '\n');
59 this.play_url( urls[key] );
62 'good' : function good(e){
63 var key = 'AUDIO_' + arguments.callee.name;
64 dump('SOUND: key = ' + key + '\n');
65 this.play_url( urls[key] );
68 'bad' : function bad(e){
69 var key = 'AUDIO_' + arguments.callee.name;
70 dump('SOUND: key = ' + key + '\n');
71 this.play_url( urls[key] );
74 'horrible' : function horrible(e){
75 var key = 'AUDIO_' + arguments.callee.name;
76 dump('SOUND: key = ' + key + '\n');
77 this.play_url( urls[key] );
80 'circ_good' : function circ_good(e){
81 var key = 'AUDIO_' + arguments.callee.name;
82 dump('SOUND: key = ' + key + '\n');
83 this.play_url( urls[key] );
86 'circ_bad' : function circ_bad(e){
87 var key = 'AUDIO_' + arguments.callee.name;
88 dump('SOUND: key = ' + key + '\n');
89 this.play_url( urls[key] );
93 dump('exiting util/sound.js\n');