//----------------------------------------------------------------------------------------------------------------------

INT Type = 1;//1ならTWM2用、そのほかならSD-80用

TrackName =  {"view of The sky Tower 〜 rong ver 〜"}
Copyright =  {"球場のピアニスト"} 
MetaText  =  {"お陰さまで長くなりました〜 ﾜｰｲヽ(ﾟ∀ﾟ)ﾒ(ﾟ∀ﾟ)ﾒ(ﾟ∀ﾟ)ﾉﾜｰｲ"} 


/*----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------*/
System.MeasureShift(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 = 90                //テンポ
KeyFlag+(cdfg) 　　　 　//調の設定 # = +,♭= -
Key(0)

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_SRV_PLATE);
}



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;

Include(chord5.h);
Sutoton(chord5j.h);
Include(unison.h);

Disp=1;
Chord5_off=0;
TopNote(2) 
//#KEY_Cp
ベースオフ

Str DT={Time(1:1:0)}

//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(1) @(49) EP(100) v(100) V(100) REV(70) CHO(30) P(48) o7 q99 l4
}ELSE{
TR(1) @(11,81) EP(100) v(100) V(100) REV(70) CHO(30) P(48) o7 q99 l4
}
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str AT1={Time(58:3:0)}
Str AT2={Time(76:1:0)}
Str AT3={Time(102:1:0)}

/* EP.W */
Str AEP1={EP.W(70,120,!4,120,120,!2,120,70,!4)}
Str AEP2={EP.W(100,120,!4,120,120,!2,120,100,!4)}

/* TempoChange */
Str ATPC1={TempoChange(90,50,!1)}
/*
#1A={AEP1 'c-e-g-'^^^ AEP2 '"b-d-f-'^^^ '"a-c-e-'^^'"b-d-f-'8'"a-c-e-'8'"g-"bd-'^'"d-"g-"b-'^ }
#1B={AEP1 'c-e-g-'^^^ AEP2 'd-f-b-'^^'c-e-a-'8'c-d-g-'8 'c-e-a-'^^^ '"b-e-a-'^^^ }
#1C={AEP1 'c-e-g-'^^^ AEP2 'd-f-b-'^^'c-e-a-'8'c-d-g-'8 'c-e-a-'^^^  ATPC1 '"g-"b-d-'^'"d-"f-"g-"b-'^ Tempo(110) '"e-"g-c-'^^^ }
#1D={AEP1 '"f-"g-c-'^^^}
*/

#1A={AEP1 'ceg'^^^ AEP2 '"bdf'^^^ '"ace'^^'"bdf'8'"ace'8'"g"b+d'^'"d"g"b'^ }
#1B={AEP1 'ceg'^^^ AEP2 'dfb'^^'cea'8'cdg'8 'cea'^^^ '"bea'^^^ }
#1C={AEP1 'ceg'^^^ AEP2 'dfb'^^'cea'8'cdg'8 'cea'^^^  ATPC1 '"g"bd'^'"d"f"g"b'^ Tempo(110) '"e"gc'^^^ }
#1D={AEP1 '"f"gc'^^^}

#1x={[#1A:#1B] #1C v+20 CHO(100) #1D AT2 v-20 CHO(30) #1A #1C v+20 CHO(100) #1D}
#TR1={DT #1x}
//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(2) @(1) EP(127) v(127) V(127) REV(70) CHO(127) o6 q99 l8
}ELSE{
TR(2) @(21,80) EP(127) v(127) V(127) REV(70) CHO(127) o6 q99 l8
}
//----------------------------------------------------------------------------------------------------------------------
Str BT1={Time(51:1:0)}


#2A={e^^^ degf ^^^^ gfed ^^^l16 "bd e^ef ^ede  f^^g ^^a^ l8 g^f^ }
#2B={e^^l16"be e^^d ^^c"g rrcd efga g^^^ gffg e^^^ `e^^^ `e^^`d ^^`e^ l8 `c^^^ b^^^}
#2x={BT1 #2A #2B}
#TR2={DT #2x}

