From ad102b62a4a473477e4bebd0e15e6768c830dfdc Mon Sep 17 00:00:00 2001 From: Scott Schiller Date: Sun, 30 Sep 2012 21:11:38 -0700 Subject: [PATCH] Better renaming, _iO -> instanceOptions etc. --- script/soundmanager2-jsmin.js | 10 +- script/soundmanager2-nodebug-jsmin.js | 102 +++++++++--------- script/soundmanager2-nodebug.js | 131 ++++++++++++------------ script/soundmanager2.js | 142 +++++++++++++------------- 4 files changed, 195 insertions(+), 190 deletions(-) diff --git a/script/soundmanager2-jsmin.js b/script/soundmanager2-jsmin.js index b3a9beb6..3b21c946 100644 --- a/script/soundmanager2-jsmin.js +++ b/script/soundmanager2-jsmin.js @@ -33,11 +33,11 @@ this.canPlayLink=function(a){return"undefined"!==typeof a.type&&a.type&&c.canPla 2)f.className="sm2-alt";d="undefined"===typeof d?0:parseInt(d,10);f.appendChild(i.createTextNode(a));if(d){if(2<=d)f.style.fontWeight="bold";if(3===d)f.style.color="#ff3333"}b.insertBefore(f,b.firstChild)}catch(g){}return!0};this._debug=function(){var a,d;m("currentObj",1);for(a=0,d=c.soundIDs.length;a=b)return!1;for(b-=1;0<=b;b--)if(c=k[b],!c.fired&&a.position>=c.position)c.fired=!0,n++,c.method.apply(c.scope,[c.position]);return!0};this._resetOnPosition=function(a){var b,c;b=k.length;if(!b)return!1;for(b-=1;0<=b;b--)if(c=k[b],c.fired&&a<=c.position)c.fired=!1,n--;return!0};s=function(){var b=a._iO,c=b.from,e=b.to,d,f;f=function(){a.clearOnPosition(e,f);a.stop()};d=function(){if(null!==e&&!isNaN(e))a.onPosition(e, -f)};if(null!==c&&!isNaN(c))b.position=c,b.multiShot=!1,d();return b};m=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b,10),c[b])};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};h=function(){a.isHTML5&&Ja(a)};I=function(){a.isHTML5&&Ka(a)};f=function(b){b||(k=[],n=0);l=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration? -a._iO.duration:null;a.durationEstimate=null;a.buffered=[];a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount=0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,i={};if(a._hasTimer||b){if(a._a&&(b||(0opera.version()?new Audio(null):new Audio,d=a._a,d._called_load=!1,z)c._global_a=d;a.isHTML5=!0;a._a=d;d._s=a;i();a._apply_loop(d,b.loops);b.autoLoad||b.autoPlay?a.load():(d.autobuffer=!1,d.preload="auto");return d};i=function(){if(a._a._added_events)return!1;var b;a._a._added_events= -!0;for(b in u)u.hasOwnProperty(b)&&a._a&&a._a.addEventListener(b,u[b],!1);return!0};H=function(){var b;a._a._added_events=!1;for(b in u)u.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,u[b],!1)};this._onload=function(b){b=!!b||!a.isHTML5&&8===j&&a.duration;a.loaded=b;a.readyState=b?3:2;a._onbufferchange(0);a._iO.onload&&a._iO.onload.apply(a,[b]);return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&& -a._iO.onbufferchange.apply(a);return!0};this._onsuspend=function(){a._iO.onsuspend&&a._iO.onsuspend.apply(a);return!0};this._onfailure=function(b,c,e){a.failures++;if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(a,b,c,e)};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);if(a.instanceCount){a.instanceCount--;if(!a.instanceCount&&(q(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},I(),a.isHTML5))a.position=0;(!a.instanceCount||a._iO.multiShotEvents)&& -b&&b.apply(a)}};this._whileloading=function(b,c,e,d){var f=a._iO;a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(e);a.bufferLength=d;a.durationEstimate=!a.isHTML5&&!f.isMovieStar?f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10):a.duration;if(!a.isHTML5)a.buffered=[{start:0,end:a.duration}];(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,e,d,f){var i=a._iO;if(isNaN(b)||null===b)return!1; -a.position=Math.max(0,b);a._processOnPosition();if(!a.isHTML5&&8opera.version()?new Audio(null):new Audio:null,d,a,f={},i;i=c.audioFormats;for(d in i)if(i.hasOwnProperty(d)&&(a="audio/"+d,f[d]=b(i[d].type),f[a]=f[d],d.match(Ta)?(c.flash[d]=!0,c.flash[a]=!0):(c.flash[d]=!1,c.flash[a]=!1),i[d]&&i[d].related))for(a=i[d].related.length-1;0<=a;a--)f["audio/"+i[d].related[a]]=f[d],c.html5[i[d].related[a]]=f[d],c.flash[i[d].related[a]]=f[d];f.canPlayType= -e?b:null;c.html5=r(c.html5,f);return!0};t=function(){};Z=function(b){if(8===j&&1j)c.flashVersion=j=9;c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)": -9===j?" (AS3/Flash 9)":" (AS2/Flash 8)");8'} -if(J&&K)return!1;if(c.html5Only)return oa(),c.oMC=T(c.movieID),ka(),K=J=!0,!1;var a=e||c.url,f=c.altURL||a,i=qa(),g=F(),h=null,h=m.getElementsByTagName("html")[0],j,k,l,h=h&&h.dir&&h.dir.match(/rtl/i),b="undefined"===typeof b?c.id:b;oa();c.url=Ia(Ca?a:f);e=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;if(null!==c.wmode&&(q.match(/msie 8/i)||!x&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i))c.wmode=null;i={name:b,id:b,src:e,quality:"high",allowScriptAccess:c.allowScriptAccess, -bgcolor:c.bgColor,pluginspage:Ua+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)",type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};if(c.debugFlash)i.FlashVars="debug=1";c.wmode||delete i.wmode;if(x)a=m.createElement("div"),k=['', -d("movie",e),d("AllowScriptAccess",c.allowScriptAccess),d("quality",i.quality),c.wmode?d("wmode",c.wmode):"",d("bgcolor",c.bgColor),d("hasPriority","true"),c.debugFlash?d("FlashVars",i.FlashVars):"",""].join("");else for(j in a=m.createElement("embed"),i)i.hasOwnProperty(j)&&a.setAttribute(j,i[j]);ra();g=F();if(i=qa())if(c.oMC=T(c.movieID)||m.createElement("div"),c.oMC.id){l=c.oMC.className;c.oMC.className=(l?l+" ":"movieContainer")+(g?" "+g:"");c.oMC.appendChild(a);if(x)j=c.oMC.appendChild(m.createElement("div")), -j.className="sm2-object-box",j.innerHTML=k;K=!0}else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+g;j=g=null;if(!c.useFlashBlock)if(c.useHighPerformance)g={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"};else if(g={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},h)g.left=Math.abs(parseInt(g.left,10))+"px";if(Ya)c.oMC.style.zIndex=1E4;if(!c.debugFlash)for(l in g)g.hasOwnProperty(l)&&(c.oMC.style[l]=g[l]);try{x||c.oMC.appendChild(a); -i.appendChild(c.oMC);if(x)j=c.oMC.appendChild(m.createElement("div")),j.className="sm2-object-box",j.innerHTML=k;K=!0}catch(n){throw Error(t("domError")+" \n"+n.toString());}}return J=!0};W=function(){if(c.html5Only)return X(),!1;if(g||!c.url)return!1;g=c.getMovie(c.id);if(!g)N?(x?c.oMC.innerHTML=sa:c.oMC.appendChild(N),N=null,J=!0):X(c.id,c.url),g=c.getMovie(c.id);"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);return!0};C=function(){setTimeout(Fa,1E3)};Fa=function(){var b,e=!1;if(!c.url|| -O)return!1;O=!0;n.remove(h,"load",C);if(da&&!Ba)return!1;k||(b=c.getMoviePercent(),0b&&(e=!0));setTimeout(function(){b=c.getMoviePercent();if(e)return O=!1,h.setTimeout(C,1),!1;!k&&Sa&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?c.useFlashBlock&&ta():Y(!0):0!==c.flashLoadTimeout&&Y(!0))},c.flashLoadTimeout)};V=function(){if(Ba||!da)return n.remove(h,"focus",V),!0;Ba=Sa=!0;O=!1;C();n.remove(h,"focus",V);return!0};Qa=function(){};L=function(b){if(k)return!1;if(c.html5Only)return k=!0, -B(),!0;var e=!0,d;if(!c.useFlashBlock||!c.flashLoadTimeout||c.getMoviePercent())k=!0,s&&(d={type:!y&&p?"NO_FLASH":"INIT_TIMEOUT"});if(s||b){if(c.useFlashBlock&&c.oMC)c.oMC.className=F()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error");A({type:"ontimeout",error:d,ignoreInit:!0});E(d);e=!1}s||(c.waitForWindowLoad&&!la?n.add(h,"load",B):B());return e};Ea=function(){var b,e=c.setupOptions;for(b in e)e.hasOwnProperty(b)&&("undefined"===typeof c[b]?c[b]=e[b]:c[b]!==e[b]&&(c.setupOptions[b]=c[b]))}; -ka=function(){if(k)return!1;if(c.html5Only){if(!k)n.remove(h,"load",c.beginDelayedInit),c.enabled=!0,L();return!0}W();try{g._externalInterfaceTest(!1),Ga(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||g._disableDebug(),c.enabled=!0,c.html5Only||n.add(h,"unload",ja)}catch(b){return E({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),Y(!0),L(),!1}L();n.remove(h,"load",c.beginDelayedInit);return!0};D=function(){if(M)return!1;M=!0;Ea();ra();!y&&c.hasHTML5&&c.setup({useHTML5Audio:!0,preferFlash:!1}); -Na();c.html5.usingFlash=Ma();p=c.html5.usingFlash;Qa();!y&&p&&c.setup({flashLoadTimeout:1});m.removeEventListener&&m.removeEventListener("DOMContentLoaded",D,!1);W();return!0};wa=function(){"complete"===m.readyState&&(D(),m.detachEvent("onreadystatechange",wa));return!0};pa=function(){la=!0;n.remove(h,"load",pa)};xa();n.add(h,"focus",V);n.add(h,"load",C);n.add(h,"load",pa);m.addEventListener?m.addEventListener("DOMContentLoaded",D,!1):m.attachEvent?m.attachEvent("onreadystatechange",wa):E({type:"NO_DOM2_EVENTS", -fatal:!0})}var ea=null;if("undefined"===typeof SM2_DEFER||!SM2_DEFER)ea=new R;fa.SoundManager=R;fa.soundManager=ea})(window); \ No newline at end of file +[],n=0,q,s,p=null;e=null;d=null;this.sID=this.id=b.id;this.url=b.url;this._iO=this.instanceOptions=this.options=r(b);this.pan=this.options.pan;this.volume=this.options.volume;this.isHTML5=!1;this._a=null;this.id3={};this._debug=function(){};this.load=function(b){var c=null;if("undefined"!==typeof b)a._iO=r(b,a.options);else if(b=a.options,a._iO=b,p&&p!==a.url)a._iO.url=a.url,a.url=null;if(!a._iO.url)a._iO.url=a.url;a._iO.url=ba(a._iO.url);b=a.instanceOptions=a._iO;if(b.url===a.url&&0!==a.readyState&& +2!==a.readyState)return 3===a.readyState&&b.onload&&b.onload.apply(a,[!!a.duration]),a;a.loaded=!1;a.readyState=1;a.playState=0;a.id3={};if(ca(b)){if(c=a._setup_html5(b),!c._called_load){a._html5_canplay=!1;if(a.url!==b.url)a._a.src=b.url,a.setPosition(0);a._a.autobuffer="auto";a._a.preload="auto";c._called_load=!0;b.autoPlay&&a.play()}}else try{a.isHTML5=!1,a._iO=$(Z(b)),b=a._iO,8===j?g._load(a.id,b.url,b.stream,b.autoPlay,b.usePolicyFile):g._load(a.id,b.url,!!b.stream,!!b.autoPlay,b.loops||1,!!b.autoLoad, +b.usePolicyFile)}catch(e){E({type:"SMSOUND_LOAD_JS_EXCEPTION",fatal:!0})}a.url=b.url;return a};this.unload=function(){0!==a.readyState&&(a.isHTML5?(I(),a._a&&(a._a.pause(),va(a._a,"about:blank"),p="about:blank")):8===j?g._unload(a.id,"about:blank"):g._unload(a.id),f());return a};this.destruct=function(b){if(a.isHTML5){if(I(),a._a)a._a.pause(),va(a._a),z||H(),a._a._s=null,a._a=null}else a._iO.onfailure=null,g._destroySound(a.id);b||c.destroySound(a.id,!0)};this.start=this.play=function(b,c){var e, +d;d=!0;d=null;c="undefined"===typeof c?!0:c;b||(b={});if(a.url)a._iO.url=a.url;a._iO=r(a._iO,a.options);a._iO=r(b,a._iO);a._iO.url=ba(a._iO.url);a.instanceOptions=a._iO;if(a._iO.serverURL&&!a.connected)return a.getAutoPlay()||a.setAutoPlay(!0),a;ca(a._iO)&&(a._setup_html5(a._iO),h());if(1===a.playState&&!a.paused)(e=a._iO.multiShot)||(d=a);if(null!==d)return d;b.url&&b.url!==a.url&&a.load(a._iO);if(!a.loaded)if(0===a.readyState){if(!a.isHTML5)a._iO.autoPlay=!0;a.load(a._iO);a.instanceOptions=a._iO}else 2=== +a.readyState&&(d=a);if(null!==d)return d;if(!a.isHTML5&&9===j&&0=b)return!1;for(b-=1;0<=b;b--)if(c=k[b],!c.fired&&a.position>=c.position)c.fired=!0,n++,c.method.apply(c.scope,[c.position]);return!0};this._resetOnPosition=function(a){var b,c;b=k.length;if(!b)return!1;for(b-=1;0<=b;b--)if(c=k[b],c.fired&&a<=c.position)c.fired=!1,n--;return!0};s=function(){var b=a._iO,c=b.from,e=b.to,d,f;f=function(){a.clearOnPosition(e,f);a.stop()};d=function(){if(null!==e&&!isNaN(e))a.onPosition(e,f)};if(null!==c&&!isNaN(c))b.position=c,b.multiShot=!1,d(); +return b};m=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b,10),c[b])};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};h=function(){a.isHTML5&&Ja(a)};I=function(){a.isHTML5&&Ka(a)};f=function(b){b||(k=[],n=0);l=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration?a._iO.duration:null;a.durationEstimate=null;a.buffered=[]; +a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount=0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,i={};if(a._hasTimer||b){if(a._a&&(b||(0opera.version()?new Audio(null):new Audio,d=a._a,d._called_load=!1,z)c._global_a=d;a.isHTML5=!0;a._a=d;d._s=a;i();a._apply_loop(d,b.loops);b.autoLoad||b.autoPlay?a.load():(d.autobuffer=!1,d.preload="auto");return d};i=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in u)u.hasOwnProperty(b)&&a._a&&a._a.addEventListener(b,u[b],!1);return!0};H= +function(){var b;a._a._added_events=!1;for(b in u)u.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,u[b],!1)};this._onload=function(b){b=!!b||!a.isHTML5&&8===j&&a.duration;a.loaded=b;a.readyState=b?3:2;a._onbufferchange(0);a._iO.onload&&a._iO.onload.apply(a,[b]);return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&&a._iO.onbufferchange.apply(a);return!0};this._onsuspend=function(){a._iO.onsuspend&& +a._iO.onsuspend.apply(a);return!0};this._onfailure=function(b,c,e){a.failures++;if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(a,b,c,e)};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);if(a.instanceCount){a.instanceCount--;if(!a.instanceCount&&(q(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},I(),a.isHTML5))a.position=0;(!a.instanceCount||a._iO.multiShotEvents)&&b&&b.apply(a)}};this._whileloading=function(b,c,e,d){var f=a._iO; +a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(e);a.bufferLength=d;a.durationEstimate=!a.isHTML5&&!f.isMovieStar?f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10):a.duration;if(!a.isHTML5)a.buffered=[{start:0,end:a.duration}];(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,e,d,f){var i=a._iO;if(isNaN(b)||null===b)return!1;a.position=Math.max(0,b);a._processOnPosition();if(!a.isHTML5&& +8opera.version()?new Audio(null):new Audio:null,d,a,f={},i;i=c.audioFormats;for(d in i)if(i.hasOwnProperty(d)&&(a="audio/"+d,f[d]=b(i[d].type),f[a]=f[d],d.match(Ta)?(c.flash[d]=!0,c.flash[a]=!0):(c.flash[d]=!1,c.flash[a]=!1),i[d]&&i[d].related))for(a=i[d].related.length-1;0<=a;a--)f["audio/"+i[d].related[a]]=f[d],c.html5[i[d].related[a]]=f[d],c.flash[i[d].related[a]]=f[d];f.canPlayType=e?b:null;c.html5=r(c.html5,f);return!0};t=function(){}; +Z=function(b){if(8===j&&1j)c.flashVersion=j=9;c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":9===j?" (AS3/Flash 9)":" (AS2/Flash 8)");8'}if(J&&K)return!1;if(c.html5Only)return oa(),c.oMC=T(c.movieID),ka(),K=J=!0,!1;var a=e||c.url, +f=c.altURL||a,i=qa(),g=F(),h=null,h=m.getElementsByTagName("html")[0],j,k,l,h=h&&h.dir&&h.dir.match(/rtl/i),b="undefined"===typeof b?c.id:b;oa();c.url=Ia(Ca?a:f);e=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;if(null!==c.wmode&&(q.match(/msie 8/i)||!x&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i))c.wmode=null;i={name:b,id:b,src:e,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:Ua+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)", +type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};if(c.debugFlash)i.FlashVars="debug=1";c.wmode||delete i.wmode;if(x)a=m.createElement("div"),k=['',d("movie",e),d("AllowScriptAccess",c.allowScriptAccess),d("quality",i.quality),c.wmode?d("wmode",c.wmode):"",d("bgcolor", +c.bgColor),d("hasPriority","true"),c.debugFlash?d("FlashVars",i.FlashVars):"",""].join("");else for(j in a=m.createElement("embed"),i)i.hasOwnProperty(j)&&a.setAttribute(j,i[j]);ra();g=F();if(i=qa())if(c.oMC=T(c.movieID)||m.createElement("div"),c.oMC.id){l=c.oMC.className;c.oMC.className=(l?l+" ":"movieContainer")+(g?" "+g:"");c.oMC.appendChild(a);if(x)j=c.oMC.appendChild(m.createElement("div")),j.className="sm2-object-box",j.innerHTML=k;K=!0}else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+ +g;j=g=null;if(!c.useFlashBlock)if(c.useHighPerformance)g={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"};else if(g={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},h)g.left=Math.abs(parseInt(g.left,10))+"px";if(Ya)c.oMC.style.zIndex=1E4;if(!c.debugFlash)for(l in g)g.hasOwnProperty(l)&&(c.oMC.style[l]=g[l]);try{x||c.oMC.appendChild(a);i.appendChild(c.oMC);if(x)j=c.oMC.appendChild(m.createElement("div")),j.className="sm2-object-box",j.innerHTML= +k;K=!0}catch(n){throw Error(t("domError")+" \n"+n.toString());}}return J=!0};W=function(){if(c.html5Only)return X(),!1;if(g||!c.url)return!1;g=c.getMovie(c.id);if(!g)N?(x?c.oMC.innerHTML=sa:c.oMC.appendChild(N),N=null,J=!0):X(c.id,c.url),g=c.getMovie(c.id);"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);return!0};C=function(){setTimeout(Fa,1E3)};Fa=function(){var b,e=!1;if(!c.url||O)return!1;O=!0;n.remove(h,"load",C);if(da&&!Ba)return!1;k||(b=c.getMoviePercent(),0b&&(e=!0)); +setTimeout(function(){b=c.getMoviePercent();if(e)return O=!1,h.setTimeout(C,1),!1;!k&&Sa&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?c.useFlashBlock&&ta():Y(!0):0!==c.flashLoadTimeout&&Y(!0))},c.flashLoadTimeout)};V=function(){if(Ba||!da)return n.remove(h,"focus",V),!0;Ba=Sa=!0;O=!1;C();n.remove(h,"focus",V);return!0};Qa=function(){};L=function(b){if(k)return!1;if(c.html5Only)return k=!0,B(),!0;var e=!0,d;if(!c.useFlashBlock||!c.flashLoadTimeout||c.getMoviePercent())k=!0,s&&(d={type:!y&&p? +"NO_FLASH":"INIT_TIMEOUT"});if(s||b){if(c.useFlashBlock&&c.oMC)c.oMC.className=F()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error");A({type:"ontimeout",error:d,ignoreInit:!0});E(d);e=!1}s||(c.waitForWindowLoad&&!la?n.add(h,"load",B):B());return e};Ea=function(){var b,e=c.setupOptions;for(b in e)e.hasOwnProperty(b)&&("undefined"===typeof c[b]?c[b]=e[b]:c[b]!==e[b]&&(c.setupOptions[b]=c[b]))};ka=function(){if(k)return!1;if(c.html5Only){if(!k)n.remove(h,"load",c.beginDelayedInit),c.enabled= +!0,L();return!0}W();try{g._externalInterfaceTest(!1),Ga(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||g._disableDebug(),c.enabled=!0,c.html5Only||n.add(h,"unload",ja)}catch(b){return E({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),Y(!0),L(),!1}L();n.remove(h,"load",c.beginDelayedInit);return!0};D=function(){if(M)return!1;M=!0;Ea();ra();!y&&c.hasHTML5&&c.setup({useHTML5Audio:!0,preferFlash:!1});Na();c.html5.usingFlash=Ma();p=c.html5.usingFlash;Qa();!y&&p&&c.setup({flashLoadTimeout:1}); +m.removeEventListener&&m.removeEventListener("DOMContentLoaded",D,!1);W();return!0};wa=function(){"complete"===m.readyState&&(D(),m.detachEvent("onreadystatechange",wa));return!0};pa=function(){la=!0;n.remove(h,"load",pa)};xa();n.add(h,"focus",V);n.add(h,"load",C);n.add(h,"load",pa);m.addEventListener?m.addEventListener("DOMContentLoaded",D,!1):m.attachEvent?m.attachEvent("onreadystatechange",wa):E({type:"NO_DOM2_EVENTS",fatal:!0})}var ea=null;if("undefined"===typeof SM2_DEFER||!SM2_DEFER)ea=new R; +fa.SoundManager=R;fa.soundManager=ea})(window); \ No newline at end of file diff --git a/script/soundmanager2-nodebug.js b/script/soundmanager2-nodebug.js index 6f73f4f6..b57037be 100644 --- a/script/soundmanager2-nodebug.js +++ b/script/soundmanager2-nodebug.js @@ -588,14 +588,12 @@ function SoundManager(smURL, smID) { this._debug = function() { }; this.load = function(oOptions) { - var oS = null, _iO; + var oSound = null, instanceOptions; if (typeof oOptions !== 'undefined') { s._iO = _mixin(oOptions, s.options); - s.instanceOptions = s._iO; } else { oOptions = s.options; s._iO = oOptions; - s.instanceOptions = s._iO; if (_lastURL && _lastURL !== s.url) { s._iO.url = s.url; s.url = null; @@ -605,29 +603,30 @@ function SoundManager(smURL, smID) { s._iO.url = s.url; } s._iO.url = _parseURL(s._iO.url); - if (s._iO.url === s.url && s.readyState !== 0 && s.readyState !== 2) { - if (s.readyState === 3 && s._iO.onload) { - s._iO.onload.apply(s, [(!!s.duration)]); + s.instanceOptions = s._iO; + instanceOptions = s._iO; + if (instanceOptions.url === s.url && s.readyState !== 0 && s.readyState !== 2) { + if (s.readyState === 3 && instanceOptions.onload) { + instanceOptions.onload.apply(s, [(!!s.duration)]); } return s; } - _iO = s._iO; s.loaded = false; s.readyState = 1; s.playState = 0; s.id3 = {}; - if (_html5OK(_iO)) { - oS = s._setup_html5(_iO); - if (!oS._called_load) { + if (_html5OK(instanceOptions)) { + oSound = s._setup_html5(instanceOptions); + if (!oSound._called_load) { s._html5_canplay = false; - if (s.url !== _iO.url) { - s._a.src = _iO.url; + if (s.url !== instanceOptions.url) { + s._a.src = instanceOptions.url; s.setPosition(0); } s._a.autobuffer = 'auto'; s._a.preload = 'auto'; - oS._called_load = true; - if (_iO.autoPlay) { + oSound._called_load = true; + if (instanceOptions.autoPlay) { s.play(); } } else { @@ -635,18 +634,18 @@ function SoundManager(smURL, smID) { } else { try { s.isHTML5 = false; - s._iO = _policyFix(_loopFix(_iO)); - _iO = s._iO; + s._iO = _policyFix(_loopFix(instanceOptions)); + instanceOptions = s._iO; if (_fV === 8) { - _flash._load(s.id, _iO.url, _iO.stream, _iO.autoPlay, _iO.usePolicyFile); + _flash._load(s.id, instanceOptions.url, instanceOptions.stream, instanceOptions.autoPlay, instanceOptions.usePolicyFile); } else { - _flash._load(s.id, _iO.url, !!(_iO.stream), !!(_iO.autoPlay), _iO.loops||1, !!(_iO.autoLoad), _iO.usePolicyFile); + _flash._load(s.id, instanceOptions.url, !!(instanceOptions.stream), !!(instanceOptions.autoPlay), instanceOptions.loops||1, !!(instanceOptions.autoLoad), instanceOptions.usePolicyFile); } } catch(e) { _catchError({type:'SMSOUND_LOAD_JS_EXCEPTION', fatal:true}); } } - s.url = _iO.url; + s.url = instanceOptions.url; return s; }; this.unload = function() { @@ -808,7 +807,8 @@ function SoundManager(smURL, smID) { }; this.start = this.play; this.stop = function(bAll) { - var _iO = s._iO, _oP; + var instanceOptions = s._iO, + originalPosition; if (s.playState === 1) { s._onbufferchange(0); s._resetOnPosition(0); @@ -817,19 +817,19 @@ function SoundManager(smURL, smID) { s.playState = 0; } _detachOnPosition(); - if (_iO.to) { - s.clearOnPosition(_iO.to); + if (instanceOptions.to) { + s.clearOnPosition(instanceOptions.to); } if (!s.isHTML5) { _flash._stop(s.id, bAll); - if (_iO.serverURL) { + if (instanceOptions.serverURL) { s.unload(); } } else { if (s._a) { - _oP = s.position; + originalPosition = s.position; s.setPosition(0); - s.position = _oP; + s.position = originalPosition; s._a.pause(); s.playState = 0; s._onTimer(); @@ -838,8 +838,8 @@ function SoundManager(smURL, smID) { } s.instanceCount = 0; s._iO = {}; - if (_iO.onstop) { - _iO.onstop.apply(s); + if (instanceOptions.onstop) { + instanceOptions.onstop.apply(s); } } return s; @@ -915,26 +915,26 @@ function SoundManager(smURL, smID) { return s; }; this.resume = function() { - var _iO = s._iO; + var instanceOptions = s._iO; if (!s.paused) { return s; } s.paused = false; s.playState = 1; if (!s.isHTML5) { - if (_iO.isMovieStar && !_iO.serverURL) { + if (instanceOptions.isMovieStar && !instanceOptions.serverURL) { s.setPosition(s.position); } - _flash._pause(s.id, _iO.multiShot); + _flash._pause(s.id, instanceOptions.multiShot); } else { s._setup_html5().play(); _start_html5_timer(); } - if (!_onplay_called && _iO.onplay) { - _iO.onplay.apply(s); + if (!_onplay_called && instanceOptions.onplay) { + instanceOptions.onplay.apply(s); _onplay_called = true; - } else if (_iO.onresume) { - _iO.onresume.apply(s); + } else if (instanceOptions.onresume) { + instanceOptions.onresume.apply(s); } return s; }; @@ -1067,9 +1067,9 @@ function SoundManager(smURL, smID) { return true; }; _applyFromTo = function() { - var _iO = s._iO, - f = _iO.from, - t = _iO.to, + var instanceOptions = s._iO, + f = instanceOptions.from, + t = instanceOptions.to, start, end; end = function() { s.clearOnPosition(t, end); @@ -1081,11 +1081,11 @@ function SoundManager(smURL, smID) { } }; if (f !== null && !isNaN(f)) { - _iO.position = f; - _iO.multiShot = false; + instanceOptions.position = f; + instanceOptions.multiShot = false; start(); } - return _iO; + return instanceOptions; }; _attachOnPosition = function() { var item, @@ -1182,8 +1182,8 @@ function SoundManager(smURL, smID) { } }; this._get_html5_duration = function() { - var _iO = s._iO, - d = (s._a && s._a.duration ? s._a.duration*1000 : (_iO && _iO.duration ? _iO.duration : null)), + var instanceOptions = s._iO, + d = (s._a && s._a.duration ? s._a.duration*1000 : (instanceOptions && instanceOptions.duration ? instanceOptions.duration : null)), result = (d && !isNaN(d) && d !== Infinity ? d : null); return result; }; @@ -1191,9 +1191,9 @@ function SoundManager(smURL, smID) { a.loop = (nLoops > 1 ? 'loop' : ''); }; this._setup_html5 = function(oOptions) { - var _iO = _mixin(s._iO, oOptions), d = decodeURI, + var instanceOptions = _mixin(s._iO, oOptions), d = decodeURI, _a = _useGlobalHTML5Audio ? sm2._global_a : s._a, - _dURL = d(_iO.url), + _dURL = d(instanceOptions.url), sameURL, result; if (_useGlobalHTML5Audio) { @@ -1214,21 +1214,21 @@ function SoundManager(smURL, smID) { result = _a; } if (result) { - s._apply_loop(_a, _iO.loops); + s._apply_loop(_a, instanceOptions.loops); return result; } } if (!sameURL) { _resetProperties(false); - _a.src = _iO.url; - s.url = _iO.url; - _lastURL = _iO.url; - _lastGlobalHTML5URL = _iO.url; + _a.src = instanceOptions.url; + s.url = instanceOptions.url; + _lastURL = instanceOptions.url; + _lastGlobalHTML5URL = instanceOptions.url; _a._called_load = false; } } else { - if (_iO.autoLoad || _iO.autoPlay) { - s._a = new Audio(_iO.url); + if (instanceOptions.autoLoad || instanceOptions.autoPlay) { + s._a = new Audio(instanceOptions.url); } else { s._a = (_isOpera && opera.version() < 10 ? new Audio(null) : new Audio()); } @@ -1242,8 +1242,8 @@ function SoundManager(smURL, smID) { s._a = _a; _a._s = s; _add_html5_events(); - s._apply_loop(_a, _iO.loops); - if (_iO.autoLoad || _iO.autoPlay) { + s._apply_loop(_a, instanceOptions.loops); + if (instanceOptions.autoLoad || instanceOptions.autoPlay) { s.load(); } else { _a.autobuffer = false; @@ -1342,14 +1342,14 @@ function SoundManager(smURL, smID) { } }; this._whileloading = function(nBytesLoaded, nBytesTotal, nDuration, nBufferLength) { - var _iO = s._iO; + var instanceOptions = s._iO; s.bytesLoaded = nBytesLoaded; s.bytesTotal = nBytesTotal; s.duration = Math.floor(nDuration); s.bufferLength = nBufferLength; - if (!s.isHTML5 && !_iO.isMovieStar) { - if (_iO.duration) { - s.durationEstimate = (s.duration > _iO.duration) ? s.duration : _iO.duration; + if (!s.isHTML5 && !instanceOptions.isMovieStar) { + if (instanceOptions.duration) { + s.durationEstimate = (s.duration > instanceOptions.duration) ? s.duration : instanceOptions.duration; } else { s.durationEstimate = parseInt((s.bytesTotal / s.bytesLoaded) * s.duration, 10); } @@ -1362,12 +1362,12 @@ function SoundManager(smURL, smID) { 'end': s.duration }]; } - if ((s.readyState !== 3 || s.isHTML5) && _iO.whileloading) { - _iO.whileloading.apply(s); + if ((s.readyState !== 3 || s.isHTML5) && instanceOptions.whileloading) { + instanceOptions.whileloading.apply(s); } }; this._whileplaying = function(nPosition, oPeakData, oWaveformDataLeft, oWaveformDataRight, oEQData) { - var _iO = s._iO, + var instanceOptions = s._iO, eqLeft; if (isNaN(nPosition) || nPosition === null) { return false; @@ -1375,19 +1375,19 @@ function SoundManager(smURL, smID) { s.position = Math.max(0, nPosition); s._processOnPosition(); if (!s.isHTML5 && _fV > 8) { - if (_iO.usePeakData && typeof oPeakData !== 'undefined' && oPeakData) { + if (instanceOptions.usePeakData && typeof oPeakData !== 'undefined' && oPeakData) { s.peakData = { left: oPeakData.leftPeak, right: oPeakData.rightPeak }; } - if (_iO.useWaveformData && typeof oWaveformDataLeft !== 'undefined' && oWaveformDataLeft) { + if (instanceOptions.useWaveformData && typeof oWaveformDataLeft !== 'undefined' && oWaveformDataLeft) { s.waveformData = { left: oWaveformDataLeft.split(','), right: oWaveformDataRight.split(',') }; } - if (_iO.useEQData) { + if (instanceOptions.useEQData) { if (typeof oEQData !== 'undefined' && oEQData && oEQData.leftEQ) { eqLeft = oEQData.leftEQ.split(','); s.eqData = eqLeft; @@ -1402,8 +1402,8 @@ function SoundManager(smURL, smID) { if (!s.isHTML5 && _fV === 8 && !s.position && s.isBuffering) { s._onbufferchange(0); } - if (_iO.whileplaying) { - _iO.whileplaying.apply(s); + if (instanceOptions.whileplaying) { + instanceOptions.whileplaying.apply(s); } } return true; @@ -1996,6 +1996,7 @@ function SoundManager(smURL, smID) { } catch(e) { } hasPlugin = (!!obj); + obj = null; } _hasFlash = hasPlugin; return hasPlugin; diff --git a/script/soundmanager2.js b/script/soundmanager2.js index 8cf866b1..91345eab 100755 --- a/script/soundmanager2.js +++ b/script/soundmanager2.js @@ -1432,15 +1432,13 @@ function SoundManager(smURL, smID) { this.load = function(oOptions) { - var oS = null, _iO; + var oSound = null, instanceOptions; if (typeof oOptions !== 'undefined') { s._iO = _mixin(oOptions, s.options); - s.instanceOptions = s._iO; } else { oOptions = s.options; s._iO = oOptions; - s.instanceOptions = s._iO; if (_lastURL && _lastURL !== s.url) { _wDS('manURL'); s._iO.url = s.url; @@ -1454,21 +1452,24 @@ function SoundManager(smURL, smID) { s._iO.url = _parseURL(s._iO.url); - sm2._wD('SMSound.load(): ' + s._iO.url, 1); + // ensure we're in sync + s.instanceOptions = s._iO; + + // local shortcut + instanceOptions = s._iO; - if (s._iO.url === s.url && s.readyState !== 0 && s.readyState !== 2) { + sm2._wD('SMSound.load(): ' + instanceOptions.url, 1); + + if (instanceOptions.url === s.url && s.readyState !== 0 && s.readyState !== 2) { _wDS('onURL', 1); // if loaded and an onload() exists, fire immediately. - if (s.readyState === 3 && s._iO.onload) { + if (s.readyState === 3 && instanceOptions.onload) { // assume success based on truthy duration. - s._iO.onload.apply(s, [(!!s.duration)]); + instanceOptions.onload.apply(s, [(!!s.duration)]); } return s; } - // local shortcut - _iO = s._iO; - // reset a few state properties s.loaded = false; @@ -1478,11 +1479,11 @@ function SoundManager(smURL, smID) { // TODO: If switching from HTML5 -> flash (or vice versa), stop currently-playing audio. - if (_html5OK(_iO)) { + if (_html5OK(instanceOptions)) { - oS = s._setup_html5(_iO); + oSound = s._setup_html5(instanceOptions); - if (!oS._called_load) { + if (!oSound._called_load) { sm2._wD(_h5+'load: '+s.id); @@ -1492,11 +1493,11 @@ function SoundManager(smURL, smID) { // if url provided directly to load(), assign it here. - if (s.url !== _iO.url) { + if (s.url !== instanceOptions.url) { - sm2._wD(_wDS('manURL') + ': ' + _iO.url); + sm2._wD(_wDS('manURL') + ': ' + instanceOptions.url); - s._a.src = _iO.url; + s._a.src = instanceOptions.url; // TODO: review / re-apply all relevant options (volume, loop, onposition etc.) @@ -1513,9 +1514,9 @@ function SoundManager(smURL, smID) { // standard s._a.preload = 'auto'; - oS._called_load = true; + oSound._called_load = true; - if (_iO.autoPlay) { + if (instanceOptions.autoPlay) { s.play(); } @@ -1529,13 +1530,13 @@ function SoundManager(smURL, smID) { try { s.isHTML5 = false; - s._iO = _policyFix(_loopFix(_iO)); + s._iO = _policyFix(_loopFix(instanceOptions)); // re-assign local shortcut - _iO = s._iO; + instanceOptions = s._iO; if (_fV === 8) { - _flash._load(s.id, _iO.url, _iO.stream, _iO.autoPlay, _iO.usePolicyFile); + _flash._load(s.id, instanceOptions.url, instanceOptions.stream, instanceOptions.autoPlay, instanceOptions.usePolicyFile); } else { - _flash._load(s.id, _iO.url, !!(_iO.stream), !!(_iO.autoPlay), _iO.loops||1, !!(_iO.autoLoad), _iO.usePolicyFile); + _flash._load(s.id, instanceOptions.url, !!(instanceOptions.stream), !!(instanceOptions.autoPlay), instanceOptions.loops||1, !!(instanceOptions.autoLoad), instanceOptions.usePolicyFile); } } catch(e) { _wDS('smError', 2); @@ -1546,7 +1547,7 @@ function SoundManager(smURL, smID) { } // after all of this, ensure sound url is up to date. - s.url = _iO.url; + s.url = instanceOptions.url; return s; @@ -1898,7 +1899,8 @@ function SoundManager(smURL, smID) { this.stop = function(bAll) { - var _iO = s._iO, _oP; + var instanceOptions = s._iO, + originalPosition; if (s.playState === 1) { @@ -1914,8 +1916,8 @@ function SoundManager(smURL, smID) { _detachOnPosition(); // and "to" position, if set - if (_iO.to) { - s.clearOnPosition(_iO.to); + if (instanceOptions.to) { + s.clearOnPosition(instanceOptions.to); } if (!s.isHTML5) { @@ -1923,7 +1925,7 @@ function SoundManager(smURL, smID) { _flash._stop(s.id, bAll); // hack for netStream: just unload - if (_iO.serverURL) { + if (instanceOptions.serverURL) { s.unload(); } @@ -1931,13 +1933,13 @@ function SoundManager(smURL, smID) { if (s._a) { - _oP = s.position; + originalPosition = s.position; // act like Flash, though s.setPosition(0); // hack: reflect old position for onstop() (also like Flash) - s.position = _oP; + s.position = originalPosition; // html5 has no stop() // NOTE: pausing means iOS requires interaction to resume. @@ -1957,8 +1959,8 @@ function SoundManager(smURL, smID) { s.instanceCount = 0; s._iO = {}; - if (_iO.onstop) { - _iO.onstop.apply(s); + if (instanceOptions.onstop) { + instanceOptions.onstop.apply(s); } } @@ -2123,7 +2125,7 @@ function SoundManager(smURL, smID) { this.resume = function() { - var _iO = s._iO; + var instanceOptions = s._iO; if (!s.paused) { return s; @@ -2134,22 +2136,22 @@ function SoundManager(smURL, smID) { s.playState = 1; if (!s.isHTML5) { - if (_iO.isMovieStar && !_iO.serverURL) { + if (instanceOptions.isMovieStar && !instanceOptions.serverURL) { // Bizarre Webkit bug (Chrome reported via 8tracks.com dudes): AAC content paused for 30+ seconds(?) will not resume without a reposition. s.setPosition(s.position); } // flash method is toggle-based (pause/resume) - _flash._pause(s.id, _iO.multiShot); + _flash._pause(s.id, instanceOptions.multiShot); } else { s._setup_html5().play(); _start_html5_timer(); } - if (!_onplay_called && _iO.onplay) { - _iO.onplay.apply(s); + if (!_onplay_called && instanceOptions.onplay) { + instanceOptions.onplay.apply(s); _onplay_called = true; - } else if (_iO.onresume) { - _iO.onresume.apply(s); + } else if (instanceOptions.onresume) { + instanceOptions.onresume.apply(s); } return s; @@ -2422,9 +2424,9 @@ function SoundManager(smURL, smID) { _applyFromTo = function() { - var _iO = s._iO, - f = _iO.from, - t = _iO.to, + var instanceOptions = s._iO, + f = instanceOptions.from, + t = instanceOptions.to, start, end; end = function() { @@ -2454,17 +2456,17 @@ function SoundManager(smURL, smID) { if (f !== null && !isNaN(f)) { // apply to instance options, guaranteeing correct start position. - _iO.position = f; + instanceOptions.position = f; // multiShot timing can't be tracked, so prevent that. - _iO.multiShot = false; + instanceOptions.multiShot = false; start(); } // return updated instanceOptions including starting position - return _iO; + return instanceOptions; }; @@ -2643,9 +2645,9 @@ function SoundManager(smURL, smID) { this._get_html5_duration = function() { - var _iO = s._iO, + var instanceOptions = s._iO, // if audio object exists, use its duration - else, instance option duration (if provided - it's a hack, really, and should be retired) OR null - d = (s._a && s._a.duration ? s._a.duration*1000 : (_iO && _iO.duration ? _iO.duration : null)), + d = (s._a && s._a.duration ? s._a.duration*1000 : (instanceOptions && instanceOptions.duration ? instanceOptions.duration : null)), result = (d && !isNaN(d) && d !== Infinity ? d : null); return result; @@ -2671,9 +2673,9 @@ function SoundManager(smURL, smID) { this._setup_html5 = function(oOptions) { - var _iO = _mixin(s._iO, oOptions), d = decodeURI, + var instanceOptions = _mixin(s._iO, oOptions), d = decodeURI, _a = _useGlobalHTML5Audio ? sm2._global_a : s._a, - _dURL = d(_iO.url), + _dURL = d(instanceOptions.url), sameURL, result; @@ -2721,7 +2723,7 @@ function SoundManager(smURL, smID) { if (result) { - s._apply_loop(_a, _iO.loops); + s._apply_loop(_a, instanceOptions.loops); return result; @@ -2737,13 +2739,13 @@ function SoundManager(smURL, smID) { // assign new HTML5 URL - _a.src = _iO.url; + _a.src = instanceOptions.url; - s.url = _iO.url; + s.url = instanceOptions.url; - _lastURL = _iO.url; + _lastURL = instanceOptions.url; - _lastGlobalHTML5URL = _iO.url; + _lastGlobalHTML5URL = instanceOptions.url; _a._called_load = false; @@ -2753,9 +2755,9 @@ function SoundManager(smURL, smID) { _wDS('h5a'); - if (_iO.autoLoad || _iO.autoPlay) { + if (instanceOptions.autoLoad || instanceOptions.autoPlay) { - s._a = new Audio(_iO.url); + s._a = new Audio(instanceOptions.url); } else { @@ -2787,9 +2789,9 @@ function SoundManager(smURL, smID) { _add_html5_events(); - s._apply_loop(_a, _iO.loops); + s._apply_loop(_a, instanceOptions.loops); - if (_iO.autoLoad || _iO.autoPlay) { + if (instanceOptions.autoLoad || instanceOptions.autoPlay) { s.load(); @@ -2991,18 +2993,18 @@ function SoundManager(smURL, smID) { this._whileloading = function(nBytesLoaded, nBytesTotal, nDuration, nBufferLength) { - var _iO = s._iO; + var instanceOptions = s._iO; s.bytesLoaded = nBytesLoaded; s.bytesTotal = nBytesTotal; s.duration = Math.floor(nDuration); s.bufferLength = nBufferLength; - if (!s.isHTML5 && !_iO.isMovieStar) { + if (!s.isHTML5 && !instanceOptions.isMovieStar) { - if (_iO.duration) { + if (instanceOptions.duration) { // use duration from options, if specified and larger. nobody should be specifying duration in options, actually, and it should be retired. - s.durationEstimate = (s.duration > _iO.duration) ? s.duration : _iO.duration; + s.durationEstimate = (s.duration > instanceOptions.duration) ? s.duration : instanceOptions.duration; } else { s.durationEstimate = parseInt((s.bytesTotal / s.bytesLoaded) * s.duration, 10); } @@ -3022,15 +3024,15 @@ function SoundManager(smURL, smID) { } // allow whileloading to fire even if "load" fired under HTML5, due to HTTP range/partials - if ((s.readyState !== 3 || s.isHTML5) && _iO.whileloading) { - _iO.whileloading.apply(s); + if ((s.readyState !== 3 || s.isHTML5) && instanceOptions.whileloading) { + instanceOptions.whileloading.apply(s); } }; this._whileplaying = function(nPosition, oPeakData, oWaveformDataLeft, oWaveformDataRight, oEQData) { - var _iO = s._iO, + var instanceOptions = s._iO, eqLeft; if (isNaN(nPosition) || nPosition === null) { @@ -3045,21 +3047,21 @@ function SoundManager(smURL, smID) { if (!s.isHTML5 && _fV > 8) { - if (_iO.usePeakData && typeof oPeakData !== 'undefined' && oPeakData) { + if (instanceOptions.usePeakData && typeof oPeakData !== 'undefined' && oPeakData) { s.peakData = { left: oPeakData.leftPeak, right: oPeakData.rightPeak }; } - if (_iO.useWaveformData && typeof oWaveformDataLeft !== 'undefined' && oWaveformDataLeft) { + if (instanceOptions.useWaveformData && typeof oWaveformDataLeft !== 'undefined' && oWaveformDataLeft) { s.waveformData = { left: oWaveformDataLeft.split(','), right: oWaveformDataRight.split(',') }; } - if (_iO.useEQData) { + if (instanceOptions.useEQData) { if (typeof oEQData !== 'undefined' && oEQData && oEQData.leftEQ) { eqLeft = oEQData.leftEQ.split(','); s.eqData = eqLeft; @@ -3079,9 +3081,9 @@ function SoundManager(smURL, smID) { s._onbufferchange(0); } - if (_iO.whileplaying) { + if (instanceOptions.whileplaying) { // flash may call after actual finish - _iO.whileplaying.apply(s); + instanceOptions.whileplaying.apply(s); } } @@ -4504,6 +4506,8 @@ function SoundManager(smURL, smID) { // oh well } hasPlugin = (!!obj); + // cleanup, because it is ActiveX after all + obj = null; } _hasFlash = hasPlugin;