/*
<考え方の大ざっぱな説明>
STRという文字列型の変数に、曲1つ分のソースをぶち込み、
INTという整数型で、鳴らさせたい曲の番号を選ばせる。
ソースの最後のSWITCH(HOGE)で、HOGEの中に、どの数が入っているかで分岐させる。
CやJavaやDelphiなどで使われている「型」という考えがわかると、何となくわかる予定。
どういうわけか、頭文字が大文字でないと、変数扱いしてくれません。
以下、ひな形です。ご自由に流用してください。
*/
//_得体の知れない設定(INT HOGE={0}の、数字を変更してください)。
INT HOGE=0
//_得体の知れない設定(繰り返す回数の設定)。
//~{くりかS}={[1}
/*
HOGEの数字を1にすると、AAが流れ、
2にすると、BBが流れる。
それ以外だと全部を順番どおりに。
そういう仕組みを、ソースの最後に仕込んである。
*/
//------------------------------------------------------------------------------
読む(gs.h);
読む(delay.h);
STR AA={
くりかS
ここ~に曲を1つ入~れる~♪
]
}
STR BB={
くりかS
ここ~にわ別の曲を1つ入~れる~♪
]
}
//_<強引に解決する何か>
//STR=ZZの中身は、音源リセット。
STR ZZ={
System.MeasureShift = 1; //(弄らないこと)
r1 ResetGS; r4 //音源初期化命令
TrackSync; //全てのトラックを同期する
TR(1) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(2) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(3) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(4) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(5) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(6) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(7) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(8) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(9) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(10) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 音色(StandardSet)
TR(11) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(12) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(13) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(14) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(15) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR(16) TrackKey(0) Key(0) REV(40) CHO(0) VAR(0) p%(0) EP(127) V(100) t(0) M(0) v127 @(1,0)
TR=10 GS_RHYTHM(1)
TR=11 GS_RHYTHM(2)
r4 TrackSync;
}
//_ここで鳴らす順番を書き込む。
//このひな形だと、ZZでリセットしてから曲を鳴らしてる。
//AAとかBBとか書いてるのは、MやPなどの1文字で働く命令とのかぶりを防ぐため。
SWITCH(HOGE){
CASE(1){ZZ AA}
CASE(2){ZZ BB}
DEFAULT{ZZ AA ZZ BB}
}