/*
#2A={AEP1 Tm1(!1,3) AEP2 Dm3(!1,2) Sm2(!4^2,2) Dm3(!8,2) Sm2(!8,2) Dm2(!2,1) Dm1(!2,0)}
#2B={AEP1 Tm1(!1,3) AEP2 Dm3(!4^2,3) Sm2(!8,3) Dm5(!8,2) Sm2(!1,3) Tm4(!1,3)}
#2C={AEP1 Tm1(!1,3) AEP2 Dm3(!4^2,3) Sm2(!8,3) Dm5(!8,2) Sm2(!1,3) ATPC1 Dm1(!2,1) Dm7(!2,1) Tempo(110) Tm1(!1,1) }
#2D={AEP1 Tm3(!1,1)}
#2x={[#2A:#2B] #2C v+20 CHO(100) #2D AT2 v-20 CHO(30) #2A #2C v+20 CHO(100) #2D}
#TR2={DT #2x}
*/

//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(3) @(94) EP(127) v(127) V(127) REV(70) CHO(127) o6 q99 l4
}ELSE{
TR(3) @(87,81) EP(127) v(127) V(127) REV(70) CHO(127) o6 q99 l4
}
//----------------------------------------------------------------------------------------------------------------------
Str CT1={Time(102:1:0)}

/* P.T */
Str CPT1={P.T(0,127,!1^1)}

#3A={CPT1 'gec'^^^ ^^^^}
#3x={CT1 #3A}
#TR3={#3x}
//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(4) @(50) EP(120) v(80) V(120) REV(120) CHO(50) P(127) o5 q99 l1
TR(5) @(50) EP(120) v(80) V(100) REV(110) CHO(50) P(48) o5 q99 l1
TR(6) @(50) EP(120) v(85) V(127) REV(120) CHO(60) P(0) o4 q99 l1
}ELSE{
TR(4) @(50,99) EP(120) v(80) V(120) REV(120) CHO(50) P(127) o5 q99 l1
TR(5) @(50,99) EP(120) v(80) V(100) REV(110) CHO(50) P(48) o5 q99 l1
TR(6) @(50,99) EP(120) v(85) V(127) REV(120) CHO(60) P(0) o4 q99 l1
}
//----------------------------------------------------------------------------------------------------------------------

/* EP.T */
Str DEPT1={EP.T(70,80,!3,80,120,!3)}
Str DEPT2={EP.T(0,0,!64,120,120,!64)}

/* P.W */
Str DPW1={P.W(64,127,!1)}
Str DPW2={P.W(64,0,!1)}

#4A={e g e e2e2}
#4B={e g e f2e2 }
#4C={e g e f2e2 e v+40 DEPT1 `c v-10}
#4D={l2 [e e g1 : e f a1] e f g1 }
#4E={e e d "b c1 d1 e c d e1 e f e}
#4F={l1 e d e f2 g2 e a b `c}
#4G={g}
#4x={DPW1 r-64 DEPT2 [#4A:#4B]#4C #4D#4E v+10 #4D v-40 [4#4F] #4G #4A#4C #4D#4E v+10 #4D}
#TR4={DT #4x}

#5A={'c"c' 'd""g' 'c""a' '"b+""b+'-2'"b""e'2 }
#5B={'c"c' 'd""g' 'c""a' 'd""b'2'"b""e'2 }
#5C={'c"c' 'd""g' 'c""a' 'd""b'2'"b""e'2 'c""c' v+40 DEPT1 'fa""f' v-10}
#5D={l2 ['c"c' 'c""a' 'd""g'1 : 'c"c' 'd""b' 'e""a'1] 'c"c' 'd""b' 'e"c'1 }
#5E={'"b""e' 'c""a' '"b""b' '"g""e' '"g""c'1 '"a""d'1 '"b""e' '"b""f' '"b""g' '"b""e'1 'd-""a' 'c"c' 'c""c' }
#5F={l1 c "b "b d2 e2 c d 'ge' 'af'}
#5G={l1 'c"c' '"b""b' '"b""e' 'd""f'2 'e""g'2 'c""g' 'd""f' 'ge""e' 'af""a'}
#5H={'e""c'}
#5x={r-64 DEPT2 [#5A:#5B]#5C #5D#5E v+10 #5D v-40 [#5F] [#5G] #5H #5A#5C #5D#5E v+10 #5D }
#TR5={DT #5x}

#6A={g b a f2g2 }
#6B={g b a b2g2 }
#6C={g b a b2g2 g v+40 DEPT1 `e v-10}
#6D={l2 [g a b+1 g b `c1 ] }
#6E={g a f e e1 f1  a f g a1 a g g}
#6F={l1 g f g f2 g2 g f b a}
#6G={`c}
#6x={DPW2 r-64 DEPT2 [#6A:#6B]#6C #6D#6E v+10 #6D v-40 [4#6F] #6G #6A#6C #6D#6E v+10 #6D}
#TR6={DT #6x}

