//----------------------------------------------------------------------------------------------------------------------

INT Type = 1;

TrackName =  {" Shooting Star "}
Copyright =  {"球場のピアニスト"} 
MetaText  =  {"しゅっ、しゅっ、しゅーてぃんぐすたー♪"} 


/*----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------*/
System.MeasureShift(1);    //音源初期化用に発音を1小節遅らせる
IF(Type =1){ResetGS;TrackSync;}ELSE{SysEx$=f0,41,10,00,48,12,0,0,0,0,0,0,f7; Time(1:1:0); }//音源初期化
//----------------------------------------------------------------------------------------------------------------------
TimeSignature =  4,4      //4/4
Tempo = 160                //テンポ
KeyFlag+()      //調の設定 # = +,♭= -
Key(-2)

IF(Type=1){
CuePoint={"TwmParam(64,120,2);"}
}ELSE{

//7bit を、4bit ずつ分ける
Function HIGH(I){ Result = (I / 16) & $F }
Function LOW(I){ Result = (I & $F) }

//REVERB TYPE
Int RT_OFF = 0;
Int RT_REVERB = 1;
Int RT_SRV_ROOM = 2;
Int RT_SRV_HALL = 3;
Int RT_SRV_PLATE = 4;
Int RT_GM2_REVERB = 5;
Function SD80ReverbType(V){
SysEx=$F0,$41,(DeviceNumber),0,$48,$12,{$10,00,$04,00,(V)},$F7;
}

Function SD80ReverbTime(V){//0~127
SysEx$=F0,41,10,00,48,12,{10,00,04,07,08,00,(HIGH(V)),(LOW(V))},F7;
}

SD80ReverbType(RT_REVERB);
}



CH(11) SysEx$ = f0,41,10,42,12,{40,1a,15,02},f7;
//CH(12) SysEx$ = f0,41,10,42,12,{40,1b,15,02},f7;
//CH(13) SysEx$ = f0,41,10,42,12,{40,1c,15,02},f7;

Str DT={Time(1:1:0)}

TimeKey((98:1:0),,1)
TimeKey((130:1:0),,0)


Include(delay.h)

//----------------------------------------------------------------------------------------------------------------------
TR(1) @(1,8) EP(127) v(100) REV(120) CHO(30) o7 q99 l8
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str AT1={Time(2:1:0)}
Str AT2={Time(33:1:0)}
Str AT3={Time(81:1:0)}
Str AT4={Time(97:1:0)}
Str AT5={Time(130:1:0)}


/* P.T */
Str APT1={P.T(0,127,!1)}

#1A={g^^^ ^^^^ f^^g ^f^^ f^^c ^^^^ ^^^^ ^^cd e^^^ `c^^^ b^^^ a^^^ g^^^ ^^^^ ^^^^ a^b^ }
#1B={`c^`cb ^`c^`d ^^`c^ b^`c^ `c^`cb ^`c^`d ^`e`e^ ^^`e`d `c^g`c ^^^^ ^^^^ ^^^^ `f^^^ `e^^^ `d^^^ ^^^^ }
#1C={o4 l16 APT1 [4 cegb>] P(64) l8 o4}
#1D={o4 l16 APT1 [4 c+e+g+b+>] P(64) l8 o4}
#1E={o7 g^^^ ^^^^ f^^g ^f^^ f^^c ^^^^ ^^^^ ^^^^}
#1x={AT1 MidiDelay({#1A#1B},5,!4) AT2 v+27 V(127) CHO(127) #1C AT3 #1C AT4 #1D AT5 v-27 V(100) CHO(30) MidiDelay({#1E},5,!4) }
#TR1={DT #1x}
//----------------------------------------------------------------------------------------------------------------------
TR(2) @(82,1) EP(127) v(100) V(127) REV(80) CHO(50) o6 q99 l8
//----------------------------------------------------------------------------------------------------------------------
Str BT1={Time(18:1:0)}
Str BT2={Time(66:1:0)}

#2A={g^^^ ^^^^ f^^g ^f^^ f^^c ^^^^ ^^^^ ^^cd e^^^ `c^^^ b^^^ a^^^ g^^^ ^^^^ ^^^^ a^b^ }
#2B={`c^`cb ^`c^`d ^^`c^ b^`c^ `c^`cb ^`c^`d ^`e`e^ ^^`e`d `c^g`c ^^^^ ^^^^ ^^^^ `f^^^ `e^^^ `d^^^ `c^^^ }
#2C={`c^^^ ^^^^ ^^^^ ^^^^}
#2D={g^^^ ^^^^ c^^d ^^e^ f^^^ ^^^^ ^^^^ ^^^^ e^^^ ^^^^ "g^^"a ^^"b^ c^^^ ^^^^ d^^^ ^^^^}
#2E={e^^^ ^^^^ g^^f ^^g^ f^^^ ^^^^ `c^^^ ^^^^ a^^^ ^^^^ ^^^^ ^^^^ b^^^ ^^^^ `c^^^ `d^^^}

