sample\mucom88\test_status.hsp » Plain Format
; ; MUCOM88 演奏ステータスを取得 ; #include "hspmucom.as" mucominit hwnd onexit *byebye wx=ginfo_sx:wy=ginfo_sy fname="sampl2.muc" ; コンパイルするMMLファイル sname="mmlbin" ; 出力される音楽ファイル ; コンパイルする mucomreset MUCOM_RESET_COMPILE mucomcomp fname,sname res=stat mucomres buf if res=1 { mes buf stop } ; コンパイルされたデータを再生する mucomreset MUCOM_RESET_PLAYER mucomload sname cls 4 syscolor 15:boxf yy=wy-100 sx=120:sy=20:x=0:y=yy objsize sx,20 dim chdata,64 note="C C+D D+E F F+G G+A A+B " mucomplay 0 mucomstat maxcount, MUCOM_STATUS_MAXCOUNT *main_smon mucomstat count, MUCOM_STATUS_COUNT redraw 0 syscolor 15 boxf 0,0,640,280 color 0,0,0 pos 0,0 mes "INTCOUNT:"+count+"/"+maxcount mes "" mes " Mut @ Vol Det Adr Key LFO Rev p qtz" ;s1 ="A 0 000 000 00000 0000 000 0 0 C 000" panstr=' ','R','L','C' chkey=" " ch=0 repeat 11 mucomgetchdata chdata,ch lfo_flag=0 mute_flag=0 rev_flag=0 flag=chdata(MUCOM_CHDATA_FLAG) flag2=chdata(MUCOM_CHDATA_FLAG2) wadr=chdata(MUCOM_CHDATA_WADR) vnum=chdata(MUCOM_CHDATA_VNUMORIG) code=chdata(MUCOM_CHDATA_CODE) vol=chdata(MUCOM_CHDATA_VOLORIG) detune=chdata(MUCOM_CHDATA_DETUNE) qtz=chdata(MUCOM_CHDATA_QUANTIZE) pan=chdata(MUCOM_CHDATA_PAN) poke chkey,0,$31+(code>>4) wpoke chkey,1,wpeek(note,2*(code&15)) if flag&8 : mute_flag=1 if flag&128 : lfo_flag=1 if flag2&32 : rev_flag=1 mes strf("%c %d %03d %03d %05d %04x %s %d %d %c %03d",65+ch,mute_flag,vnum,vol,detune,wadr,chkey,lfo_flag,rev_flag,panstr(pan),qtz) ch++ loop redraw 1 await 1000/30 goto *main_smon *byebye mucombye end