Tempo 145

Int CYMINIT=0
Int SNAREINIT=0
Int TOMINIT=0

System.TimeBase=10368

Function Tom(Int NO) {
	Int CC
	Int V=0
	IF(NO=1) {
		V=3
	} ELSE {
		IF(NO=2) {
			V=7
		}
	}
	IF(TIMIDITY=0) {
		CC=HighTom2-V
	} ELSE {
		IF(TOMINIT=0) {
			CC=HighTom1-V
			TOMINIT=1
		} ELSE {
			CC=HighTom2-V
			TOMINIT=0
		}
	}
	Result=CC
}

Function Snare() {
	Int CC
	IF(TIMIDITY=0) {
		CC=Snare1
	} ELSE {
		IF(SNAREINIT=0) {
			CC=Snare1
			SNAREINIT=1
		} ELSE {
				CC=Snare2
			SNAREINIT=0
		}
	}
	Result=CC
}

Function Cymbal() {
	Int CC
	IF(CYMINIT=0) {
		CC=CrashCymbal1
		CYMINIT=1
	} ELSE {
		CC=CrashCymbal2
		CYMINIT=0
	}
	Result=CC
}

Function RandV(Int MIN, Int MAX) {
	Str MML="v"
	MML=MML+Random(MIN,MAX)
//	Print(MML)
	MML
}

Str RMML
Function RandR(Int MIN, Int MAX) {
	SyncR
	Str MML="r"
	IF(KYOKUTANNISURU=1) {
		MIN=80
	}
	IF(RANDON=1) {
		RMML=RMML+"r"
		Int VALUE=Random(0,10)
		IF(VALUE<5) {
			MML=MML+"-"
		} ELSE {
			RMML=RMML+"-"
		}
		Str RAND=Random(MIN,MAX)
		MML=MML+RAND
		RMML=RMML+RAND
//		Print(MML)
		MML
	}
}

Function SyncR() {
	Str MML=RMML
	RMML=""
//	Print(MML)
	MML
}


		TR(10)
			Voice(StandardSet)
			$b{RandR(999,1728) RandV(120,127) n(Kick1),} //36
			$s{RandR(999,1728) RandV(120,127) n(Snare()),} //40
			$o{RandR(999,1728) RandV(110,127) n(OpenHiHat),}//46
			$p{RandR(999,1728) RandV(110,127) n(PedalHiHat),}//44
			$h{RandR(999,1728) RandV(110,127) n(ClosedHiHat),}//42
			$T{RandR(999,1728) RandV(110,127) n(Tom(0)),}//50
			$t{RandR(999,1728) RandV(110,127) n(Tom(0)),}//48
			$M{RandR(999,1728) RandV(110,127) n(Tom(1)),}//47
			$m{RandR(999,1728) RandV(110,127) n(Tom(1)),}//45
			$L{RandR(999,1728) RandV(110,127) n(Tom(2)),}//43
			$l{RandR(999,1728) RandV(110,127) n(Tom(2)),}//41
			$c{RandR(999,1728) RandV(115,127) n(Cymbal()),}//49
			$y{RandR(999,1728) RandV(115,127) n(CrashCymbal2),}//57
			$K{RandR(999,1728) RandV(120,127) n(Sticks),}//31
			$R{RandR(999,1728) RandV(105,127) n(RideCymbal1),}//51

			#r0={
				Rythm {
					v127s16v113s16v120s16v110s16
					v127t16v113t16v120t16v110t16
					v127m16v113m16v120m16v110m16
					v127l16v113l16v120l16v110l16
					v127
				}
			}
			#r0

			#r1={
				Sub {
					Rythm {
						o4o4o4o4
					}
				}
				Rythm {
					b4s4b8b8s4
				}
			}
			[6 #r1]

			Sub {
				Rythm {
					c2c2c2c4.c8
				}
			}
			Rythm {
				[4 b4 v127s16v113s16v120s16v110s16 v127]
			}

			//----
			[8 #r1]
			Sub { Rythm { c1 } }
			[8 #r1]

			Rythm { 'b8h8'b8p4p4p4 }
			[2 #r1]
			Rythm {
				'b8s8o8't8t8m8m8l8l8l8
			}

			#r3={
				Sub {
					Rythm {
						o8o8p4p4p4
					}
				}
				Rythm {
					b8b8^2s4
				}
			}
			#r4={
				Sub {
					Rythm {
						o8o8h4o8o8h4
					}
				}
				Rythm {
					b8b8^2s4
				}
			}

			Sub { Rythm {c1}}
			[6 #r3]
			[2 #r4]
			Sub { Rythm {c1}}
			[6 #r3]
			[1 #r4]

			#rb2={
				Sub {
					#r0
				}
				Rythm {
					b4b4b4b4
				}
			}
			#rb2
			//----
			Sub { Rythm {c1}}
			[15 #r1]
			#rb2
			Sub { Rythm {c1}}
			[15 #r1]
			Sub {
				Rythm {
					c2c2c2
				}
			}
			Rythm {
				'b8s8o8't8'o8t8'm8'o8m8'l8'o8l8'	l8
			}

			//---
			Sub { Rythm {c1}}
			[6 #r3]
			[2 #r4]
			Sub { Rythm {c1}}
			[2 #r3]
			Sub { Rythm {c1}}
			[2 #r3]
			Sub { Rythm {c1}}
			[2 #r3]
			Sub { Rythm {c1}}
			[1 #r4]
			Sub { Rythm {c2c2}}
			#rb2

			//---

			Sub { Rythm {c1}}
			[15 #r1]
			#rb2
			Sub { Rythm {c1}}
			[14 #r1]

			Sub {
				Rythm {
					R5R7R9R11R12R13R12R11R9R7R6R4
				}
			}
			Rythm {
				'b1o1'
				r2r4r24m24M24m24l4
			}
