七行プログラミング part4
■ このスレッドは過去ログ倉庫に格納されています
0118デフォルトでない名無しさん
NGNG#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;char*a="c+d+ef+g+a+b",*b,*d;int t=4000,o,l=4,m;V(){(m=atoi(b+1))?l=m:
0;Sleep(t/l);}W(x){midiOutShortMsg(h,x);}main(c,v)char**v;{if(!midiOutOpen(&h,0,
0,0,0))for(b=v[1];*b;b++)(d=strchr(a,*b))?c=(d-a+(b[1]==43&&b++)+12+o*12)<<8,W(
8335504+c),V(),W(12416+c):*b-64?*b-111?*b-114?*b-116?*b==118?W(6522+atoi(++b)):0
:(t=24e4/atoi(++b)):V():(o=atoi(++b)-4):W(192+atoi(++b)*256);midiOutClose(h);}
v[0- ] ボリュームです。音の大きさを変更できます
あと、燃料投下。
#include <windows.h>
#include <mmsystem.h>
HMIDIOUT h;V(l,b,t)char*l,*b;{char m;(m=atoi(b+1))?*l=m:0;Sleep(t/(*l));}W(x){m\
idiOutShortMsg(h,x);}Y(v)char*v;{char*a="cdefgab",*b,*d,o=0,l=4,m=0,n=atoi(v);i\
nt c,t=4000;for(b=v;*b;b++)(d=strchr(a,*b))?c=("024579;"[d-a]-36+(b[1]==43&&b++)
+o*12)<<8,W(8335504+c+n),V(&l,b,t),W(12416+c+n):*b==111?o=atoi(++b)-4:*b==64?m=
atoi(++b),W(192+m*256+n):*b==114?V(&l,b,t):*b==116?t=24e4/atoi(++b):0;return 0;}
main(c,v)char**v;{long t[16],n;if(!midiOutOpen(&h,0,0,0,0)){for(n=c;--c;)t[c]=_\
beginthread(Y,0,v[c]);for(;n--;)WaitForSingleObject(t[n],INFINITE);}midiOutClose
(h);return 0;}
MMLプレイヤー(最高16重奏が可能)
mml [mml data] ...
mmldataの最初にチャンネル番号を付ける事。
■ このスレッドは過去ログ倉庫に格納されています