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

INT Type = 1;//1ならTWM2用、そのほかならSD-80用

TrackName =  {"深緑"}
Copyright =  {"球場のピアニスト"} 
MetaText  =  {"いろいろ実験(o´ω`o)、久しぶりのヒーリングかな(?ω?)"} 


/*----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------*/
System.MeasureShift(1);    //音源初期化用に発音を1小節遅らせる
IF(Type = 1){ResetGS;ResetXG;ResetGM;r1;}ELSE{SysEx$=f0,41,10,00,48,12,0,0,0,0,0,0,f7;}//音源初期化
Time(1:1:0); TrackSync;    //全てのトラックを同期する(初期化後必要)
//----------------------------------------------------------------------------------------------------------------------
TimeSignature =  4,4      // 3/4
Tempo = 100                // テンポ
KeyFlag+()      // 調の設定 # = +,♭= -

Key(-4)
//TimeKey((16:1:0),,-3)
//----------------------------------------------------------------------------------------------------------------------
Include(delay.h)
Include(chord5.h)
Sutoton(chord5j.h)

表示オフ
IF(Type!=1){
//-----------------------------------------定義
//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_HALL);
}

//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(1) @(74) EP(100) v(120) REV(127) CHO(0) o6 q99 l8
}ELSE{
TR(1) CH(16) @(74,99,1) EP(100) v(127) REV(127) CHO(0) o6 q99 l8
}
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
/* p.T */
Str AP1={p.T(127,127,!3,127,32,!12)}
Str AP2={p.T(0,0,!3,0,65,!12,65,65,!3,65,0,!8)}

/* EP.W */
Str AEPW1={EP.W(80,120,!2)}

/* EP.T */
Str AEPT1={EP.W(80,120,!2,120,0,!1^1^1^1)}

#1A={g^^ ^^^ ^^^ `e^`d `e^^ ^^^ ^^^ AP1 `f^^ ^^^ ^^^ ^^^ p(64) b^^ `c^^ ^^^ r`d`e `f`g`a `g^^ ^^^ ^^^ ^^^}
#1B={g^^ ^^^ ^^^ `e^`d `e^^ ^^^ ^^^ AP2 `a^^ ^^^ ^^^ ^^^ p(64) g^^ a^^ ^^^ r b`c  `d`e`f `e^^ ^^^ ^^^ ^^^}
#1C={`a^^ ^^^ ^^^ ^^^  q101`g^^ ^^^ q99 `f^^ `c^^ `d^^ ^^^ ^^^ g^^ a^^ ^^^ b^^ ^^^}
#1D={`c^^ ^^^ ^^^ ^^^ `a^^ ^^^ ^^^ EP(100) `g`f`d AEPW1 `e^^ b^^ ^^^ `f`g`a `g^^ AEPT1 ``c^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ }
#1x={AEPW1 #1A CHO(127) #1B [60r] #1C#1D }
#TR1={#1x}
//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(2) @(47) EP(100) v(120) REV(127) CHO(0) o5 q99 l8
TR(3) @(47) EP(100) v(90) REV(127) CHO(127) o5 q99 l8
}ELSE{
TR(2) CH(15) @(47,99) EP(100) v(120) REV(127) CHO(0) o5 q99 l8
TR(3) CH(14) @(47) EP(100) v(90) REV(127) CHO(127) o5 q99 l8
}
//----------------------------------------------------------------------------------------------------------------------
/* P.N */
Str BPN1={P.N(127,0,112,16,96,32,80,48)}

#2A={["gcegec]["fcegec]["e"g"be"b"g]["d"f"ad"af]["e"g"be"bg]}
#2B={["gcegec]["fcegec]["e"g"be"b"g]["d"f"ad"af]}
#2x={[3#2A][#2B] #2A}
#TR2={#2x}

#3x={BPN1 r12 MidiDelay({[3#2A][#2B]#2A},3,!12)}
#TR3={#3x}
//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(4) @(53,32) EP(100) v(100) REV(127) CHO(60) o5 q100
TR(5) @(53) EP(100) v(100) REV(127) CHO(70) o5 q100
}ELSE{
TR(4) @(53,96,1) EP(100) v(90) REV(127) CHO(60) o5 q100
TR(5) @(53,96,1) EP(100) v(90) REV(127) CHO(70) o5 q100
}//----------------------------------------------------------------------------------------------------------------------
Str E7={'"e'}

/* EP.W */
Str CEPW1={EP.W(40,127,!1^2)}

/* EP.T */
Str CEPT1={EP.T(40,127,!1^2)}

/* P.W */
Str CPW1={P.W(0,16,!2,16,96,!2,96,127,!2)}
Str CPW2={P.W(127,112,!2,112,32,!2,32,0,!2)}

/* P.T */
Str CPT1={P.T(0,16,!2,16,96,!2,96,127,!2)}
Str CPT2={P.T(127,112,!2,112,32,!2,32,0,!2)}

#4A={CEPW1 CPW1 E_7(!1^2,0) F_7(!1^2,0) D_4(!1^2,0) CEPT1 CPT1 C_(!2^4,0) C_7(!2^4,0) CPW1 CEPW1 G_(!1^2,0)}
#4B={CEPW1 CPW1 E_7(!1^2,0) F_7(!1^2,0) D_4(!1^2,0) CEPT1 CPT1 C_(!2^4,0) C_7(!2^4,0) CPW1 CEPW1}
#4x={[30r] [#4A] [#4B] #4A}
#TR4={#4x}

#5A={CEPW1 CPW2 E_7(!1^2,0) F_7(!1^2,0) D_4(!1^2,0) CEPT1 CPT2 C_(!2^4,0) C_7(!2^4,0) CEPW1 CPW2 G_(!1^2,0)}
#5B={CEPW1 CPW2 E_7(!1^2,0) F_7(!1^2,0) D_4(!1^2,0) CEPT1 CPT2 C_(!2^4,0) C_7(!2^4,0) CEPW1 CPW2}
#5x={[30r] [#5A] [#5B] #5A}
#TR5={#5x}
//----------------------------------------------------------------------------------------------------------------------
IF(Type=1){
TR(6) @(9) EP(120) v(100) REV(127) CHO(0) o7 q99 l8
TR(7) @(9) EP(120) v(80) REV(127) CHO(0) o7 q99 l8
}ELSE{
TR(6) CH(1) @(91,81,6) EP(120) v(100) REV(127) CHO(0) o7 q99 l8
TR(7) CH(2) @(91,81,6) EP(120) v(120) REV(127) CHO(0) o7 q99 l8
}
//----------------------------------------------------------------------------------------------------------------------
/* P.N */
Str DPN1={P.N(127,0,112,16,96,32,80,48)}


/* Time */
Str DT1={Time(16:1:0)}
Str DT2={Time(35:3:0)}

#6A={[4 gec ] [4 fd"a] [4 gd"b] [4 d"a"f] [4 e"bg]}
#6x={DT1 #6A DT2 #6A}
#TR6={#6x}

#7A={DPN1 [4 gec] [4 fd"a] [4 gd"b] [4 d"a"f] [4 e"bg] }
#7x={DT1 r12 MidiDelay({#7A },3,!12) DT2 r12 MidiDelay({#7A},3,!12) }
#TR7={#7x}
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
TR(10) @(74) EP(100) v(100) REV(100) CHO(30) q99 l8
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
TR(1) |#TR1| 

TR(2) |#TR2| TR(3) |#TR3|

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

TR(6) |#TR6| TR(7) |#TR7|