//
//"ジングルshuffles"
//copyright Hiroyasu Furukawa(furnotiz3n)1996,2018
//
// 「ジングル」という曲を元に、コードが共通な8小節のフレーズを
// ランダムに3つ選んでハモらせていきます。
// ハモらないで重なってしまうこともよくありますがご愛嬌で(^^)。
// 
// 例えば何か店のBGMが、ループしながら微妙にソロを変えたり、
// パートがあったりなかったりというような仕掛けがあったら面白いかも
// そんな感じのも今後作ってみたいと思っています。

TimeBase       = 480;
TimeSignature = 4,4;
Tempo = 152;

#ph_0 = { 
l4v95q90o4
     a#v-3>g#v+3fr <a# v-4>a# v+4g#r  <a# v-4>a#gv+4dv-5d#^r
v+5g g#a#v-5gr >v+5c#^v-4c^ v+4<a#^g#^ gv-4<a#d#r   
}

#ph_1 = {
l8v95q100o6
     r2rcdd# l2fl8gfd#d d#dd#dd#gfg# ga#g#>c<a#^
>d#^ dfd#dd#^rr <ga#g#gg#^gf d#dd#g^fd#d l2d#l4rv-5g
}

#ph_9 = {
l8v95q100o6
     r2rcdd# l2fl8gfd#d d#dd#dd#gfg# ga#g#>c<a#^
>d#^ dfd#dd#^rr <ga#g#gg#^gf d#dd#g^fd#d l2d#l4rr
}

#ph_2 = {
l4v95q100o6
       v-3g#^v-5<a#^ v+5>g#^v-5a#a# v+9>gg#<cd d#v-5fg
v-2<a# v+10>cdd#v-3l8gf l4e^fv-7g# v+3l8g>v-33>d#v+33l4a#
 <l8a#v-23>dv+15g#>v-28a# v+28d#v-2<d#v-5<<gv+5>a# l4d#r
}

#ph_3 = {
l8v83q100o6
       l8a#v+5>fgg#l2a# l8r>dv-5d#fd#dc<a# >d#<a#g#a#ga#g#>d# <a#>gf#gl4d#
 l8dc  <a#g#gfg^rr c^defv-6c<g#f gd#>d#^<d<a#>a#^ <ga#v+4>d#g>d#^rr
}

#ph_4 = {
l8v79q100o4
v85o3a#v79o5d#v-7dv+7<g#>d#v-7dv+7<a#>d#
'v85o3a#v72o5d'v72o4g#v+7>d#v-7dv+7<a#>d#v-7d<g#
v+13<a#v-6>>d#v-7dv+13<gv-6a#>d#v-7dv+7<g#
'v85gd#'v79>d#v-7dv+7<a#>d#v-7dv+13<gv-6>d#
'v85o3fv79o4g#'v72o5d#'v85o3a#v79o5d'v72o4g#'v85o4d#o4g'v-13>d#v+7d<a#
'v85o4ev78o4g'v72>ev+7cv-7<a#'v85o4fv78o4g#'v78gv+1>cv-7<g# 
'v85o3a#v85o4g'v-6>d#v-5dv+5<a#'v85o3a#v79o5d#'v74dv+5<g#v+6f
'v85o3d#v85o4g'v-11>d#v+5<g#v-5>d#v+11<gv-7d#v+7gv-6g#
}

#ph_5 = {
l4v92q95o4
o2a#a#>>>>>a#r o2a#a#>>>>>a#r o2a#a#>>>>>l8a#<<<<<a#ra# l4o2a#a#>>>>>d#r
o2fa#>>>>>d#r o3cc>>>>>fr o2a#a#>>>>>l8a#<<<<<a#ra# l4o2a#a#>>>>>a#r
}

