/*

和音遊びの例2

音の感覚に耳を慣らすとか、一息つきたい時に、気軽に再生してもらえれば・・・と。

*/

//------------------------------------------------------------------------------
//ユーザ定義
//

Str I={ 'ceg'}
Str II={'dfa'}
Str IV={'fa>c<'}
Str V7={'gb>df<'}
Str VI={'a>ce<'}

#1={ V7 | I}
#2={ II | V7 | I}
#3={ VI | II | V7 | I}
#4={ IV | II | V7 | I}
#5={ VI | IV | II | V7 | I}
#6={ IV | V7 | I}
#7={ VI | IV | V7 | I}
#8={ V7 | VI}
#9={ II | V7 | VI}
#10={VI | II | V7 | VI}
#11={IV | II | V7 | VI}
#12={VI | IV | II | V7 | VI}
#13={IV | V7 | VI}
#14={VI | IV | V7 | VI}
#15={IV | I}
#16={VI | IV | I}

//------------------------------------------------------------------------------
//関数
//

Function StateLoop(){

	Int State;
	State=Random(1,16);

	While(State!=0){
		//Print(State);
		State=OutPut(State);
		If(State==0){/* Print("Rest")*/ ;}
	}
}

Function OutPut(Int State){

	Switch(State){
	Case(1){ #1; }
	Case(2){ #2; }
	Case(3){ #3; }
	Case(4){ #4; }
	Case(5){ #5; }
	Case(6){ #6; }
	Case(7){ #7; }
	Case(8){ #8; }
	Case(9){ #9; }
	Case(10){#10;}
	Case(11){#11;}
	Case(12){#12;}
	Case(13){#13;}
	Case(14){#14;}
	Case(15){#15;}
	Case(16){#16;}
	}
	
	State=Random(17);
	Result=State;
}

//------------------------------------------------------------------------------
//演奏させて確認
//

ResetGM r1

TR(1) @6 l1 o4 v70

I;
[2 StateLoop(); ]
r1;