//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(8) @(80) EP(127) v(120) V(100) REV(80) CHO(100) P(64) o6 q99 l16
TR(9) @(49) EP(127) v(100) V(100) REV(100) CHO(80) P(64) o6 q99 l16
}ELSE{
TR(8) @(80,97) EP(127) v(120) V(100) REV(80) CHO(100) P(48) o6 q99 l16
TR(9) @(49,99) EP(127) v(100) V(100) REV(100) CHO(80) P(48) o6 q99 l16
}
//----------------------------------------------------------------------------------------------------------------------
Str ET1={Time(18:3:0)}
Str ET2={Time(58:3:0)}
Str ET3={Time(85:3:0)}

/* EP.T */
Str EEPT1={EP.T(127,0,!1^1)}

#8A={defg fgab}
#8B={[`c^^^ ^^ba g^^^ e^^^ f^^^ ^^^^ f^g^ a^b^ `c^^^ ^^ba b^^^ `e^^^ : `c^^^ ^^^^ `c^b^ a^b^ ] `f^^^ ^^^^ ^^^^ ^^^^}
#8C={`a^^^ `g^^^ `f^^^ `e12`d12`c12 `d^^^ `c^^^ b^^^ a12g12f12 g^^^ ^^^^ ^^^^ ^^^^ "b^^^ ^^^^ ^^^^ ^^^^}
#8D={`a^^^ `g^^^ `f^^^ `e12`d12`c12 ``d^^^ ``c^^^ `b^^^ `a12`g12`f12 `g^^^ ^^^^ ^^^^ ^^^^ `a^^^ ^^^^ `b^^^ ^^^^}
#8E={l8 e^f^ g^^^ f^b^ a^^^ g^^^ `e^^^ `d^`c^ b^^^ ^^^^ `c^^^ `c6b6a6 b^^^ e^^^ f^g^ b6a6b6 g^^^ f^^^ } 
#8G={c^^^ cdef g^^^ a^e^ `e^^^ `d^`c^ b^^^ ^^^^ `e^^^ `f^`e^ `g^^^ ^^^^ `a^^^ `b^^^ EEPT1 ``c^^^ ^^^^ ^^^^ ^^^^}
#8x={ET1 #8A#8B#8C#8D  < OctaveUnison(#8B) v-20 ET2 #8E#8G EP(127) v+20 > l16 ET3 #8A#8B#8C#8D  < OctaveUnison(#8B) }
#TR8={DT #8x}

#9x={ET1 #8A#8B#8C#8D  < OctaveUnison(#8B) v-40 ET2 #8E#8G EP(127) v+40 > l16 ET3 #8A#8B#8C#8D  < OctaveUnison(#8B) }
#TR9={DT #9x}
//----------------------------------------------------------------------------------------------------------------------
TR(16) @(50,99) EP(100) v(100) REV(100) CHO(30) o5 q99 l1
//----------------------------------------------------------------------------------------------------------------------
#16A={ Tm1(!1,-4) Dm1(!1,-4) Sm2(!1,-4) Dm6(!2,-4) Tm2(!2,-4)}
#16B={ Tm1(!1,-4) Dm1(!1,-4) Sm2(!1,-4) Dm3(!2,-4) Tm2(!2,-4)}
#16C={ Tm1(!1,-4) Dm1(!1,-4) Sm2(!1,-4) Dm3(!2,-4) Tm2(!2,-4) Tm1(!1,-4) v+40 DEPT1 Sm1(!1,-3)}
#16D={ Tm1(!2,-4) Sm2(!2,-4) Dm2(!1,-4) Tm1(!2,-4) Dm3(!2,-4) Sm2(!1,-3) }
#16E={ Tm1(!2,-4) Sm2(!2,-4) Dm2(!1,-4) Tm1(!2,-4) Dm3(!2,-4) Tm1(!1,-3) }
#16F={ Tm2(!2,-4) Sm2(!2,-4) Dm3(!2,-5) Tm2(!2,-5) Tm1(!1,-5) Sm3(!1,-5) }
#16G={ Tm4(!2,-4) Sm4(!2,-5) Dm1(!2,-5) Tm4(!1,-4) Sm5(!2,-4) Tm3(!2,-4) Tm1(!2,-4)}

#16x={[#16A:#16B]#16C v-20 #16D#16E #16F#16G v+15 #16D#16E}
#TR16={DT #16x}