#ph_8 = {
l8v79q100o4
v85o3a#v79o5d#v-7dv+7<g#>d#v-7dv+7<a#>d#
'v85o3a#v72o5d'v72o4g#v+7>d#v-7dv+7<a#>d#v-7d<g#
v+13<a#v-6>>d#v-7dv+13<gv-6a#>d#v-7dv+7<g#
'v85gd#'v79>d#v-7dv+7<a#>d#v-7dv+13<gv-6>d#
'v85o3fv79o4g#'v72o5d#'v85o3a#v79o5d'v72o4g#'v85o4d#o4g'v-13>d#v+7d<a#
'v85o4ev78o4g'v72>ev+7cv-7<a#'v85o4fv78o4g#'v78gv+1>cv-7<g# 
'v85o3a#v85o4g'v-6>d#v-5dv+5<a#'v85o3a#v79o5d#'v74dv+5<g#v+6f
'v85o3d#v85o4g'v-11>d#v+5<g#v-5>d#v+11<l4gr
}


Array PL=(0,0,0,0,0,0,0,0)
Array PC=(0,0,0,0,0,0,0,0)
Array PR=(0,0,0,0,0,0,0,0)

Int i=0;

Str PTL0=""; Str PTL1=""; Str PTL2=""; Str PTL3=""; Str PTL4=""; Str PTL5=""; Str PTL6=""; Str PTL7="";
             Str PTC1=""; Str PTC2=""; Str PTC3=""; Str PTC4=""; Str PTC5=""; Str PTC6=""; Str PTC7="";
                          Str PTR2=""; Str PTR3=""; Str PTR4=""; Str PTR5=""; Str PTR6=""; Str PTR7="";

[7
PL(i)=RandomSelect(0,1,2,3,4,5,2,4);
PC(i)=RandomSelect(0,1,2,3,4,5,0,3);
PR(i)=RandomSelect(0,1,2,3,4,5,3,1);
i++]

//曲が問題なく終止する形
PL(7)=RandomSelect(0,9,2,3,8,5,2);
PC(7)=RandomSelect(0,9,2,3,8,5,9);
PR(7)=RandomSelect(0,9,2,3,8,5,0);

//最初は固定
PTL0 = "#ph_0"
PTL1 = "#ph_1"

//ランダムにフレーズを続ける
PTL2 = "#ph_" + #STR(PL(2))
PTL3 = "#ph_" + #STR(PL(3))
PTL4 = "#ph_" + #STR(PL(4))
PTL5 = "#ph_" + #STR(PL(5))
PTL6 = "#ph_" + #STR(PL(6))
PTL7 = "#ph_" + #STR(PL(7))

PTC1 = "#ph_" + #STR(PC(1))
PTC2 = "#ph_" + #STR(PC(2))
PTC3 = "#ph_" + #STR(PC(3))
PTC4 = "#ph_" + #STR(PC(4))
PTC5 = "#ph_" + #STR(PC(5))
PTC6 = "#ph_" + #STR(PC(6))
PTC7 = "#ph_" + #STR(PC(7))

PTR2 = "#ph_" + #STR(PR(2))
PTR3 = "#ph_" + #STR(PR(3))
PTR4 = "#ph_" + #STR(PR(4))
PTR5 = "#ph_" + #STR(PR(5))
PTR6 = "#ph_" + #STR(PR(6))
PTR7 = "#ph_" + #STR(PR(7))

Time(64:3:0)Tempo = 144;
Time(64:4:0)Tempo = 132;
Time(65:2:0)Tempo = 126;

//----------------------------------------
//_Track2.
Track(2);
Channel(2);
Panpot(14);
Voice(12);
Expression(98)

r1
PTL0  PTL1  PTL2  PTL3  PTL4  PTL5  PTL6  PTL7

//_Track3.
Track(3);
Channel(3);
Panpot(64);
Voice(9);
Expression(105)

[9 r1]
      PTC1  PTC2  PTC3  PTC4  PTC5  PTC6  PTC7

//_Track4.
Track(4);
Channel(4);
Panpot(114);
Voice(25);
Expression(95)

[17 r1]
            PTR2  PTR3  PTR4  PTR5  PTR6  PTR7