From 753f60c7d4769fa72d3b910e491f37db6f130898 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 2 Aug 2013 17:19:21 -0500 Subject: dymaxion --- .../troubleshoot/debug.js | 173 +++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100755 docs/dymaxion/soundmanagerv297a-20101010/troubleshoot/debug.js (limited to 'docs/dymaxion/soundmanagerv297a-20101010/troubleshoot/debug.js') diff --git a/docs/dymaxion/soundmanagerv297a-20101010/troubleshoot/debug.js b/docs/dymaxion/soundmanagerv297a-20101010/troubleshoot/debug.js new file mode 100755 index 0000000..052955a --- /dev/null +++ b/docs/dymaxion/soundmanagerv297a-20101010/troubleshoot/debug.js @@ -0,0 +1,173 @@ +// SoundManager 2 start-up troubleshooting tool + +// FlashDetect, by Carl Yestrau +// http://www.featureblend.com/license.txt +var FlashDetect=new function(){var self=this;self.installed=false;self.raw="";self.major=-1;self.minor=-1;self.revision=-1;self.revisionStr="";var activeXDetectRules=[{"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj);}},{"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj);}catch(err){} +return version;}},{"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj);}}];var getActiveXVersion=function(activeXObj){var version=-1;try{version=activeXObj.GetVariable("$version");}catch(err){} +return version;};var getActiveXObject=function(name){var obj=-1;try{obj=new ActiveXObject(name);}catch(err){} +return obj;};var parseActiveXVersion=function(str){var versionArray=str.split(",");return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]};};var parseStandardVersion=function(str){var descParts=str.split(/ +/);var majorMinor=descParts[2].split(/\./);var revisionStr=descParts[3];return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)};};var parseRevisionStrToInt=function(str){return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;};self.majorAtLeast=function(version){return self.major>=version;};self.FlashDetect=function(){if(navigator.plugins&&navigator.plugins.length>0){var type='application/x-shockwave-flash';var mimeTypes=navigator.mimeTypes;if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){var version=mimeTypes[type].enabledPlugin.description;var versionObj=parseStandardVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revisionStr=versionObj.revisionStr;self.revision=versionObj.revision;self.installed=true;}}else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript){var version=-1;for(var i=0;i'+soundManager.url+''; + if (soundManager.getMoviePercent() == 100) { + // SWF may have already loaded + fOnComplete(true,msg); + } else { + try { + xhr.open("HEAD",sURL,true); + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + if (xhr.status == '200') { + fOnComplete(true,msg); + } else if (xhr.status == '404') { + fOnComplete(false,msg); + } else { + // some other response + fOnComplete('unknown',(xhr.status != '0'?'HTTP response: '+xhr.status+', ':'')+msg); // safari returns 0 when offline + } + } + } + xhr.send(null); + + } catch(e) { + // fail (cross-domain, or no XHR) unless offline + fOnComplete('unknown',msg); + return false; + } + } + } + + this.handleEvent = function(sEventType,bSuccess,sMessage) { + var o = elements[sEventType]; + if (o) { + o.className = (bSuccess == true?'pass':(bSuccess != false?bSuccess:'fail')); // true = pass, className as argument, or false == fail + if (sMessage) { + var oSpan = o.getElementsByTagName('span')[4]; + if (oSpan) { + oSpan.innerHTML = (oSpan.innerHTML +' '+sMessage+''); + } else { + o.title = sMessage; + } + } + // associated events + if (sEventType == 'onload') { + if (bSuccess) { + self.doSoundTest(); + } else { + self.testURL(soundManager.url,function(bSuccess,sMessage) { + if (typeof sMessage == 'undefined') { + sMessage = null; + } + self.handleEvent('swf',bSuccess,sMessage); + }); + } + } else if (sEventType == 'swf') { + if (bSuccess == false) { + // don't show flashtojs at all if SWF failed to load + self.handleEvent('flashtojs','default'); // reset to N/A status + } + } else if (sEventType == 'flashtojs') { + if (bSuccess != true) { + // online or offline help messages + if (soundManager._overHTTP) { + document.getElementById('d-flashtojs-offline').style.display = 'none'; + } else { + document.getElementById('d-flashtojs-online').style.display = 'none'; + } + } + } + } else { + soundManager._writeDebug('SM2 debugger warning: Undefined event type "'+sEventType+'"',1); + } + } + + this.doSoundTest = function() { + var foo = soundManager.createSound({ + id: 'sm2TestSound', + url: ('http://schillmania.com/projects/soundmanager2/demo/_mp3/mouseover.mp3') + }); + if (!soundManager._disabled) { + foo.play(); + // looks to be OK.. + if (!soundManager._disabled) { + // still OK.. + self.handleEvent('soundtest',true); + } else { + self.handleEvent('soundtest',false,': Failed after play()'); + } + } else { + self.handleEvent('soundtest',false,': Failed after createSound()'); + } + } + + this.init = function() { + // map event elements to DOM nodes - eg. elements.flashtojs = document.getElementById('d-flashtojs'); + for (var i=elementIDs.length; i--;) { + elements[elementIDs[i]] = document.getElementById('d-'+elementIDs[i]); + } + self.doFlashTest(); + } + + this.doFlashTest = function() { + var fd = FlashDetect; + var hasFlash = fd.installed; + var isSupported = (hasFlash && fd.major >= soundManager.flashVersion); + var flashVersion = fd.major+'.'+fd.minor+'.'+fd.revisionStr; + var flashInfo = ' version '+(!isSupported?'unsupported ('+flashVersion+', SWF version '+soundManager.flashVersion+')':flashVersion); + document.getElementById('d-flashversion').innerHTML = 'soundManager.flashVersion = '+soundManager.flashVersion+';'; + self.handleEvent('hasflash',isSupported,hasFlash?flashInfo:null); + } + + soundManager.debugFlash = true; // try to get flash debug output, as well + + this.init(); + +} + +function sm2DebugInit() { + sm2Debugger = new SM2Debugger(); +} \ No newline at end of file -- cgit v1.2.3-70-g09d2