#2x={BT1 [#2A#2B: CHO(127)] #2C BT2 #2D#2E v+20 [#2A#2B] #2C}
#TR2={DT #2x}


//----------------------------------------------------------------------------------------------------------------------
TR(3) @(82,110,3) EP(127) v(60) V(120) REV(10) CHO(50) o6 q99 l16
//----------------------------------------------------------------------------------------------------------------------
Str CT1={Time(34:1:0)}

/* P.N */
Str CP1={P.N(0,96,32,127,64)}

#3A={CP1 [o5 [cgeb > ][`cegc < ]] [o5 [dfa`c>][`dfad<]] [o5 [cgeb>][`cegc<]] [o5 ["bfda>][bdf"b<]]}
#3B={o4 [4 ceg`c >][4 `cgec <] o4 [4 dfa`d >][4 `dafd <] o4 [4 ceg`c >][4 `cgec <] o4 [4 "bdfb >][4 bfdb <] }
#3x={CT1 [#3A] v+35 [#3B] v-35 [4 #3A] [#3A]}
#TR3={DT #3x}


//----------------------------------------------------------------------------------------------------------------------
TR(4) @(82) EP(120) v(60) REV(120) P(0)   CHO(30) o4 q101 l4
TR(5) @(82) EP(120) v(60) REV(120) P(127) CHO(30) o4 q101 l4
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str DT1={Time(130:1:0)}

/* EP.W */
Str DEPW1={EP.W(30,120,!64)}

#4A={'gec'^^^ ^^^^ 'ge"b'^^^ 'gec'^^^ 'fc"a'^^^ ^^^^ 'fd"b'^^^ 'gd"b'^^^ 
     'gec'^^^ ^^^^ 'afd'^^^ 'aec'^^^ 'afd'^^^ ^^^^ 'bge'^^^ 'bfd'^^^ }
#4B={'gec'^^^ ^^^^ 'fd"a'^^^ ^^^^ 'ec"g'^^^ ^^^^ 'fd"b'^^^ 'gec'^^^ 
     'fd"a'^^^ ^^^^ 'ec"g'^^^ 'afc'^^^ 'fd"a'^^^ ^^^^ 'gec'^^^ 'afd'^^^}
#4C={'gec'^^^ ^^^^ 'ge"b'^^^ 'gec'^^^}

#4x={AT1 DEPW1 [#4A] EP(120) v+10 q99 [#4B] [4 #4B] DT1 v-20 #4C}
#TR4={DT #4x}

#5x={AT1 DEPW1 [#4A] EP(120) v+10 q99 [#4B] [4 #4B] DT1 v-20 #4C}
#TR5={DT #5x}

//----------------------------------------------------------------------------------------------------------------------
TR(6) @(82,96) EP(127) v(70) V(127) REV(80) CHO(40) o6 q99 l16
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str ET1={Time(17:1:0)}
Str ET2={Time(113:1:0)}

/* P.N */
Str EPN1={P.N(0,127)}

#6A={v(30) EPN1 [8 "gg v+10]}
#6x={ET1 #6A ET2 #6A}
#TR6={DT #6x}

//----------------------------------------------------------------------------------------------------------------------
TR(7) @(82,98) EP(120) v(90) V(120) REV(80) CHO(30) o4 q80 l16
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str FT1={Time(34:1:0)}

#7A={[4 "ggg"g g"gg"g] [4 "fff"f f"ff"f] [4 "eee"e e"ee"e] [ "ddd"d d"dd"d] ["ggg"g g"gg"g] }
#7B={[4 "fff"f f"ff"f] [ "eee"e e"ee"e] ["aaa"a a"aa"a] [4 "fff"f f"ff"f] ["ggg"g g"gg"g] ["aaa"a a"aa"a]}
#7x={FT1 [6 #7A#7B]}
#TR7={DT #7x}

//----------------------------------------------------------------------------------------------------------------------
TR(8) @(82) EP(120) v(70) V(120) REV(80) CHO(30) P(0) p(62) o6 q99 l4
TR(9) @(82) EP(120) v(70) V(120) REV(80) CHO(30) P(127) o6 q99 l4
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str GT1={Time(34:1:0)}

/* EP.W */

#8A={g^^^ ^^^^ f^^^ ^^^^ e^^^ ^^^^ d^^^ g^^^ f^^^ ^^^^ e^^^ a^^^ f^^^ ^^^^ g^^^ a^^^ }
#8B={}
#8x={GT1 [5 #8A] [3 #8B]}
#TR8={DT #8x}

