on init
set_ui_height_px(300)
make_perfview
declare $cozj0 := 0
declare !rgyew[18]
!rgyew[0] := "1/128"
!rgyew[1] := "1/64"
!rgyew[2] := "1/32"
!rgyew[3] := "1/16 T"
!rgyew[4] := "3/64"
!rgyew[5] := "1/16"
!rgyew[6] := "1/8 T"
!rgyew[7] := "3/32"
!rgyew[8] := "1/8"
!rgyew[9] := "1/4 T"
!rgyew[10] := "3/16"
!rgyew[11] := "1/4"
!rgyew[12] := "1/2 T"
!rgyew[13] := "3/8"
!rgyew[14] := "1/2"
!rgyew[15] := "3/4"
!rgyew[16] := "4/4"
!rgyew[17] := "Bar"
pgs_create_key(arp_controls,6)
pgs_create_key(arp_table,32)
pgs_create_key(port,2)
pgs_create_key(humanizer,1)
declare ui_table %jgxuf[32](4, 3, 100) 
set_control_par(get_ui_id(%jgxuf),$CONTROL_PAR_WIDTH,400)
set_control_par(get_ui_id(%jgxuf),$CONTROL_PAR_HEIGHT,75)
move_control_px(%jgxuf,100,0)
make_persistent(%jgxuf)
read_persistent_var(%jgxuf)
declare ui_value_edit $eaqnm(2, 32, 1) 
set_control_par_str(get_ui_id($eaqnm),$CONTROL_PAR_TEXT,"Steps")
move_control_px($eaqnm,510,50)
make_persistent($eaqnm)
read_persistent_var($eaqnm)
declare ui_menu $yygpe
move_control_px($yygpe,510,25)
add_menu_item($yygpe,"Select Note Order",99)
add_menu_item($yygpe,"--------------",99)
add_menu_item($yygpe,"As Played",1)
add_menu_item($yygpe,"--------------",99)
add_menu_item($yygpe,"Up",2)
add_menu_item($yygpe,"Down",3)
add_menu_item($yygpe,"Up & Down",4)
add_menu_item($yygpe,"Down & Up",5)
add_menu_item($yygpe,"--------------",99)
add_menu_item($yygpe,"Zig-Zag Up",6)
add_menu_item($yygpe,"Zig-Zag Down",7)
add_menu_item($yygpe,"Zig-Zag Up-Dn",8)
add_menu_item($yygpe,"Zig-Zag Dn-Up",9)
add_menu_item($yygpe,"--------------",99)
add_menu_item($yygpe,"Move in",10)
add_menu_item($yygpe,"Move out",11)
add_menu_item($yygpe,"Move in & out",12)
add_menu_item($yygpe,"Move out & in",13)
add_menu_item($yygpe,"--------------",99)
add_menu_item($yygpe,"Random",14)
add_menu_item($yygpe,"Random (Urn)",15)
add_menu_item($yygpe,"--------------",99)
add_menu_item($yygpe,"All (Chord)",16)
make_persistent($yygpe)
read_persistent_var($yygpe)
declare ui_knob $50voq(-2, 2, 1) 
set_control_par_str(get_ui_id($50voq),$CONTROL_PAR_TEXT,"Octave")
set_control_par(get_ui_id($50voq),$CONTROL_PAR_DEFAULT_VALUE,0)
move_control_px($50voq,100,80)
make_persistent($50voq)
read_persistent_var($50voq)
declare ui_knob $ttzij(0, 1000000, 1) 
set_control_par_str(get_ui_id($ttzij),$CONTROL_PAR_TEXT,"Rate")
set_control_par(get_ui_id($ttzij),$CONTROL_PAR_DEFAULT_VALUE,0)
set_control_par_str(get_ui_id($ttzij),$CONTROL_PAR_LABEL,!rgyew[$ttzij*18/1000001])
move_control_px($ttzij,200,80)
make_persistent($ttzij)
read_persistent_var($ttzij)
declare ui_knob $xjfsu(1, 200, 1) 
set_control_par_str(get_ui_id($xjfsu),$CONTROL_PAR_TEXT,"Duration")
set_control_par(get_ui_id($xjfsu),$CONTROL_PAR_DEFAULT_VALUE,100)
move_control_px($xjfsu,300,80)
make_persistent($xjfsu)
read_persistent_var($xjfsu)
declare ui_button $5t3fh
set_control_par_str(get_ui_id($5t3fh),$CONTROL_PAR_TEXT,"ARPEGGIATOR")
move_control_px($5t3fh,510,0)
make_persistent($5t3fh)
read_persistent_var($5t3fh)
set_table_steps_shown(%jgxuf,$eaqnm)
declare ui_slider $3xj0b(0, 127) 
move_control_px($3xj0b,100,175)
make_persistent($3xj0b)
read_persistent_var($3xj0b)
declare ui_switch $i0acz
set_control_par_str(get_ui_id($i0acz),$CONTROL_PAR_TEXT,"PORTAMENTO")
move_control_px($i0acz,200,175)
make_persistent($i0acz)
read_persistent_var($i0acz)
declare ui_switch $rgnvg
set_control_par_str(get_ui_id($rgnvg),$CONTROL_PAR_TEXT,"HUMANIZER")
move_control_px($rgnvg,100,225)
make_persistent($rgnvg)
read_persistent_var($rgnvg)
end on
function output_pgs
pgs_set_key_val(arp_controls,0,$5t3fh)
pgs_set_key_val(arp_controls,1,$eaqnm)
pgs_set_key_val(arp_controls,2,$yygpe)
pgs_set_key_val(arp_controls,3,$50voq)
pgs_set_key_val(arp_controls,4,$xjfsu)
pgs_set_key_val(arp_controls,5,$ttzij)
pgs_set_key_val(arp_table,0,%jgxuf[0])
pgs_set_key_val(arp_table,1,%jgxuf[1])
pgs_set_key_val(arp_table,2,%jgxuf[2])
pgs_set_key_val(arp_table,3,%jgxuf[3])
pgs_set_key_val(arp_table,4,%jgxuf[4])
pgs_set_key_val(arp_table,5,%jgxuf[5])
pgs_set_key_val(arp_table,6,%jgxuf[6])
pgs_set_key_val(arp_table,7,%jgxuf[7])
pgs_set_key_val(arp_table,8,%jgxuf[8])
pgs_set_key_val(arp_table,9,%jgxuf[9])
pgs_set_key_val(arp_table,10,%jgxuf[10])
pgs_set_key_val(arp_table,11,%jgxuf[11])
pgs_set_key_val(arp_table,12,%jgxuf[12])
pgs_set_key_val(arp_table,13,%jgxuf[13])
pgs_set_key_val(arp_table,14,%jgxuf[14])
pgs_set_key_val(arp_table,15,%jgxuf[15])
pgs_set_key_val(arp_table,16,%jgxuf[16])
pgs_set_key_val(arp_table,17,%jgxuf[17])
pgs_set_key_val(arp_table,18,%jgxuf[18])
pgs_set_key_val(arp_table,19,%jgxuf[19])
pgs_set_key_val(arp_table,20,%jgxuf[20])
pgs_set_key_val(arp_table,21,%jgxuf[21])
pgs_set_key_val(arp_table,22,%jgxuf[22])
pgs_set_key_val(arp_table,23,%jgxuf[23])
pgs_set_key_val(arp_table,24,%jgxuf[24])
pgs_set_key_val(arp_table,25,%jgxuf[25])
pgs_set_key_val(arp_table,26,%jgxuf[26])
pgs_set_key_val(arp_table,27,%jgxuf[27])
pgs_set_key_val(arp_table,28,%jgxuf[28])
pgs_set_key_val(arp_table,29,%jgxuf[29])
pgs_set_key_val(arp_table,30,%jgxuf[30])
pgs_set_key_val(arp_table,31,%jgxuf[31])
pgs_set_key_val(port,0,$i0acz)
pgs_set_key_val(port,1,$3xj0b)
pgs_set_key_val(humanizer,0,$rgnvg)
end function
on pgs_changed
if ($cozj0=0)
$cozj0 := 1
call output_pgs
end if
end on
on note
end on
on ui_control($5t3fh)
call output_pgs
end on
on ui_control($eaqnm)
set_table_steps_shown(%jgxuf,$eaqnm)
call output_pgs
end on
on ui_control($yygpe)
call output_pgs
end on
on ui_control($50voq)
call output_pgs
end on
on ui_control($xjfsu)
call output_pgs
end on
on ui_control($ttzij)
set_control_par_str(get_ui_id($ttzij),$CONTROL_PAR_LABEL,!rgyew[$ttzij*18/1000001])
call output_pgs
end on
on ui_control(%jgxuf)
call output_pgs
end on
on ui_control($i0acz)
call output_pgs
end on
on ui_control($3xj0b)
call output_pgs
end on
on ui_control($rgnvg)
call output_pgs
end on