//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(14) @(123,3) EP(127) v(127) V(100) REV(120) CHO(20) o5 q99 l1
}ELSE{
TR(14) @(123,96,3) EP(127) v(127) V(100) REV(120) CHO(20) o5 q99 l1
}
//----------------------------------------------------------------------------------------------------------------------
/* Time */
Str FT1={Time(43:1:0)}
Str FT2={Time(59:1:0)}
Str FT3={Time(76:1:0)}
Str FT4={Time(102:1:0)}

/* TempoChange */
Str FTPC1={TempoChange(110,90,!1)}

#14A={P(0) 'ceg'^ P(127) '"bdf'^ P(64)}
#14x={[8r] #14A FT1 Tempo(90) #14A FT2 #14A FT3 #14A FT4 [#14A]}
#TR14={DT #14x}
//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(10) @(25) EP(127) v(100) V(100) REV(60) CHO(30) l8 q10

TR(11) CH(10) @(25,107) EP(127) v(100) V(100) REV(60) CHO(30) l8 q10

TR(12) @(1) v(115) V(100) REV.onNoteWave(70,127,!32) CHO(50) BR(12) p%(-500) l16 q10

TR(13) @(1) EP(127) v(127) V(120) REV(30) CHO(50) BR(12) p%(-3000) l8 q10
}ELSE{
TR(10) @(25,107) EP(127) v(100) V(100) REV(60) CHO(30) l8 q10

TR(11) CH(10) @(25,107) EP(127) v(100) V(100) REV(60) CHO(30) l8 q10

TR(12) @(1,104) v(115) V(100) REV.onNoteWave(70,127,!32) CHO(50) BR(12) p%(-500) l16 q10

TR(13) @(25,104) EP(127) v(127) V(120) REV(30) CHO(50) BR(12) p%(-3000) l8 q10
}
//----------------------------------------------------------------------------------------------------------------------
Str TD1={Time(19:1:0)}
Str TD2={Time(18:1:0)}
Str TD3={Time(76:1:0)}
Str TD4={Time(85:1:0)}
Str TD5={Time(86:1:0)}
Str TD6={Time(101:1:0)}

$a{n42} $b{n44} $c{n46}
#D1={l8 [3 b^^a ^^^b] b^^a b^^c}
#D2={l16 b^ba b^a^ b^ba bb^a  [4 bbbb ]}
#D3={[7b^ba] c^ba}
#Dx={[4#D1] #D2 [12#D3] TD3 [#D1] #D2 [12#D3] }
#TR10={DT Rhythm{#Dx}}

Str EPWD1={EP.W(30,127,!32)}
Str PWD1={p%.W(8000,0,!32)}
$d{n35} 
#DA1={[8 d^^d ^^^d ] }
#DA2={ d^^d d^d^ dd^d d^^^　dd^d d^d^ d^d^ d^^^}
#DA3={[8 d^dd d^dd d^dd d^dd]}
#DA4={[3dd^d] d^d^ [3dd^d] d^dd }
#DA5={[[3 d^^^ ^^d^  ^^^^ ^^^^]  d^^^ ^^dd  d^^d ^^d^ ]}
#DAx={[#DA1] l16 v+20 #DA2#DA3[4#DA4]#DA3 [#DA5] TD3 l8 v-20 #DA1 l16 v+20 #DA2#DA3[4#DA4]#DA3}
#TR11={DT Rhythm{#DAx}}

$s{'n38n36n32'}
$t{'n36n35'}
#12A={[3 t^^^ s^^^] t^^^ s^^s [3 t^^^ s^^^] ts^^ s^^s}
#12x={TD1 [6 #12A] TD5 [6 #12A] }
#TR12={DT Rhythm{#12x}}

Str FPT1={P.T(127,0,!1)}
$g{n48} $h{n47} $i{n45} $j{n43} $k{n41} $m{n50}
#13A={l16 FPT1 mm^g g^hh ^ii^ jjkk rrrr l16}
#13x={TD2 #13A v+10 [236 r] #13A TD4 #13A TD6 #13A}
#TR13={DT Rhythm{#13x}}
//----------------------------------------------------------------------------------------------------------------------
TR(1) |#TR1|

TR(2) |#TR2|

TR(3) |#TR3|

TR(4) |#TR4| TR(5) |#TR5| TR(6) |#TR6|

TR(8) |#TR8| TR(9) |#TR9|

TR(14) |#TR14|


//TR(16) CH(7) |#TR16|


UseKeyShift(off)

TR(10) |#TR10| 

TR(11) |#TR11| 

TR(12) |#TR12| 

TR(13) |#TR13|