#9x={GT1 [5 #8A] [3 #8B]}
#TR9={DT #9x}

//----------------------------------------------------------------------------------------------------------------------
TR(12) @(82,1) EP(127) v(80) V(120) REV(80) CHO(50) P(64) o6 q99 l8
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str HT1={Time(82:1:0)}

/* EP.W */
//#2A={g^^^ ^^^^ f^^g ^f^^ f^^c ^^^^ ^^^^ ^^cd e^^^ `c^^^ b^^^ a^^^ g^^^ ^^^^ ^^^^ a^b^ }
//#2B={`c^`cb ^`c^`d ^^`c^ b^`c^ `c^`cb ^`c^`d ^`e`e^ ^^`e`d `c^g`c ^^^^ ^^^^ ^^^^ `f^^^ `e^^^ `d^^^ `c^^^ }

#12A={e^^^ ^^^^ d^^e ^d^^ d^^"a ^^^^ ^^^^ ^^"a"b c^^^ a^^^ g^^^ f^^^ e^^^ ^^^^ ^^^^ f^g^ }
#12B={a^ag ^a^b ^^a^ g^a^ a^ag ^a^b ^`c`c^ ^^`cb a^ea ^^^^ ^^^^ ^^^^ `d^^^ `c^^^ b^^^ a^^^ }
#12C={e^^^ ^^^^ ^^^^ ^^^^}

#12x={HT1 [#12A#12B] #12C}
#TR12={DT #12x}
//----------------------------------------------------------------------------------------------------------------------
TR(15) @(118,1) EP(120) v(110) REV(120) CHO(30) BR(12) o4 q99 l8
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str ST1={Time(2:1:0)}
Str ST2={Time(17:1:0)}
Str ST3={Time(33:1:0)}
Str ST4={Time(97:1:0)}

#15A={}
#15B={}
#15x={ST1 #15A#15B}
#TR15={DT #15x}

//----------------------------------------------------------------------------------------------------------------------
TR(16) @(123) EP(120) v(127) REV(127) CHO(127) BR(12) o5 q99 l8
//----------------------------------------------------------------------------------------------------------------------


/* p.T */
Str SP1={p.T(64,127,!1)}
Str SP2={p.T(0,127,!1)}

/* EP.T */
Str SEPT1={EP.T(30,127,!1)}

#16A={SP1 SEPT1 '"cc`c'^^^ ^^^^ ^}
#16B={SP2 SEPT1 '"cc`c'^^^ ^^^^ ^}
#16x={#16A ST2 #16B ST3 #16B ST4 #16B}
#TR16={DT #16x}
//----------------------------------------------------------------------------------------------------------------------
TR(10) @(26) EP(127) v(110) V(120) REV(40) CHO(30) l16
TR(20) CH(10) v(120) l16
TR(21) CH(10) v(80) l16
//----------------------------------------------------------------------------------------------------------------------
Str TD1={Time(18:1:0)}
Str TD2={Time(49:1:0)}
Str TD3={Time(34:1:0)}

$a{n36} $b{n35}

#D1={l8 [7 b^^^ ^^^^ ^^^^ ^^^^ ] rrrr rrrr l16 rrrr rrbb b^^b ^^b^}
#D2={[31 b^^^ ] b^b^ [29 b^^^ ] b^bb b^^b ^^b^}
#Dx={TD1 #D1#D2 [5 #D2]}
#TR10={Rhythm{#Dx}}

$c{n38} $d{n40} $e{n39}

#DA1={rrrr rrdd d^^d ^^d^}
#DA2={[7 rrrr rrrr rrrr errr rrrr rrrr rrrr rrrr] rrrr rrrr rrrr errr rrrr rrdd d^^d ^^d^}
#DAx={TD2 #DA1 [5 #DA2]}
#TR20={Rhythm{#DAx}}

$f{n42} $g{n44} $h{n46}

#DB1={[7 [7 gfh^ ] fghg ] [6 gfh^ ] hg l32 hhhh l16 hghg}
#DBx={TD3 [6 #DB1]}
#TR21={Rhythm{#DBx}}
//----------------------------------------------------------------------------------------------------------------------
TR(1) |#TR1|

TR(2) |#TR2|

TR(3) |#TR3|

TR(4) |#TR4| TR(5) |#TR5|

TR(6) |#TR6|

TR(7) |#TR7|

TR(8) |#TR8| TR(9) |#TR9|

TR(12) |#TR12|

TR(15) |#TR15|

TR(16) |#TR16|

UseKeyShift(off)

TR(10) |#TR10| TR(20) |#TR20| TR(21) |#TR21| TR(11) |#TR11|