/**********
     TITLE: Music Object Extension - Dynamic
   VERSION: 1.2.0
    AUTHOR: Chris van Rensburg
 COPYRIGHT: 1996-2001 Beatnik, Inc. All Rights Reserved
  REQUIRES: music-object.js (3.3.0 or higher)
**********/
function mo_kwiklistToArray(_a){var _b=new Array(),_c=0,_d= -1;_b[0]='';while(true){var _e=Music.indexOf(_a,'|',_d+1),_f=Music.indexOf(_a,'[',_d+1),_g=Math.min(_e,_f),_h=_a.substring(_d+1,_g);for(var _i=_c;_i<_b.length;_i++)_b[_i]+=_h;if(_g==_a.length){break;}else if(_e==_g){_b[_b.length]='';_c=_b.length-1;}else if(_f==_g){_d=_g;var _j=1;while(_j>0){_f=Music.indexOf(_a,'[',_g+1);var _k=Music.indexOf(_a,']',_g+1);_g=Math.min(_f,_k);_j+=(_f==_g)?1: -1;}var _l=mo_kwiklistToArray(_a.substring(_d+1,_g));if(_l.length==1){_l[1]=_l[0];_l[0]='';}for(var _i=_b.length-1;_i>=_c;_i--){for(var _m=_l.length-1;_m>=0;_m--)_b[_c+(_i-_c)*_l.length+_m]=_b[_i]+_l[_m];}}_d=_g;}return _b;}function mo_random(_n,_o){if(typeof _o=='undefined'){return Math.round(Math.random()*(_n-1))+1;}else if(_o==null){
return _n;}else{return _n+Math.round(Math.random()*(_o-_n));}}function MO_x6_a(){for(var _p=0;_p<this._b.length;_p++)this._q[_p]=false;this._r=0;}function MO_x6_b(){var _s=this,_t=0,_u=mo_random(_s._b.length-_s._r);for(var _p=0;_p<_s._b.length;_p++){if(!_s._q[_p]){_t++;if(_t==_u){_s._q[_p]=true;break;}}}_s._r++;if(_s._r==_s._b.length)_s.reset();return _s._b[_p];}function mo_Shuffler(){var _v=mo_Shuffler.arguments;if(_v.length==1&&typeof _v[0]=='object'){this._b=_v[0];}else{this._b=new Array();if(_v.length==1&&typeof _v[0]=='number'){for(var _i=0;_i<_v[0];_i++)this._b[_i]=_i+1;}else{for(var _i=0;_i<_v.length;_i++)this._b[_i]=_v[_i];}}this._q=new Array();this.next=MO_x6_b;this.reset=MO_x6_a;this.reset();}function mo_randomFromList(){var _v=mo_randomFromList.arguments;if(_v.length==1&&typeof _v[0]=='object')_v=_v[0];return(_v.length==0)?'':_v[mo_random(_v.length)-1];}function mo_playRandomNote(_w,_x,_y,_z,_A,_B,_C,_D,_E,_F,_G,_H,_I){if(typeof _F=='integer')this.setController(_w,7,mo_random(_F,_G));
if(typeof _I=='integer')this.setController(_w,10,mo_random(_H,_I));this.playNote(_w,_x,_y,mo_random(Music.getNoteNumber(_z),Music.getNoteNumber(_A)),mo_random(_B,_C),mo_random(_D,_E));}function mo_extractGroup(_J,_K){var _L=typeof _K=='undefined'||_K==null||_K==''||_K.indexOf('[all')==0,_M=new Array();for(var _i=0;_i<_J.length;_i++){if(_L||_J[_i].indexOf(_K)==0)_M[_M.length]=_J[_i];}return _M;}function mo_randomFromGroup(_J,_K){var _N=mo_extractGroup(_J,_K);return(_N.length==0)?'':_N[mo_random(_N.length)-1];}function mo_groovoidGroup(_K){return mo_extractGroup(Music.groovoids,_K)}function mo_randomGroovoid(_K){return mo_randomFromGroup(Music.groovoids,_K)}
Music.groovoids=mo_kwiklistToArray('UI-[BeepClick1|Chimes|Choice1|Click[1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18]|CarriageReturn|FunnyBeep|Load1|MouseOver[1|2|Drone1]|Notification[1|2|3]|OpenOrClose[1|2|3]|Question|SimpleClick[1|2]|SystemBeep|TeletypeBurst2|TypeOneKey]|Hits-[BlastOff|Kicker[1|2|5]|LudwigVan|Magic|MysteryChime|SportsOrganCharge|ZoomAndHit]|Fanfare-[Arrival|Cascade|CorpSting1|Finished|Horserace|Mars|Majesty|Presenting|Sports]|Background-[Beeps|Clock|Dubby|Funky|Groove2|InfoPulse|Latin|News|Piano|SimpleTyping|Smooth|StillWaiting|Teletype]|Misc-[CashRegister|ThruPhoneRing]');Music.addPublicInstanceMethods('playRandomNote');Music.addPublicStaticMethods('extractGroup','groovoidGroup','kwiklistToArray','random','randomFromGroup','randomFromList','randomGroovoid','Shuffler');