<?xml version="1.0" encoding="UTF-16" ?>
<lboxes>
<lbox>
<id>10001</id>
<name><![CDATA[01]]></name>
<desc><![CDATA[MusPlayer Light (ver 1.0)]]></desc>
random=true
wsec=2
share=true
enabled=true
glow=true
jump=false
function s(n)return ("r16"):rep(n) end
function st(n)return "t"..n.." " end
function emp()end
OE=emp
GN=emp
JN=emp
sl=_G.LBoxList
r={}w={}z=0
x=coroutine
y=x.resume
ot=os.time
sct=ot()
PS=H.PlaySound
RM=H.RegisterMenu
SI=H.SetInstrument
SP=H.SetPercussion
msl=nil
msz=0
sync=0
mc=0
nm=0
ft=1.0
mn={}
ch_t={}
cur_m=0
cs=nil
function v()
repeat
new_m=(cur_m+nm)%msz
if(random)then repeat new_m=math.random(0,msz-1)until(cur_m~=new_m)end
cur_m=new_m
set_music(cur_m)
nm=1
_i=cs.s_info
_G.MPlayerState=1
dsync=5
ntry=64
sync=dsync
_ab=0.005
sync_s={}
ctry=0
slnce=st(_i.temp)..s(64)
for c=0,mc do sync_s[c]=st(240).."r64r64[9]r64r64" end
for c=0,mc do PS(c, slnce)end
repeat
ctry=ctry+1
for c=0,mc do PS(c, sync_s[c])end
if(ctry>ntry)then _ab=_ab*1.5 ntry=math.max(16,ntry*0.5) ctry=0 end
x.yield()
_a=999999999
_b=0
for c=0,mc do _a=math.min(_a,ch_t[c]) _b=math.max(_b,ch_t[c])end
if((_b-_a)<=_ab) then sync=sync-1 else sync=dsync end
until(sync<1)
_G.MPlayerState=2
for c=0,7 do PS(c,r[c])end
x.yield()
until(false)
end
u=x.create(v)
function set_music(n)
cs=msl[mn[n%msz]]
for c=0,7 do SI(c,0)end
r={}
z=0
if(type(cs.r)=="table")then
_sz=table.getn(cs.r)
for c=1,_sz do _tr={cs.r[c]()}
for k,v in pairs(_tr) do if(r[k])then r[k]=r[k].."[1]v10"..v else r[k]=v end end
end
end
if(type(cs.r)=="function")then r={cs.r()}end
ft=(240.0/cs.s_info.temp)-0.1
mc=table.getn(r)-1
for c=1,mc+1 do r[c-1]=r[c].."[9]" end
for c=mc+1,7 do r[c]=st(cs.s_info.temp)..s(1024*8)end
end
function add_mscript(s)
if(s and s.s_info and s.s_info.name and (s.r or s.s_info.run))then _i=s.s_info
_r=s.r
_p=_i.part
if(_s and (not _s.ct or _s.ct<sct))then _s=nil end
if(_i.run)then _r=_i.run end
if(_p)then if(not _s)then _s={r={},ct=ot()}end _s.r[_p]=_r else _s={r=_r,ct=ot()} _p=0 end
if(not _i.temp)then _i.temp=120 end
_s.s_info=_i
end
end
function f1(k,v)
if(v and v.s_info)then
if(v.s_info.type=="music")then add_mscript(v)end
if(v.s_info.type=="multi_music" and v.s_info.array)then
sz=table.getn(v.s_info.array)
for j=1,sz do _lv={["s_info"]=v.s_info.array[j],["r"]=v.r} add_mscript(_lv)end
end
end
end
function f2(k,v)
mn[msz]=k
msz=msz+1
end
end
function scan()
table.foreach(sl,f1)
table.foreach(msl,f2)
if(msz<3)then random=false end
RM("> Next",2)
if(msz>0)then y(u)end
end
function iOE(b,c,d) if(d==0 and b and w[b])then GN(w[b],ft/c,255,255,255)JN(w[b],16.0/(c+7))end end
function OnSoundPlay(a,b,c,d)
if(cs and cs.s_info.onsound)then cs.s_info.onsound(a,b,c,d)end
if(d)then
if(d>0 and d<6)then SI(a,d-1)
elseif(d>20)then SP(a,d-20)end
end
if(d==9)then ch_t[a]=os.clock() z=z+1 if(z>mc)then z=0 y(u)end end
if(d==12)then scan()end
OE(b,c,d)
end
function setup()
if((not _G.MPlayer) or (not share))then _G.MPlayer={}end
msl=_G.MPlayer
i=1("cdefgab"):gsub(".",function(c)w[c]=i i=i+1 end)
if(wsec<=0)then scan()else PS(2,"t120"..s(wsec*8).."[12]")end
end
function OnInit()
H.SetOutletCount(7)
H.EnableSoundCallback(1)
if(glow)then GN=H.GlowNow OE=iOE end
if(jump)then JN=H.JumpNow OE=iOE end
if(enabled)then setup()end
end
function mf(_a)
if(sync<1)then nm=_a y(u)end
end
mfa={0,1}
function OnMenu(a)
mf(mfa[a])
end
function OnUserSay(str)
str=str:lower()
if(str=="next")then mf(1) end
if(str:len()>4)then for m=0,msz-1 do
if(mn[m]:lower():find(str) ~= nil)then cur_m=m tr=random random=false mf(0)random=tr break end end end
end]]></script>
<icon>1</icon>
</lbox>
<lbox>
<id>10002</id>
<name><![CDATA[02]]></name>
<desc><![CDATA[]]></desc>
<script><![CDATA[i=0
a={192,120,106,96,176,120,72,204,81,72,404,92,176,120,72,72,402,422,948}
e={105,70,105,70,68,66,64,62,60,58,56,54,52,50,48,105,70,105,70,105,70,66,60,54,52,70}
function s(n)return("r1"):rep(math.floor(n/32))..("r32"):rep(n%32)end
function op1()i=i+1 return s(a[i])end
f=0
function op2()f=(f%26)+1 return "r64t"..e[f]end
t={"t70 r1","o5",0,"v6","b8","o4","l1","b","f16#","v7","b16","o6","v8","f4#","l2","d","r2","g","l8.","f#","a","r1","a16","r16","v9","a4","e","r4","c#","b4","g4","e4","r8.","e8","g8",op1,"d4","f8#","r8","c4#","a8","a#","a4#","c4","e16","l2.","o3","c16#","d4#","r4.","v5","r16.","l4.","o7","r32","r2.","d8","c8#","g#","d16",1,"c8","d#","o2","l32","l16.","g8#","g4#",op2,"l1.","g16#","o8","g16","c","c16","f","f8","d8#","a16#","f16","f4","v10"}
function d(a)k=""a:gsub(".",function(c)u=t[c:byte()-31]if(type(u)=="string")then k=k..u else k=k..u()end end)return k end
function r()
i=0
f=0
return d(" !#$()*+,-.#/2,3789.#:%)>+,A)EBH2#3)LM3.,'FST8';FVD;-F!HQ,$+GU'#A.)3F#A)EA,H#E?N$F%,=+B%B!D;#9)ZREF,$UYX)Y@,[&<%#AQ.4,=#9')?,BF)$F#K!&8<.#:):-#AX0N],B%?=;&'U8?2,Z0@!EQUO+)*U,G%#B+$,?%#HQ$QH!8EQ$QX)?+T,3U)YXYQ%H!,G%.)'FE+,EU)YX#Y@,[)<%'=HF4;?'FH,$!8B)-#Dde):d+T,/#E)?,9)D,=):#EU,Y)XY,X)Y!#9F8$gX)YA[O+$[,L(6'#E?,9#D,=dU2<%:!8<@,/NT)1,:d)],j*H+&3dN#>d;d%]d;dFdFd)Ed,bdFd;d;dM')I4!3'd.I===+O!#n)*+OdXE,B)lEE231#k,3U8E,B)lEBBd3`:/!=dU,?;#m)A2,:31:d#j,L)j7!K+#O)nF,[#([!*d)h@d;dN-d!,Gd+T83#E?,9#D)=4")
,d(" %&#'+2,/0;@!#$,$F)$F#I7N$%)E$!.,:7#OPR-UT8'#E,'#A.)3;A,E)HE?;!8=F,E89F$Q,X?T8'U,YX)Y%,=FH!?.):RXF,D;D+G!#9,ZR:#:;AX%ZF$)D!A,H2)/L&83%)AF247.4=9'F,H$!#B)-#DM,:+ATZ2ZRLCN.)'#$Q$Q$Q%)ZR4,=)6*![,L-5F8X0d50d_)B%X,$#BN)B%,AF)H!-8XF_)B%A!8YF+,Y)$H%H+A#9AM)3F%H_B%X,$)B!#?8YF#-8XFd+2,<7#O)[L(,h)6*71#1)1''d#9,h86&,'dN#Kd;dFd;dFdAd)$dFdFd;d;dCd50d50M4d+23`:/=d,?V2)3V#m)A,:31:d#hFh)o#j,o6#(7(,n*@dN)Kd%Kd!O,n#(,nd=d+T8/F#G;-;):")
,d(" 0!.#12,4#6;.)<%=!,BF%)GJ+M:Q%&3F!8=F,E89F$Q,HQE+8D;-FX)G%#B0,E!D+XF#$RA)3F8E,$FBF2#'0S%.)ZC+`#IUa8I+`#3Ua83+`#^Ua8^!`RI+8JN)]T#1,X#4A)$0%?W9;Ab!#b)$F*#(+8=5)3!8E+,GF!8HQ$+)GF(#L)(#L)6,*;GF8X)G%#BQ+,'F)B%B,=+G!?%.)Z;,=+)XF2'7.3,:Cd50dCd50@d5Qd;d;dFd;dFdFdFdFdFd;d;dCd50dCd0d50d5d;d;d;d;d50;F")
,d(" 5!.,/#4%)?#=+)AF2#/57N$C.)'#$Q$Q)$F!8G,:%R4,=)6*50FG2I7&8I,=@![%E;![L5Q8XN#X)H;#A)$W!c;T#'U8E,'#A.)3;,AEH)E#?T,'#A.)3FAE#A,H)E#?N$%)E!,D+)XF$RA&)3F8E,$F)BQ,G!8?N.)'#]T1,X#4A,$W#],B%?=9d@+2):#Z:Q,O)[L(f6dT,'F)G;-;4%H+,A%A!8YF_)E%YHA!8EUX)YA[O$;+,/F#G;-;d2,40UO)/#i)i!''d#9,h86&,'d)?d>d$d;dFd$d%$dFd$d;d;dC+`:#/)<Q,?V23V#m)AdAEmAAX,A)E#A`/):/!#'-dM)/+<U8];+)EBBd2';7d;VU35Vd5d;d;d_JdN$qHd,B%X$)B!#?8YF#-,XF_)B%,A!8Y")
,d(" C%#>)=>!M'.,'0QE+8=5W=50T'FN#$Q$Q%.)ZFE+,EFXQ3:N#]T1,X)4#A,$5!A)EBF237&8^C+)$#bA%ACd50dCdW2,iQT1d)];N,$%)E+R$%)E+#H%)E;d#?d;d)BdFHd7+jd!Ad%bdFdFd;d;dCd50dCd0d50d5d;d;d;d;d50;F")
,d(" C%#D)>K!M35;%$QHQ#B+$,?%#HQ$Q)HQH!8HW+T30FG!,G%.)';,=FB=FH!8?N)'%=H!,X%E;![L-%:0$F)BQ_$NE%M^.#4,=#6)*Q?ZW-0=5;#$+(L,D%#HF!,9F8$QHQ,E+8D#3%H!8HWT,'QD;#9.ZREF,$;%B8=F,H!8G,ZR:):;A#X5NX)H;d2#:+)'!#'Z7L)(f6*,:@d+T3F_)BQNB%EF$+<F,H;$)H#-F8X%)E!8O)[,AF%E!YF+3F_)B%AFH_B%,EF)$d+2,:07)/#:):11d#>F_,$F!XFYF8A)Yd>dDd#Ad9d,*7dFdFdFdFd?d+8cd)31#k)3-V1VlE31k3T3!'Wd.:?DDGdM'#<+8E,B)lU];dN.ZdT1,3213:/d!8?)6@GDd+j,L#j!hdoj,o6d)(@dRL)^dT8'F#9;=;)4")
,d(" C%.)'C,=N)$Q#$Q!:RXF,D;8D;)9,:QX%EQ=#9)ZW,-d@N2'%:)Z'Z@'d!T,'F)98YF_)BQNBQEQ+Y#GF_,$Q)HQ!,'F#9;=;d_2)1Q%4+:#i)i::d#?;U$RX)A#Y)X#Y+HdX]d)]!$d#]d;dFdFdFdFdEd)cd;dM,3)33#':d50dN)'#I!)id%.:dT',3213:/d8>)p--d?d#6@d)Gd,=d_BQN)B%,AF)HNB%,EF)$NB;")
,d(" C!)$55%?5de'dNBQ!?;=;T4F_EQNEQ,$Q)HQBQBQBQd2107%,1QTidFj_*H+&/d;d;dFd;dFdFdFdFdFd;d;dM8/)<i%Z#1d.)3>-cJdM3#3)3d.'dT:5Fd8K;N)J=d>dpd%n@d_$qHd+8'F_)BQBQ+<")
end
s_info={["type"]="music",["name"]="Aion ~ Forgotten Sorrow",["temp"]=70,["part"]=1}]]></script>
<icon>2</icon>
</lbox>
<lbox>
<id>10003</id>
<name><![CDATA[03]]></name>
<desc><![CDATA[Aion ~ Forgotten Sorrow (p2)]]></desc>
<script><![CDATA[i=0
a={100,100,116,116,100}
e={105,70,68,66,64,62,60,58,56,54,52,58,70,50,48,46,44,42,40,38,78}
function s(n)return("r1"):rep(math.floor(n/32))..("r32"):rep(n%32)end
function op1()i=i+1 return s(a[i])end
f=0
function op2()f=(f%21)+1 return "r64t"..e[f]end
t={"","o6",0,"v7","f8#","o4","a8","o7","v8","c8#","r8","e8","o3","o2","d8","b8","o5","r4.","v6","a4","f4#","c4#","l2.","f#","v9","o8","c16#","d16","e16","f16#","a16","l4.","b","d","r2","g8","r4","e4","d4","b4",op2,"l8.","c#","a","e","g","r16","g16","b16","r8.",op1,"r2.","c8","g4","c4","c16","l1","v5","g8#","g#",1,"l2","v10","l1.","r32","r16.","r1"}
function d(a)k=""a:gsub(".",function(c)u=t[c:byte()-31]if(type(u)=="string")then k=k..u else k=k..u()end end)return k end
function r()
i=0
f=0
return d(" !#$'().#).)023*8/9.#)+;:!/;8<=>?(@2$E(3#4(GHI#L%L08JQH(.,#U02/#/23#O8>X#@H2EH#UH/H23H(PNH*H*H*H*H?LHD$!8GD^4*2/'(+#$(&#$E(@2+]#7H%&H'+H$H+H(&H#$H2EH,M%_@bQ")
,d(" %#&!(&/#&/&23+6#70()*!?7*25D-#C%$*/H'IJ1%KH!CCC2/#/23#O8>X#@H,2UH*0/H#THDH*H/H%ZH'8+H*H1HRH*H*H*H*H*H*HDHB*`!_2Lb`")
,d(" *!(+*0)*-#$%)&2+08$'.#)+;:/D-C%(./#C02E8)*#G(.*H-I#MBNH!.++2C#C2U*X#7H,2VHDH*HDH*H+H(/H*H*H1HRH*H*H*H*H*H*HDHBQ!_2Kb")
,d(" *!()1#)24*8.1-#&%$*&!?(A*-#C%(+*#&!FDHIKN2:DQH#+TT2+#+2E*X#AHDHT*H%TH*&HN!WH*H*H*H/H?2[H'$(@2+]#7%C08&1/1$!GD4H*H.H#)H*H*H*HDHB*_2JbN")
,d(" *,#$%+*&!+25*-(/%$0:#;+,&1C1C1C1H!IJ*;<(=#O>P'(:H#.TT,(E#T(WP&8/'2/Y.#+).2)!&H.THDH*HDH*H*H*H*H*H1H18FSED(5D8FBH*H0&H*H*H*H(.HEHBN_27b*")
,d(" *-#$1,$1(/B10?@*23D#4DH,IMBNH%(CDU#T1$!Y/%2$!#&%2$DHEHDH#CHDH*H*H/H(ZH/H0?2@H18G*$^3*8/1&BG*($83H*H/H*H*H*H*HDHBa_2KbN`")
,d(" RHSH%(TDV*W-P&8/*0.*()*8+2)HUH#FH+HDH*H+H%$H*H!$H1H*%/12&B1&1/1&1H*H*H*H*HCH*HDH-]M`0_Ab*`")
,d(" RHSHbbHDHDH*HDH*H*H*H*H*H1HRH*H*H*H*H*H*HDHB*a'_2JBD*N`")
end
s_info={["type"]="music",["name"]="Aion ~ Forgotten Sorrow",["temp"]=70,["part"]=2}]]></script>
<icon>2</icon>
</lbox>
</lboxes>