Sei sulla pagina 1di 44

{***********************************************

Kontakt 4 Factory Libary - Instrument


Band Drums (Pop Drums Variation)
Author: Native Instruments
Written by: Nicki Marinic, Josef Natterer, Adam Hanley, Dinos Vallianatos
Modified: August 12th, 2009
*************************************************}
on init
message("")
make_perfview
set_ui_height_px(317)
declare const $ROOT_X := 66
declare const $ROOT_Y := 2
declare const $GRID_X := 92
declare const $GRID_Y := 21
declare const $FONT_ID := 5 {the font id for all visible labels}
declare const $FONT_ID_2 := 4 {the font id for menus}
declare const $CREATE_AUTOMATION_ID := 0
declare $wait_time := 800 {Enter control label wait time}
declare $last_time
declare $last_time_1
declare $last_time_2
declare const $sound_eq_slot := 4
declare const $DRUM_INSTR := 24 {Enter number of drum instruments}
declare const $meq_slot := 5
declare const $reverb_slot := 0
declare const $delay_slot := 1
declare $count
declare $i
declare $j {counter limits for the extra hihat and snare
roll groups}
declare !note_class[12]
!note_class[0] := "C"
!note_class[1] := "Db"
!note_class[2] := "D"
!note_class[3] := "Eb"
!note_class[4] := "E"
!note_class[5] := "F"
!note_class[6] := "Gb"
!note_class[7] := "G"
!note_class[8] := "Ab"
!note_class[9] := "A"
!note_class[10] := "Bb"
!note_class[11] := "B"
declare !note_names [128]
$count := 0
while ($count < 128)
!note_names[$count] := !note_class[$count mod 12] & (($count/12)
-2)
inc ($count)
end while
declare $selected_group
{----------VOICING START----------}
declare const $NUM_VOICING := 14
declare ui_switch $sel_by_midi
declare ui_menu $instr_menu_voicing
declare ui_slider $note_voicing (36,(36+$DRUM_INSTR-1))
declare ui_slider $level_voicing (0,1000000)
declare ui_slider $pan_voicing (0,1000000)
declare ui_slider $tune_voicing (0,1000000)
declare ui_slider $sound_voicing (0,100)
declare ui_label $lb_sel_by_midi (1,1)
declare ui_label $lb_instr_menu_voicing (1,1)
declare ui_label $lb_note_voicing (1,1)
declare ui_label $lb_level_voicing (1,1)
declare ui_label $lb_pan_voicing (1,1)
declare ui_label $lb_tune_voicing (1,1)
declare ui_label $lb_sound_voicing (1,1)
declare %voicing_id[$NUM_VOICING]
%voicing_id[0] := get_ui_id($sel_by_midi)
%voicing_id[1] := get_ui_id($instr_menu_voicing)
%voicing_id[2] := get_ui_id($note_voicing)
%voicing_id[3] := get_ui_id($level_voicing)
%voicing_id[4] := get_ui_id($pan_voicing)
%voicing_id[5] := get_ui_id($tune_voicing)
%voicing_id[6] := get_ui_id($sound_voicing)
%voicing_id[7] := get_ui_id($lb_sel_by_midi)
%voicing_id[8] := get_ui_id($lb_instr_menu_voicing)
%voicing_id[9] := get_ui_id($lb_note_voicing)
%voicing_id[10] := get_ui_id($lb_level_voicing)
%voicing_id[11] := get_ui_id($lb_pan_voicing)
%voicing_id[12] := get_ui_id($lb_tune_voicing)
%voicing_id[13] := get_ui_id($lb_sound_voicing)
{Set Text}
set_text($lb_sel_by_midi,"SEL BY MIDI")
set_text($lb_note_voicing,"NOTE")
set_text($lb_instr_menu_voicing,"SELECTED INSTRUMENT")
set_text($lb_level_voicing,"LEVEL")
set_text($lb_pan_voicing,"PAN")
set_text($lb_tune_voicing,"TUNE")
set_text($lb_sound_voicing,"SOUND")
set_control_par_str(%voicing_id[0],$CONTROL_PAR_TEXT," ")
$count := 0
while ($count < $DRUM_INSTR)
add_menu_item($instr_menu_voicing,group_name($count),$count)
inc($count)
end while
{Add Help}
set_control_help ($instr_menu_voicing,...
"Instrument Display: Displays the name of the selected drum inst
rument.")
set_control_help ($level_voicing,"Level: Sets the volume of the selected
drum instrument.")
set_control_help ($pan_voicing,"Pan: Sets the pan position of the select
ed drum instrument.")
set_control_help ($tune_voicing,"Tune: Sets the tuning of the selected d
rum instrument.")
set_control_help ($sound_voicing,"Sound: Morphs through EQ settings for
the selected drum instrument.")
set_control_help ($sel_by_midi,...
"Select by MIDI: Selects the displayed drum instrument's setting
s by incoming notes")
set_control_help ($note_voicing,"Note: Displays the note number of the s
elected drum instrument.")
{Place and Skin Controls}
move_control_px ($note_voicing,($GRID_X * 4) + 3, ($GRID_Y * 2) + 15)
move_control_px ($sel_by_midi,($GRID_X * 4) + 78, ($GRID_Y * 3) + 2)
move_control_px ($instr_menu_voicing,($GRID_X * 2) + 58, ($GRID_Y * 3) +
12)
move_control_px ($level_voicing,($GRID_X * 2) + 59, ($GRID_Y * 6) + 19)
move_control_px ($pan_voicing,($GRID_X * 3) + 34, ($GRID_Y * 6) + 19)
move_control_px ($tune_voicing,($GRID_X * 4) + 10, ($GRID_Y * 6) + 19)
move_control_px ($sound_voicing,($GRID_X * 4) + 77, ($GRID_Y * 6) + 19)
set_control_par_str (%voicing_id[0],$CONTROL_PAR_PICTURE,"pv_band_switch
_ring_on_off")
set_control_par (%voicing_id[0],$CONTROL_PAR_HEIGHT, 50)
set_control_par (%voicing_id[0],$CONTROL_PAR_WIDTH, 33)
set_control_par_str (%voicing_id[2],$CONTROL_PAR_PICTURE,"pv_band_knob_b
ig")
set_control_par (%voicing_id[2],$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$count := 3
while ($count < 7)
set_control_par_str (%voicing_id[$count],$CONTROL_PAR_PICTURE,"p
v_band_knob_small")
set_control_par (%voicing_id[$count],$CONTROL_PAR_MOUSE_BEHAVIOU
R,-500)
inc($count)
end while
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_X) - 27)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_Y)-18)
set_control_par(%voicing_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_BG)
set_control_par(%voicing_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1)
set_control_par(%voicing_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID)
inc($count)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_X) - 24)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_Y)-28)
set_control_par(%voicing_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_BG)
set_control_par(%voicing_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1)
set_control_par(%voicing_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID)
set_control_par(%voicing_id[$count], $CONTROL_PAR_WIDTH, 150)
inc($count)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_X) - 18)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_Y)-10)
set_control_par(%voicing_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_BG)
set_control_par(%voicing_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1)
set_control_par(%voicing_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID)
$count := 10
while ($count < 14)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_X
) - 26)
set_control_par(%voicing_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%voicing_id[$count-7],$CONTROL_PAR_POS_Y
)-21)
set_control_par(%voicing_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART
_BG)
set_control_par(%voicing_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT
, 1)
set_control_par(%voicing_id[$count], $CONTROL_PAR_FONT_TYPE, $FO
NT_ID)
inc($count)
end while
set_control_par_str(%voicing_id[1], $CONTROL_PAR_PICTURE, "pv_vintage_dr
ums_dropdown")
set_control_par(%voicing_id[1], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2)
set_control_par(%voicing_id[1], $CONTROL_PAR_WIDTH, 105)
{Set Controls}
set_control_par(%voicing_id[3], $CONTROL_PAR_DEFAULT_VALUE, 631000)
set_control_par(%voicing_id[4], $CONTROL_PAR_DEFAULT_VALUE, 500000)
set_control_par(%voicing_id[5], $CONTROL_PAR_DEFAULT_VALUE, 500000)
$note_voicing := 36
$sel_by_midi := 1
$instr_menu_voicing := $note_voicing - 36
$selected_group := $note_voicing - 36
make_persistent($sel_by_midi)
$level_voicing := _get_engine_par($ENGINE_PAR_VOLUME,$selected_group,-1,
-1)
$tune_voicing := _get_engine_par($ENGINE_PAR_TUNE,$selected_group,-1,-1)
$pan_voicing := _get_engine_par($ENGINE_PAR_PAN,$selected_group,-1,-1)
{Sound Control Elements}
declare %soundeqarr[10*10] := (...
{0 } 500000,500000,500000, 500000,500000,500000, 500000, 500000,5
00000,...
{1 } 365637, 62500,700000, 620113, 62500,500000, 1000000,1000000,
0,...
{2 } 83984,326172,200195, 405273,128906,589844, 1000000,1000000,18
1641,...
{3 } 245117,416016,266602, 632813,207031,625977, 862305, 173828,6
61133,...
{4 } 515625, 0,704102, 447266, 0,169922, 706055, 0,7148
44,...
{5 } 870117,586914,715820, 333008,360352,272461, 856445, 0,1923
83,...
{6 } 648438,586914,757813, 266602,360352,165039, 670898, 0,1328
13,...
{7 } 376953, 0, 39062, 555664, 0,578125, 796875, 144531,6230
47,...
{8 } 172852,660156, 0, 699219, 6836,692383, 407227, 0,7783
20,...
{9 } 233398,219727,583984, 533203,250000,355469, 633789, 639648,6
01563,...
{10} 137695,357422,362305, 491211,250000,571289, 832031, 417969,4
63867)
make_persistent(%soundeqarr)
declare %engine_par[9] := (...
$ENGINE_PAR_FREQ1,$ENGINE_PAR_BW1,$ENGINE_PAR_GAIN1,...
$ENGINE_PAR_FREQ2,$ENGINE_PAR_BW2,$ENGINE_PAR_GAIN2,...
$ENGINE_PAR_FREQ3,$ENGINE_PAR_BW3,$ENGINE_PAR_GAIN3)
declare $helper_eq
declare $a_eq
declare $knob_eq
declare %sound_group[$DRUM_INSTR]
make_persistent(%sound_group)
_read_persistent_var(%sound_group)
$sound_voicing := %sound_group[$selected_group]
$knob_eq := ($sound_voicing+10)*10
declare $index_1
declare $index_2
set_control_par_str(get_ui_id($note_voicing),$CONTROL_PAR_AUTOMATION_NAM
E,"Note")
set_control_par_str(get_ui_id($sel_by_midi),$CONTROL_PAR_AUTOMATION_NAME
,"Midi")
set_control_par_str(get_ui_id($level_voicing),$CONTROL_PAR_AUTOMATION_NA
ME,"Volume")
set_control_par_str(get_ui_id($pan_voicing),$CONTROL_PAR_AUTOMATION_NAME
,"Pan")
set_control_par_str(get_ui_id($tune_voicing),$CONTROL_PAR_AUTOMATION_NAM
E,"Tune")
set_control_par_str(get_ui_id($sound_voicing),$CONTROL_PAR_AUTOMATION_NA
ME,"Sound")
set_control_par_str(get_ui_id($note_voicing),$CONTROL_PAR_LABEL,!note_na
mes[$note_voicing])
set_control_par_str(get_ui_id($level_voicing),$CONTROL_PAR_LABEL,get_eng
ine_par_disp($ENGINE_PAR_VOLUME,$selected_group,-1,-1) & " dB")
set_control_par_str(get_ui_id($pan_voicing),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_PAN,$selected_group,-1,-1))
set_control_par_str(get_ui_id($tune_voicing),$CONTROL_PAR_LABEL,get_engi
ne_par_disp($ENGINE_PAR_TUNE,$selected_group,-1,-1) & " st")
set_control_par_str(get_ui_id($sound_voicing),$CONTROL_PAR_LABEL,$sound_
voicing & " %")
{----------VOICING END----------}
{----------ARTICULATIONS START----------}
declare const $NUM_ARTIC := 7
declare ui_slider $type_artic (0,10)
declare ui_slider $knob_1_artic (0,100)
declare ui_slider $knob_2_artic (0,100)
declare ui_label $lb_type_artic (1,1)
declare ui_label $lb_knob_1_artic (1,1)
declare ui_label $lb_knob_2_artic (1,1)
declare %artic_id[$NUM_ARTIC]
%artic_id[0] := get_ui_id($type_artic)
%artic_id[1] := get_ui_id($knob_1_artic)
%artic_id[2] := get_ui_id($knob_2_artic)
%artic_id[3] := get_ui_id($lb_type_artic)
%artic_id[4] := get_ui_id($lb_knob_1_artic)
%artic_id[5] := get_ui_id($lb_knob_2_artic)
move_control_px ($type_artic,($GRID_X * 1) - 48, ($GRID_Y * 2) + 15)
move_control_px ($knob_1_artic,($GRID_X * 1) - 41, ($GRID_Y * 6) + 19)
move_control_px ($knob_2_artic,($GRID_X * 1) + 41,($GRID_Y * 6) + 19)
set_control_par_str(%artic_id[0],$CONTROL_PAR_PICTURE,"pv_band_knob_big"
)
set_control_par(%artic_id[0],$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)
$count := 1
while ($count < 3)
set_control_par_str(%artic_id[$count],$CONTROL_PAR_PICTURE,"pv_b
and_knob_small")
set_control_par(%artic_id[$count],$CONTROL_PAR_MOUSE_BEHAVIOUR,-
500)
inc($count)
end while
set_control_par(%artic_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_BG)
set_control_par(%artic_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%artic_id[$count-3],$CONTROL_PAR_POS_X) - 22)
set_control_par(%artic_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%artic_id[$count-3],$CONTROL_PAR_POS_Y)-9)
set_control_par(%artic_id[$count], $CONTROL_PAR_WIDTH, 95)
set_control_par(%artic_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1)
set_control_par(%artic_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID)
$count := 4
while ($count < 6)
set_control_par(%artic_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_B
G)
set_control_par(%artic_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%artic_id[$count-3],$CONTROL_PAR_POS_X)
- 26)
set_control_par(%artic_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%artic_id[$count-3],$CONTROL_PAR_POS_Y)-
22)
set_control_par(%artic_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT,
1)
set_control_par(%artic_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT
_ID)
inc($count)
end while
set_text($lb_type_artic,"ARTICULATION")
set_control_help ($type_artic,...
"Articulation: Chooses an articulation for the selected drum ins
trument.")
set_control_help ($knob_1_artic,"Variation 1: Adjusts the selected artic
ulation.")
set_control_help ($knob_2_artic,"Variation 2: Adjusts the selected artic
ulation.")
declare !artic_name[11]
!artic_name[0] := "OFF"
!artic_name[1] := "ALTERNATE"
!artic_name[2] := "RELEASE"
!artic_name[3] := "FLAM"
!artic_name[4] := "DRAG"
!artic_name[5] := "RUFF"
!artic_name[6] := "ROLL"
!artic_name[7] := "BUZZ"
!artic_name[8] := "MUTED"
!artic_name[9] := "SPEED"
!artic_name[10] := "GEIGER"
declare !Knob1_names [11]
!Knob1_names[0] := "N/A"
!Knob1_names[1] := "DEPTH"
!Knob1_names[2] := "VARIATION"
!Knob1_names[3] := "SPEED"
!Knob1_names[4] := "SPEED"
!Knob1_names[5] := "SPEED"
!Knob1_names[6] := "SPEED"
!Knob1_names[7] := "GRIP"
!Knob1_names[8] := "ATTACK"
!Knob1_names[9] := "SPEED"
!Knob1_names[10] := "RADIATION"
declare !Knob2_names [11]
!Knob2_names[0] := "N/A"
!Knob2_names[1] := "RANDOM"
!Knob2_names[2] := "VELOCITY"
!Knob2_names[3] := "DYNAMIC"
!Knob2_names[4] := "DYNAMIC"
!Knob2_names[5] := "DYNAMIC"
!Knob2_names[6] := "DYNAMIC"
!Knob2_names[7] := "PRESSURE"
!Knob2_names[8] := "DECAY"
!Knob2_names[9] := "DURATION"
!Knob2_names[10] := "DECAY"
declare %Var_0_a_store[128] := (50)
declare %Var_1_a_store[128] := (50)
declare %Var_2_a_store[128] := (50)
declare %Var_3_a_store[128] := (50)
declare %Var_4_a_store[128] := (50)
declare %Var_5_a_store[128] := (50)
declare %Var_6_a_store[128] := (50)
declare %Var_7_a_store[128] := (50)
declare %Var_8_a_store[128] := (50)
declare %Var_9_a_store[128] := (50)
declare %Var_0_b_store[128] := (50)
declare %Var_1_b_store[128] := (50)
declare %Var_2_b_store[128] := (50)
declare %Var_3_b_store[128] := (50)
declare %Var_4_b_store[128] := (50)
declare %Var_5_b_store[128] := (50)
declare %Var_6_b_store[128] := (50)
declare %Var_7_b_store[128] := (50)
declare %Var_8_b_store[128] := (50)
declare %Var_9_b_store[128] := (50)
declare %artic_menu_store[128]
make_persistent(%Var_0_a_store)
make_persistent(%Var_1_a_store)
make_persistent(%Var_2_a_store)
make_persistent(%Var_3_a_store)
make_persistent(%Var_4_a_store)
make_persistent(%Var_5_a_store)
make_persistent(%Var_6_a_store)
make_persistent(%Var_7_a_store)
make_persistent(%Var_8_a_store)
make_persistent(%Var_9_a_store)
make_persistent(%Var_0_b_store)
make_persistent(%Var_1_b_store)
make_persistent(%Var_2_b_store)
make_persistent(%Var_3_b_store)
make_persistent(%Var_4_b_store)
make_persistent(%Var_5_b_store)
make_persistent(%Var_6_b_store)
make_persistent(%Var_7_b_store)
make_persistent(%Var_8_b_store)
make_persistent(%Var_9_b_store)
make_persistent(%artic_menu_store)
_pgs_create_key(VAR_0_A_STORE, 128)
_pgs_create_key(VAR_1_A_STORE, 128)
_pgs_create_key(VAR_2_A_STORE, 128)
_pgs_create_key(VAR_3_A_STORE, 128)
_pgs_create_key(VAR_4_A_STORE, 128)
_pgs_create_key(VAR_5_A_STORE, 128)
_pgs_create_key(VAR_6_A_STORE, 128)
_pgs_create_key(VAR_7_A_STORE, 128)
_pgs_create_key(VAR_8_A_STORE, 128)
_pgs_create_key(VAR_9_A_STORE, 128)
_pgs_create_key(VAR_0_B_STORE, 128)
_pgs_create_key(VAR_1_B_STORE, 128)
_pgs_create_key(VAR_2_B_STORE, 128)
_pgs_create_key(VAR_3_B_STORE, 128)
_pgs_create_key(VAR_4_B_STORE, 128)
_pgs_create_key(VAR_5_B_STORE, 128)
_pgs_create_key(VAR_6_B_STORE, 128)
_pgs_create_key(VAR_7_B_STORE, 128)
_pgs_create_key(VAR_8_B_STORE, 128)
_pgs_create_key(VAR_9_B_STORE, 128)
_pgs_create_key(ARTIC_MENU_STORE, 128)
_read_persistent_var(%Var_0_a_store)
_read_persistent_var(%Var_1_a_store)
_read_persistent_var(%Var_2_a_store)
_read_persistent_var(%Var_3_a_store)
_read_persistent_var(%Var_4_a_store)
_read_persistent_var(%Var_5_a_store)
_read_persistent_var(%Var_6_a_store)
_read_persistent_var(%Var_7_a_store)
_read_persistent_var(%Var_8_a_store)
_read_persistent_var(%Var_9_a_store)
_read_persistent_var(%Var_0_b_store)
_read_persistent_var(%Var_1_b_store)
_read_persistent_var(%Var_2_b_store)
_read_persistent_var(%Var_3_b_store)
_read_persistent_var(%Var_4_b_store)
_read_persistent_var(%Var_5_b_store)
_read_persistent_var(%Var_6_b_store)
_read_persistent_var(%Var_7_b_store)
_read_persistent_var(%Var_8_b_store)
_read_persistent_var(%Var_9_b_store)
_read_persistent_var(%artic_menu_store)
$count := 0
while($count < 128)
_pgs_set_key_val(VAR_0_A_STORE,$count,%Var_0_a_store[$count])
_pgs_set_key_val(VAR_1_A_STORE,$count,%var_1_a_store[$count])
_pgs_set_key_val(VAR_2_A_STORE,$count,%var_2_a_store[$count])
_pgs_set_key_val(VAR_3_A_STORE,$count,%var_3_a_store[$count])
_pgs_set_key_val(VAR_4_A_STORE,$count,%var_4_a_store[$count])
_pgs_set_key_val(VAR_5_A_STORE,$count,%var_5_a_store[$count])
_pgs_set_key_val(VAR_6_A_STORE,$count,%var_6_a_store[$count])
_pgs_set_key_val(VAR_7_A_STORE,$count,%var_7_a_store[$count])
_pgs_set_key_val(VAR_8_A_STORE,$count,%var_8_a_store[$count])
_pgs_set_key_val(VAR_9_A_STORE,$count,%var_9_a_store[$count])
_pgs_set_key_val(VAR_0_B_STORE,$count,%var_0_b_store[$count])
_pgs_set_key_val(VAR_1_B_STORE,$count,%var_1_b_store[$count])
_pgs_set_key_val(VAR_2_B_STORE,$count,%var_2_b_store[$count])
_pgs_set_key_val(VAR_3_B_STORE,$count,%var_3_b_store[$count])
_pgs_set_key_val(VAR_4_B_STORE,$count,%var_4_b_store[$count])
_pgs_set_key_val(VAR_5_B_STORE,$count,%var_5_b_store[$count])
_pgs_set_key_val(VAR_6_B_STORE,$count,%var_6_b_store[$count])
_pgs_set_key_val(VAR_7_B_STORE,$count,%var_7_b_store[$count])
_pgs_set_key_val(VAR_8_B_STORE,$count,%var_8_b_store[$count])
_pgs_set_key_val(VAR_9_B_STORE,$count,%var_9_b_store[$count])
_pgs_set_key_val(ARTIC_MENU_STORE,$count,%artic_menu_store[$coun
t])
inc($count)
end while
$type_artic := _pgs_get_key_val(ARTIC_MENU_STORE,$note_voicing)
select ($type_artic)
case 0
$knob_1_artic := 0
$knob_2_artic := 0
case 1
$knob_1_artic := _pgs_get_key_val(VAR_0_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_0_B_STORE,$note_vo
icing)
case 2
$knob_1_artic := _pgs_get_key_val(VAR_1_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_1_B_STORE,$note_vo
icing)
case 3
$knob_1_artic := _pgs_get_key_val(VAR_2_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_2_B_STORE,$note_vo
icing)
case 4
$knob_1_artic := _pgs_get_key_val(VAR_3_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_3_B_STORE,$note_vo
icing)
case 5
$knob_1_artic := _pgs_get_key_val(VAR_4_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_4_B_STORE,$note_vo
icing)
case 6
$knob_1_artic := _pgs_get_key_val(VAR_5_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_5_B_STORE,$note_vo
icing)
case 7
$knob_1_artic := _pgs_get_key_val(VAR_6_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_6_B_STORE,$note_vo
icing)
case 8
$knob_1_artic := _pgs_get_key_val(VAR_7_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_7_B_STORE,$note_vo
icing)
case 9
$knob_1_artic := _pgs_get_key_val(VAR_8_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_8_B_STORE,$note_vo
icing)
case 10
$knob_1_artic := _pgs_get_key_val(VAR_9_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_9_B_STORE,$note_vo
icing)
end select
set_text ($lb_knob_1_artic,!Knob1_names[$type_artic])
set_text ($lb_knob_2_artic,!Knob2_names[$type_artic])

set_control_par_str(get_ui_id($type_artic),$CONTROL_PAR_AUTOMATION_NAME,
"Articulation")
set_control_par_str(get_ui_id($knob_1_artic),$CONTROL_PAR_AUTOMATION_NAM
E,"Art 1")
set_control_par_str(get_ui_id($knob_2_artic),$CONTROL_PAR_AUTOMATION_NAM
E,"Art 2")
read_persistent_var($type_artic)
read_persistent_var($knob_1_artic)
read_persistent_var($knob_2_artic)
set_control_par_str(get_ui_id($type_artic),$CONTROL_PAR_LABEL,!artic_nam
e[$type_artic])
set_control_par_str(get_ui_id($knob_1_artic),$CONTROL_PAR_LABEL,$knob_1_
artic & " %")
set_control_par_str(get_ui_id($knob_2_artic),$CONTROL_PAR_LABEL,$knob_2_
artic & " %")
{----------ARTICULATIONS END----------}
{----------VOL ENV START----------}
declare const $NUM_ENV := 6
declare $env_idx
$env_idx := find_mod(0,"VOL_ENV")
declare ui_slider $attack_env (0,1000000)
declare ui_slider $hold_env (0,1000000)
declare ui_slider $decay_env (0,1000000)
declare ui_label $lb_attack_env (1,1)
declare ui_label $lb_hold_env (1,1)
declare ui_label $lb_decay_env (1,1)
declare %env_id[$NUM_ENV]
%env_id[0] := get_ui_id($attack_env)
%env_id[1] := get_ui_id($hold_env)
%env_id[2] := get_ui_id($decay_env)
%env_id[3] := get_ui_id($lb_attack_env)
%env_id[4] := get_ui_id($lb_hold_env)
%env_id[5] := get_ui_id($lb_decay_env)
move_control_px($attack_env,($GRID_X * 1) - 40, ($GRID_Y * 11) + 9)
move_control_px($hold_env,($GRID_X * 1) + 41, ($GRID_Y * 11) + 9)
move_control_px($decay_env,($GRID_X * 2) + 35, ($GRID_Y * 11) + 9)
set_text($lb_attack_env,"ATTACK")
set_text($lb_hold_env,"HOLD")
set_text($lb_decay_env,"DECAY")
set_control_par(get_ui_id($attack_env),$CONTROL_PAR_DEFAULT_VALUE,0)
set_control_par(get_ui_id($hold_env),$CONTROL_PAR_DEFAULT_VALUE,500000)
set_control_par(get_ui_id($decay_env),$CONTROL_PAR_DEFAULT_VALUE,1000000
)
$count := 0
while($count<3)
set_control_par(%env_id[$count],$CONTROL_PAR_MOUSE_BEHAVIOUR,-50
0)
set_control_par_str(%env_id[$count],$CONTROL_PAR_PICTURE,"pv_ban
d_knob_small")
inc($count)
end while
$count := 3
while($count< 6)
set_control_par(%env_id[$count], $CONTROL_PAR_HIDE, $HIDE_PART_B
G)
set_control_par(%env_id[$count], $CONTROL_PAR_POS_X,...
get_control_par(%env_id[$count-3],$CONTROL_PAR_POS_X)-25)
set_control_par(%env_id[$count], $CONTROL_PAR_POS_Y,...
get_control_par(%env_id[$count-3],$CONTROL_PAR_POS_Y)-16)
set_control_par(%env_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1)
set_control_par(%env_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_I
D)
inc($count)
end while
$attack_env := _get_engine_par($ENGINE_PAR_ATTACK,$selected_group,$env_i
dx,-1)
$hold_env := _get_engine_par($ENGINE_PAR_HOLD,$selected_group,$env_idx,-
1)
$decay_env := _get_engine_par($ENGINE_PAR_DECAY,$selected_group,$env_idx
,-1)
set_control_par_str(get_ui_id($attack_env),$CONTROL_PAR_AUTOMATION_NAME,
"Attack")
set_control_par_str(get_ui_id($hold_env),$CONTROL_PAR_AUTOMATION_NAME,"H
old")
set_control_par_str(get_ui_id($decay_env),$CONTROL_PAR_AUTOMATION_NAME,"
Decay")
set_control_par_str(get_ui_id($attack_env),$CONTROL_PAR_LABEL,get_engine
_par_disp($ENGINE_PAR_ATTACK,$selected_group,$env_idx,-1) & " ms")
set_control_par_str(get_ui_id($hold_env),$CONTROL_PAR_LABEL,get_engine_p
ar_disp($ENGINE_PAR_HOLD,$selected_group,$env_idx,-1) & " ms")
set_control_par_str(get_ui_id($decay_env),$CONTROL_PAR_LABEL,get_engine_
par_disp($ENGINE_PAR_DECAY,$selected_group,$env_idx,-1) & " ms")
{----------VOL ENV END----------}
{----------SENDS START----------}
declare const $NUM_SEND := 4
declare const $send_slot := 7
declare ui_slider $reverb_send (0,1000000)
declare ui_slider $delay_send (0,1000000)
declare ui_label $lb_reverb_send (1,1)
declare ui_label $lb_delay_send (1,1)
declare %send_id[$NUM_SEND]
%send_id[0] := get_ui_id($reverb_send)
%send_id[1] := get_ui_id($delay_send)
%send_id[2] := get_ui_id($lb_reverb_send)
%send_id[3] := get_ui_id($lb_delay_send)
set_text($lb_reverb_send, "REVERB")
set_text($lb_delay_send, "DELAY")
move_control_px($reverb_send,($GRID_X * 5) + 89,($GRID_Y * 3) + 6)
move_control_px($delay_send,($GRID_X * 5) + 89,($GRID_Y * 6) + 19)
$count := 0
while($count<2)
set_control_par_str(%send_id[$count],$CONTROL_PAR_PICTURE,"pv_ba
nd_knob_small")
set_control_par(%send_id[$count],$CONTROL_PAR_MOUSE_BEHAVIOUR,-5
00)
inc($count)
end while
$count := 2
while($count<4)
set_control_par(%send_id[$count],$CONTROL_PAR_HIDE,$HIDE_PART_BG
)
set_control_par(%send_id[$count],$CONTROL_PAR_POS_X,...
get_control_par(%send_id[$count-2],$CONTROL_PAR_POS_X) -
26)
set_control_par(%send_id[$count],$CONTROL_PAR_POS_Y,...
get_control_par(%send_id[$count-2],$CONTROL_PAR_POS_Y) -
21)
set_control_par(%send_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1
)
set_control_par(%send_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_
ID)
inc($count)
end while
$reverb_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_0,$selected_group,
$send_slot,1)
$delay_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_1,$selected_group,$
send_slot,1)
set_control_par_str(get_ui_id($reverb_send),$CONTROL_PAR_AUTOMAT
ION_NAME,"Rvb Sd")
set_control_par_str(get_ui_id($delay_send),$CONTROL_PAR_AUTOMATION_NAME,
"Del Sd")
set_control_par_str(get_ui_id($reverb_send),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_SENDLEVEL_0,$selected_group,$send_slot,1) & " dB")
set_control_par_str(get_ui_id($delay_send),$CONTROL_PAR_LABEL,get_engine
_par_disp($ENGINE_PAR_SENDLEVEL_1,$selected_group,$send_slot,1)& " dB")
{----------SENDS END----------}
{*** CONTROL GROUP "BANDFX"}
{POSITIONING OF CONTROL GROUP}
declare $x_grid_bandfx := 2 {X Position of Control Group in grid
}
declare $y_grid_bandfx := 10 {Y Position of Control Group in gri
d}
declare $x_px_bandfx := 80 {X Position Offset Control Group in p
ixel}
declare $y_px_bandfx := 2 {Y Position Offset Control Group in pi
xel}
{DECLARATION AND UI_IDs}
declare const $num_ir_samples := 10 {the number of ir samples us
ed in this instrument group}
declare const $NUM_BANDFX := 42 {number of elements in this cont
rol group}
declare ui_label $backgr_bandfx (1,1)
declare ui_label $title_bandfx (1,1)
declare ui_label $lb_rev_bandfx (1,1)
declare ui_label $lb_delay_bandfx(1,1)
declare ui_label $lb_eq_bandfx(1,1)
declare ui_label $lb_rev_onoff_bandfx (1,1)
declare ui_label $lb_rev_room_bandfx (1,1)
declare ui_label $lb_rev_mix_bandfx (1,1)
declare ui_label $image_reverb (1,1)
declare ui_label $lb_delay_feedback_bandfx (1,1)
declare ui_label $lb_delay_time_bandfx (1,1)
declare ui_label $lb_delay_amount_bandfx (1,1)
declare ui_label $lb_eq_onoff_bandfx (1,1)
declare ui_label $lb_eq_lo_bandfx (1,1)
declare ui_label $lb_eq_mid_bandfx (1,1)
declare ui_label $lb_eq_hi_bandfx (1,1)
declare ui_slider $rev_amount_bandfx (0, 1000000)
declare ui_slider $delay_feedback_bandfx (0, 1000000)
declare ui_slider $delay_time_bandfx (0, 1000000)
declare ui_slider $delay_amount_bandfx (0, 1000000)
declare ui_slider $eq_lo_bandfx (166666, 833333)
declare ui_slider $eq_mid_bandfx (166666, 833333)
declare ui_slider $eq_hi_bandfx (166666, 833333)
declare ui_button $rev_bandfx
declare ui_button $delay_bandfx
declare ui_button $eq_bandfx
declare ui_switch $rev_onoff_bandfx
declare ui_switch $delay_onoff_bandfx
declare ui_switch $eq_onoff_bandfx
declare ui_menu $category_reverb
declare ui_label $eq_background_bandfx (1,1)
declare ui_label $bandfx_bg_bandfx (1,1)
{reverb functionality}
declare ui_menu $hall_reverb
declare ui_menu $cathedral_reverb
declare ui_menu $club_reverb
declare ui_menu $room_reverb
declare ui_menu $l300_reverb
declare ui_menu $quadstick_reverb
declare ui_menu $brt7_reverb
declare ui_menu $plate_reverb
declare ui_menu $cabinet_reverb
declare %subcat_menu_id[9]
%subcat_menu_id[0] := get_ui_id($hall_reverb)
%subcat_menu_id[1] := get_ui_id($cathedral_reverb)
%subcat_menu_id[2] := get_ui_id($club_reverb)
%subcat_menu_id[3] := get_ui_id($room_reverb)
%subcat_menu_id[4] := get_ui_id($l300_reverb)
%subcat_menu_id[6] := get_ui_id($quadstick_reverb)
%subcat_menu_id[7] := get_ui_id($brt7_reverb)
%subcat_menu_id[5] := get_ui_id($plate_reverb)
%subcat_menu_id[8] := get_ui_id($cabinet_reverb)
declare %offset_reverb[9] := (0,3,6,14,21,52,34,42,62)
{Skin the subcategory menus}
$count := 0
while($count < 9)
set_control_par_str(%subcat_menu_id[$count],$CONTROL_PAR
_PICTURE,"pv_band_master_fx_rev_dropdown_1")
set_control_par(%subcat_menu_id[$count], $CONTROL_PAR_PO
S_X, ($GRID_X * 2) + 84)
set_control_par(%subcat_menu_id[$count], $CONTROL_PAR_PO
S_Y, ($GRID_Y * 5) + 2)
set_control_par(%subcat_menu_id[$count], $CONTROL_PAR_FO
NT_TYPE, $FONT_ID_2)
inc($count)
end while
set_control_par_str(get_ui_id($image_reverb),$CONTROL_PAR_PICTUR
E,"pv_band_reverb_animation")
{Fill the menus}
add_menu_item($category_reverb, "CONCERT HALL", 0)
add_menu_item($category_reverb, "CATHEDRAL", 1)
add_menu_item($category_reverb, "CLUB", 2)
add_menu_item($category_reverb, "ROOM", 3)
add_menu_item($category_reverb, "L300", 4)
add_menu_item($category_reverb, "QUADSTICK", 6)
add_menu_item($category_reverb, "BRT 7", 7)
add_menu_item($category_reverb, "PLATE", 5)
add_menu_item($category_reverb, "CABINET", 8)
declare !ir_path[68]
!ir_path[0] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Concert Hall A.wav"
!ir_path[1] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Concert Hall B.wav"
!ir_path[2] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Exhibition Hall.wav"
!ir_path[3] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Cathedral A.wav"
!ir_path[4] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Cathedral B.wav"
!ir_path[5] := "presets/effects/convolution/10 Big Rooms/IR Samp
les/ndb_cathedral_ir_32bit.wav"
!ir_path[6] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Club A.wav"
!ir_path[7] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Club B.wav"
!ir_path[8] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Tavern Close.wav"
!ir_path[9] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 IR
Samples/Tavern Near.wav"
!ir_path[10] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Tavern Medium.wav"
!ir_path[11] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Tavern Far.wav"
!ir_path[12] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Auditorium A.wav"
!ir_path[13] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Auditorium B.wav"
!ir_path[14] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Chamber A.wav"
!ir_path[15] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Chamber B.wav"
!ir_path[16] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Rehearsal Room.wav"
!ir_path[17] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Hard Wood Room B.wav"
!ir_path[18] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Music Studio C.wav"
!ir_path[19] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Small Room A.wav"
!ir_path[20] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Small Room B.wav"
!ir_path[21] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Large Hall.wav"
!ir_path[22] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Gated Hall.wav"
!ir_path[23] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Large Room.wav"
!ir_path[24] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Large Chamber.wav"
!ir_path[25] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Studio C.wav"
!ir_path[26] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Contem-Plate.wav"
!ir_path[27] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Space & Echoes.wav"
!ir_path[28] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Medium Stop.wav"
!ir_path[29] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Drum Cave.wav"
!ir_path[30] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Large Ambience.wav"
!ir_path[31] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Smooth Ambience.wav"
!ir_path[32] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Ambience Wave.wav"
!ir_path[33] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/L300 Le Gate.wav"
!ir_path[34] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - Basic.wav"
!ir_path[35] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - Disco.wav"
!ir_path[36] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - Funk.wav"
!ir_path[37] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - Funky Club.wav"
!ir_path[38] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - Hip Hop.wav"
!ir_path[39] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - Reggae Modern.wav"
!ir_path[40] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - RnB Neptunes.wav"
!ir_path[41] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/Quadstick Small - RnB Today 1.wav"
!ir_path[42] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Ambience Large A.wav"
!ir_path[43] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Ambience Small.wav"
!ir_path[44] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Chamber Small.wav"
!ir_path[45] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Chamber Vocal.wav"
!ir_path[46] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Hall Dense.wav"
!ir_path[47] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Location Chapel A.wav"
!ir_path[48] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Plate Snare.wav"
!ir_path[49] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Room Drum.wav"
!ir_path[50] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Room Wood.wav"
!ir_path[51] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/BRT 7 Location Cineastic Room.wav"
!ir_path[52] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E245 0.5s A.wav"
!ir_path[53] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E245 1.0s A.wav"
!ir_path[54] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E245 1.4s A.wav"
!ir_path[55] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E245 2.1s A.wav"
!ir_path[56] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E245 4.5s A.wav"
!ir_path[57] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E252 0.6s.wav"
!ir_path[58] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E252 1.0s.wav"
!ir_path[59] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E252 1.8s.wav"
!ir_path[60] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E252 3.0s.wav"
!ir_path[61] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4 I
R Samples/E252 4.5s.wav"
!ir_path[62] := "presets/effects/convolution/17 Cabinets/Brit 21
2/IR Samples/Brit_212_Tube_Center.wav"
!ir_path[63] := "presets/effects/convolution/17 Cabinets/Tweed 1
12/IR Samples/Tweed_112_Tube_Center.wav"
!ir_path[64] := "presets/effects/convolution/17 Cabinets/Tweed 2
12/IR Samples/Tweed_212_Tube_Center.wav"
!ir_path[65] := "presets/effects/convolution/17 Cabinets/Tweed 4
10/IR Samples/Tweed_410_Tube_Center.wav"
!ir_path[66] := "presets/effects/convolution/17 Cabinets/Rock 41
2/IR Samples/Rock_412_Tube_Center.wav"
!ir_path[67] := "presets/effects/convolution/17 Cabinets/Modern
412/IR Samples/Modern_412_Tube_Center.wav"

declare !ir_type[68]
!ir_type[0] := "HALL A"
!ir_type[1] := "HALL B"
!ir_type[2] := "EXHIBITION HALL"
!ir_type[3] := "CATHEDRAL A"
!ir_type[4] := "CATHEDRAL B"
!ir_type[5] := "NDB"
!ir_type[6] := "CLUB A"
!ir_type[7] := "CLUB B"
!ir_type[8] := "TAVERN CLOSE"
!ir_type[9] := "TAVERN NEAR"
!ir_type[10] := "TAVERN MID"
!ir_type[11] := "TAVERN FAR"
!ir_type[12] := "AUDITORIUM A"
!ir_type[13] := "AUDITORIUM B"
!ir_type[14] := "CHAMBER A"
!ir_type[15] := "CHAMBER B"
!ir_type[16] := "REHEARSAL"
!ir_type[17] := "HARD WOOD"
!ir_type[18] := "MUSIC STUDIO"
!ir_type[19] := "SMALL ROOM A"
!ir_type[20] := "SMALL ROOM B"
!ir_type[21] := "LARGE HALL"
!ir_type[22] := "GATED HALL"
!ir_type[23] := "LARGE ROOM"
!ir_type[24] := "LRG CHAMBER"
!ir_type[25] := "STUDIO C"
!ir_type[26] := "PLATE"
!ir_type[27] := "ECHOES"
!ir_type[28] := "MEDIUM STOP"
!ir_type[29] := "DRUM CAVE"
!ir_type[30] := "LARGE AMBI"
!ir_type[31] := "SMOOTH AMBI"
!ir_type[32] := "AMBI WAVE"
!ir_type[33] := "LE GATE"
!ir_type[34] := "BASIC"
!ir_type[35] := "DISCO"
!ir_type[36] := "FUNK"
!ir_type[37] := "FUNKY CLUB"
!ir_type[38] := "HIP HOP"
!ir_type[39] := "REGGAE MOD"
!ir_type[40] := "RNB NEPTUNES"
!ir_type[41] := "RNB TODAY"
!ir_type[42] := "LARGE AMBI"
!ir_type[43] := "SMALL AMBI"
!ir_type[44] := "SML CHAMBER"
!ir_type[45] := "VOC CHAMBER"
!ir_type[46] := "DENSE HALL"
!ir_type[47] := "CHAPEL"
!ir_type[48] := "SNARE PLATE"
!ir_type[49] := "DRUM ROOM"
!ir_type[50] := "WOOD ROOM"
!ir_type[51] := "CINEASTIC"
!ir_type[52] := "E245 0.5s"
!ir_type[53] := "E245 1.0s"
!ir_type[54] := "E245 1.4s"
!ir_type[55] := "E245 2.1s"
!ir_type[56] := "E245 4.5s"
!ir_type[57] := "E252 0.6s"
!ir_type[58] := "E252 1.0s"
!ir_type[59] := "E252 1.8s"
!ir_type[60] := "E252 3.0s"
!ir_type[61] := "E252 4.5s"
!ir_type[62] := "BRIT 2x12"
!ir_type[63] := "TWEED 1x12"
!ir_type[64] := "TWEED 2x12"
!ir_type[65] := "TWEED 4x10"
!ir_type[66] := "ROCK 4x12"
!ir_type[67] := "MODERN 4x12"
$count := 0
while ($count < 68)
if ($count < 3)
add_menu_item($hall_reverb,!ir_type[$count],$cou
nt)
else
if ($count < 6)
add_menu_item($cathedral_reverb,!ir_type
[$count],$count)
else
if ($count < 14)
add_menu_item($club_reverb,!ir_t
ype[$count],$count)
else
if ($count < 21)
add_menu_item($room_reve
rb,!ir_type[$count],$count)
else
if ($count < 34)
add_menu_item($l300_reve
rb,!ir_type[$count],$count)
else
if($count < 42)
add_menu
_item($quadstick_reverb,!ir_type[$count],$count)
else
if ($cou
nt < 52)
add_menu_item($brt7_reverb,!ir_type[$count],$count)
else
if ($count < 62)
add_menu_item($plate_reverb,!ir_type[$count],$count)
else
add_menu_item($cabinet_reverb,!ir_type[$count],$count)
end if
end if
end if
end if
end if
end if
end if
end if
inc ($count)
end while
make_persistent($category_reverb)
make_persistent($hall_reverb)
make_persistent($cathedral_reverb)
make_persistent($club_reverb)
make_persistent($room_reverb)
make_persistent($l300_reverb)
make_persistent($quadstick_reverb)
make_persistent($brt7_reverb)
make_persistent($plate_reverb)
make_persistent($cabinet_reverb)
_read_persistent_var($category_reverb)
_read_persistent_var($hall_reverb)
_read_persistent_var($cathedral_reverb)
_read_persistent_var($club_reverb)
_read_persistent_var($room_reverb)
_read_persistent_var($l300_reverb)
_read_persistent_var($quadstick_reverb)
_read_persistent_var($brt7_reverb)
_read_persistent_var($plate_reverb)
_read_persistent_var($cabinet_reverb)
$count := 0
while ($count < 9)
if ($count = $category_reverb)
set_control_par(%subcat_menu_id[$count],$CONTROL
_PAR_HIDE,$HIDE_PART_NOTHING)
else
set_control_par(%subcat_menu_id[$count],$CONTROL
_PAR_HIDE,$HIDE_WHOLE_CONTROL)
end if
inc ($count)
end while
set_control_par(get_ui_id($image_reverb),$CONTROL_PAR_PICTURE_ST
ATE,$category_reverb)
{/reverb functionality}
declare %bandfx_id[$NUM_BANDFX]
%bandfx_id[0] := get_ui_id($backgr_bandfx)
%bandfx_id[1] := get_ui_id($title_bandfx)
%bandfx_id[2] := get_ui_id($lb_rev_bandfx)
%bandfx_id[3] := get_ui_id($lb_delay_bandfx)
%bandfx_id[4] := get_ui_id($lb_eq_bandfx)
%bandfx_id[5] := get_ui_id($lb_rev_onoff_bandfx)
%bandfx_id[6] := get_ui_id($lb_rev_room_bandfx)
%bandfx_id[7] := get_ui_id($lb_rev_mix_bandfx)
%bandfx_id[8] := get_ui_id($image_reverb)
%bandfx_id[9] := get_ui_id($lb_delay_feedback_bandfx)
%bandfx_id[10] := get_ui_id($lb_delay_time_bandfx)
%bandfx_id[11] := get_ui_id($lb_delay_amount_bandfx)
%bandfx_id[12] := get_ui_id($lb_eq_onoff_bandfx)
%bandfx_id[13] := get_ui_id($lb_eq_lo_bandfx)
%bandfx_id[14] := get_ui_id($lb_eq_mid_bandfx)
%bandfx_id[15] := get_ui_id($lb_eq_hi_bandfx)
%bandfx_id[16] := get_ui_id($rev_amount_bandfx)
%bandfx_id[17] := get_ui_id($delay_feedback_bandfx)
%bandfx_id[18] := get_ui_id($delay_time_bandfx)
%bandfx_id[19] := get_ui_id($delay_amount_bandfx)
%bandfx_id[20] := get_ui_id($eq_lo_bandfx)
%bandfx_id[21] := get_ui_id($eq_mid_bandfx)
%bandfx_id[22] := get_ui_id($eq_hi_bandfx)
%bandfx_id[23] := get_ui_id($rev_bandfx)
%bandfx_id[24] := get_ui_id($delay_bandfx)
%bandfx_id[25] := get_ui_id($eq_bandfx)
%bandfx_id[26] := get_ui_id($rev_onoff_bandfx)
%bandfx_id[27] := get_ui_id($delay_onoff_bandfx)
%bandfx_id[28] := get_ui_id($eq_onoff_bandfx)
%bandfx_id[30] := get_ui_id($category_reverb)
%bandfx_id[31] := get_ui_id($eq_background_bandfx)
%bandfx_id[32] := get_ui_id($bandfx_bg_bandfx)
%bandfx_id[33] := get_ui_id($hall_reverb)
%bandfx_id[34] := get_ui_id($cathedral_reverb)
%bandfx_id[35] := get_ui_id($club_reverb)
%bandfx_id[36] := get_ui_id($room_reverb)
%bandfx_id[37] := get_ui_id($l300_reverb)
%bandfx_id[38] := get_ui_id($quadstick_reverb)
%bandfx_id[39] := get_ui_id($brt7_reverb)
%bandfx_id[40] := get_ui_id($plate_reverb)
%bandfx_id[41] := get_ui_id($cabinet_reverb)
{POSITIONING OF INDIVIDUAL CONTROLS}
move_control_px($backgr_bandfx,($GRID_X * 1) + 58, ($GRID_Y * 1)
+ 16) {possible to offset control in pixels}
move_control_px($title_bandfx, ($GRID_X * 1) + 0, ($GRID_Y * 1)
+ 0)
move_control_px($lb_rev_bandfx, ($GRID_X * 1) + 0, ($GRID_Y * 2)
+ 0)
move_control_px($lb_delay_bandfx, ($GRID_X * 1) + 46, ($GRID_Y *
2) + 0)
move_control_px($lb_eq_bandfx, ($GRID_X * 2) + 0, ($GRID_Y * 2)
+ 0)
move_control_px($lb_rev_onoff_bandfx, ($GRID_X * 2) + 46, ($GRID
_Y * 2) + 0)
move_control_px($lb_rev_room_bandfx, ($GRID_X * 3) + 46, ($GRID_
Y * 2) + 0)
move_control_px($lb_rev_mix_bandfx, ($GRID_X * 3) + 90, ($GRID_Y
* 2) + 9)
move_control_px($image_reverb, ($GRID_X * 2) + 86, ($GRID_Y * 2)
+ 20)
move_control_px($lb_delay_feedback_bandfx, ($GRID_X * 2) + 62, (
$GRID_Y * 2) + 9)
move_control_px($lb_delay_time_bandfx, ($GRID_X * 3) + 30, ($GRI
D_Y * 2) + 9)
move_control_px($lb_delay_amount_bandfx, ($GRID_X * 3) + 90, ($G
RID_Y * 2) + 9)
move_control_px($lb_eq_onoff_bandfx, ($GRID_X * 2) + 46, ($GRID_
Y * 2) + 0)
move_control_px($lb_eq_lo_bandfx, ($GRID_X * 2) + 83, ($GRID_Y *
5) + 0)
move_control_px($lb_eq_mid_bandfx, ($GRID_X * 3) + 37, ($GRID_Y
* 5) + 0)
move_control_px($lb_eq_hi_bandfx, ($GRID_X * 3) + 82, ($GRID_Y *
5) + 0)
move_control_px($rev_amount_bandfx, ($GRID_X * 4) + 26, ($GRID_Y
* 3) + 5)
move_control_px($delay_feedback_bandfx, ($GRID_X * 2) + 90, ($GR
ID_Y * 3) + 5)
move_control_px($delay_time_bandfx, ($GRID_X * 3) + 58, ($GRID_Y
* 3) + 5)
move_control_px($delay_amount_bandfx, ($GRID_X * 4) + 26, ($GRID
_Y * 3) + 5)
move_control_px($eq_lo_bandfx, ($GRID_X * 3) + 31, ($GRID_Y * 2)
+ 12)
move_control_px($eq_mid_bandfx, ($GRID_X * 3) + 76, ($GRID_Y * 2
) + 12)
move_control_px($eq_hi_bandfx, ($GRID_X * 4) + 29, ($GRID_Y * 2)
+ 12)
move_control_px($rev_bandfx, ($GRID_X * 1) + 80, ($GRID_Y * 1) +
16)
move_control_px($delay_bandfx, ($GRID_X * 1) + 80, ($GRID_Y * 3)
+ 5)
move_control_px($eq_bandfx, ($GRID_X * 1) + 80, ($GRID_Y * 4) +
16)
move_control_px($rev_onoff_bandfx, ($GRID_X * 1) + 60, ($GRID_Y
* 1) + 18)
move_control_px($delay_onoff_bandfx, ($GRID_X * 1) + 60, ($GRID_
Y * 3) + 8)
move_control_px($eq_onoff_bandfx, ($GRID_X * 1) + 60, ($GRID_Y *
4) + 20)
move_control_px($category_reverb, ($GRID_X * 2) + 84, ($GRID_Y *
2) + 6)
move_control_px($eq_background_bandfx, ($GRID_X * 2) + 75, ($GRI
D_Y * 2) + 2)
move_control_px($bandfx_bg_bandfx, ($GRID_X * 2) + 85, ($GRID_Y
* 2) + 6)
{VARIOUS ATTRIBUTES}
set_control_par(%bandfx_id[20], $CONTROL_PAR_DEFAULT_VALUE, 5000
00)
set_control_par(%bandfx_id[21], $CONTROL_PAR_DEFAULT_VALUE, 5000
00)
set_control_par(%bandfx_id[22], $CONTROL_PAR_DEFAULT_VALUE, 5000
00)
$rev_amount_bandfx := _get_engine_par ($ENGINE_PAR_SEND_EFFECT_O
UTPUT_GAIN, -1, $reverb_slot, 0)
$delay_feedback_bandfx := _get_engine_par ($ENGINE_PAR_DL_FEEDBA
CK, -1, $delay_slot, 0)
$delay_time_bandfx := _get_engine_par ($ENGINE_PAR_DL_TIME, -1,
$delay_slot, 0)
$delay_amount_bandfx := _get_engine_par ($ENGINE_PAR_SEND_EFFECT
_OUTPUT_GAIN, -1, $delay_slot, 0)
$eq_lo_bandfx := _get_engine_par($ENGINE_PAR_GAIN1, -1, $meq_slo
t, 1)
$eq_mid_bandfx := _get_engine_par($ENGINE_PAR_GAIN2, -1, $meq_sl
ot, 1)
$eq_hi_bandfx := _get_engine_par($ENGINE_PAR_GAIN3, -1, $meq_slo
t, 1)
$rev_onoff_bandfx := (_get_engine_par($ENGINE_PAR_SEND_EFFECT_BY
PASS, -1, $reverb_slot, 0) + 1) mod 2
$delay_onoff_bandfx := (_get_engine_par($ENGINE_PAR_SEND_EFFECT_
BYPASS, -1, $delay_slot, 0) + 1) mod 2
$eq_onoff_bandfx := (_get_engine_par($ENGINE_PAR_SEND_EFFECT_BYP
ASS, -1, $meq_slot, 1) + 1) mod 2
set_control_par_str(%bandfx_id[0], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[1], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[2], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[3], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[4], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[5], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[6], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[7], $CONTROL_PAR_TEXT, "AMOUNT")
set_control_par_str(%bandfx_id[8], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[9], $CONTROL_PAR_TEXT, "FEEDBACK"
)
set_control_par_str(%bandfx_id[10], $CONTROL_PAR_TEXT, "TIME")
set_control_par_str(%bandfx_id[11], $CONTROL_PAR_TEXT, "AMOUNT")
set_control_par_str(%bandfx_id[12], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[13], $CONTROL_PAR_TEXT, "BASS")
set_control_par_str(%bandfx_id[14], $CONTROL_PAR_TEXT, "MID")
set_control_par_str(%bandfx_id[15], $CONTROL_PAR_TEXT, "TREBLE")
set_control_par_str(%bandfx_id[16], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[31], $CONTROL_PAR_TEXT, "")
set_control_par_str(%bandfx_id[32], $CONTROL_PAR_TEXT, "")

set_control_par(%bandfx_id[0], $CONTROL_PAR_WIDTH, ($GRID_X * 2)


+ 46)
set_control_par(%bandfx_id[0], $CONTROL_PAR_HEIGHT, ($GRID_Y * 8
))
set_control_par(%bandfx_id[1], $CONTROL_PAR_WIDTH, ($GRID_X * 1)
)
set_control_par(%bandfx_id[1], $CONTROL_PAR_HEIGHT, ($GRID_Y * 1
))
$count := 1
while ($count < 16)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_WIDTH,
($GRID_X * 1))
set_control_par(%bandfx_id[$count], $CONTROL_PAR_HEIGHT,
($GRID_Y * 1))
set_control_par(%bandfx_id[$count], $CONTROL_PAR_HIDE, $
HIDE_PART_BG)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_TEXT_AL
IGNMENT, 1)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_FONT_TY
PE, $FONT_ID)
inc($count)
end while
set_control_par_str(%bandfx_id[0], $CONTROL_PAR_PICTURE, "pv_ban
d_drums_master_tab_animation")
set_control_par(%bandfx_id[8], $CONTROL_PAR_HIDE, $HIDE_PART_NOT
HING)
set_control_par_str(%bandfx_id[31], $CONTROL_PAR_PICTURE, "pv_ba
nd_master_fx_eq_bg")
set_control_par_str(%bandfx_id[32], $CONTROL_PAR_PICTURE, "pv_ba
nd_master_fx_bg")
$count := 16
while ($count < 20)
set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_PIC
TURE, "pv_band_knob_small")
set_control_par(%bandfx_id[$count], $CONTROL_PAR_MOUSE_B
EHAVIOUR, -500)
inc($count)
end while
$count := 20
while ($count < 23)
set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_PIC
TURE, "pv_band_master_fx_eq_fader")
set_control_par(%bandfx_id[$count], $CONTROL_PAR_MOUSE_B
EHAVIOUR, -1000)
inc($count)
end while
set_control_par(%bandfx_id[23], $CONTROL_PAR_VALUE, 1)
$count := 23
while ($count < 26)
set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_PIC
TURE, "pv_vintage_drums_btn_trans")
set_control_par(%bandfx_id[$count], $CONTROL_PAR_WIDTH,
51)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_HEIGHT,
31)
set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_TEX
T, "")
inc($count)
end while
$count := 26
while ($count < 29)
set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_PIC
TURE, "pv_synth_button_small")
set_control_par(%bandfx_id[$count], $CONTROL_PAR_WIDTH,
25)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_HEIGHT,
25)
set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_TEX
T, "")
inc($count)
end while
set_control_par_str(%bandfx_id[30], $CONTROL_PAR_PICTURE, "pv_ba
nd_master_fx_rev_dropdown_2")
set_control_par(%bandfx_id[30], $CONTROL_PAR_FONT_TYPE, $FONT_ID
_2)

{Hide the Delay Elements}


$count := 9
while ($count < 12)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_HIDE, $
HIDE_WHOLE_CONTROL)
set_control_par(%bandfx_id[$count+8], $CONTROL_PAR_HIDE,
$HIDE_WHOLE_CONTROL)
inc($count)
end while
{Hide the EQ Elements}
$count := 13
while ($count < 16)
set_control_par(%bandfx_id[$count], $CONTROL_PAR_HIDE, $
HIDE_WHOLE_CONTROL)
set_control_par(%bandfx_id[$count+7], $CONTROL_PAR_HIDE,
$HIDE_WHOLE_CONTROL)
inc($count)
end while
set_control_par(%bandfx_id[31], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
{Other}
$count := 0
while ($count < $NUM_bandfx)
if ($count # 29)
set_control_par (%bandfx_id[$count],$CONTROL_PAR_POS_X,g
et_control_par(%bandfx_id[$count],$CONTROL_PAR_POS_X)...
+$ROOT_X + ($x_grid_bandfx - 2)*$GRID_X + $x_px_bandfx)
set_control_par (%bandfx_id[$count],$CONTROL_PAR_POS_Y,g
et_control_par(%bandfx_id[$count],$CONTROL_PAR_POS_Y)...
+$ROOT_Y + ($y_grid_bandfx - 2)*$GRID_Y + $y_px_bandfx)
end if
inc($count)
end while
set_control_par_str(get_ui_id($rev_onoff_bandfx),$CONTROL_PAR_AU
TOMATION_NAME,"Reverb")
set_control_par_str(get_ui_id($delay_onoff_bandfx),$CONTROL_PAR_
AUTOMATION_NAME,"Delay")
set_control_par_str(get_ui_id($eq_onoff_bandfx),$CONTROL_PAR_AUT
OMATION_NAME,"EQ")
set_control_par_str(get_ui_id($rev_amount_bandfx),$CONTROL_PAR_A
UTOMATION_NAME,"Rvb Rt")
set_control_par_str(get_ui_id($delay_feedback_bandfx),$CONTROL_P
AR_AUTOMATION_NAME,"Del Fb")
set_control_par_str(get_ui_id($delay_time_bandfx),$CONTROL_PAR_A
UTOMATION_NAME,"Dl Time")
set_control_par_str(get_ui_id($delay_amount_bandfx),$CONTROL_PAR
_AUTOMATION_NAME,"Del Rt")
set_control_par_str(get_ui_id($eq_lo_bandfx),$CONTROL_PAR_AUTOMA
TION_NAME,"Lo EQ")
set_control_par_str(get_ui_id($eq_mid_bandfx),$CONTROL_PAR_AUTOM
ATION_NAME,"Mid EQ")
set_control_par_str(get_ui_id($eq_hi_bandfx),$CONTROL_PAR_AUTOMA
TION_NAME,"Hi EQ")
set_control_par_str(get_ui_id($rev_amount_bandfx),$CONTROL_PAR_L
ABEL,get_engine_par_disp($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1, $reverb_slot,
0) & " dB")
set_control_par_str(get_ui_id($delay_feedback_bandfx),$CONTROL_P
AR_LABEL,get_engine_par_disp($ENGINE_PAR_DL_FEEDBACK, -1, $delay_slot, 0) & " %"
)
set_control_par_str(get_ui_id($delay_time_bandfx),$CONTROL_PAR_L
ABEL,get_engine_par_disp($ENGINE_PAR_DL_TIME, -1, $delay_slot, 0) & " 16th")
set_control_par_str(get_ui_id($delay_amount_bandfx),$CONTROL_PAR
_LABEL,get_engine_par_disp($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1, $delay_slot,
0) & " dB")
set_control_par_str(get_ui_id($eq_lo_bandfx),$CONTROL_PAR_LABEL,
get_engine_par_disp($ENGINE_PAR_GAIN1, -1, $meq_slot, 1) & " dB")
set_control_par_str(get_ui_id($eq_mid_bandfx),$CONTROL_PAR_LABEL
,get_engine_par_disp($ENGINE_PAR_GAIN2, -1, $meq_slot, 1) & " dB")
set_control_par_str(get_ui_id($eq_hi_bandfx),$CONTROL_PAR_LABEL,
get_engine_par_disp($ENGINE_PAR_GAIN3, -1, $meq_slot, 1) & " dB")
{*** END CONTROL GROUP "BANDFX"}
{Control Help}
set_control_help ($attack_env,"Attack: Sets the volume envelope
attack time for the selected instrument.")
set_control_help ($hold_env,"Hold: Sets the volume envelope hold
time for the selected instrument.")
set_control_help ($decay_env,"Decay: Sets the volume envelope de
cay time for the selected instrument.")
set_control_help ($reverb_send, "Reverb Send Level: Controls the
amount of signal sent from the selected instrument to the master reverb effect.
")
set_control_help ($delay_send, "Delay Send Level: Controls the a
mount of signal sent from the selected instrument to the master delay effect.")
set_control_help($rev_bandfx, "Reverb: Displays the controls for
the reverb effect.")
set_control_help($delay_bandfx, "Delay: Displays the controls fo
r the delay send effect.")
set_control_help($eq_bandfx, "EQ: Displays the controls for the
master equalizer.")

set_control_help ($rev_amount_bandfx, "Reverb Return: Sets the o


utput volume of the reverb send effect.")
set_control_help ($delay_feedback_bandfx, "Delay Feedback: Contr
ols the amount of signal from the delay effect output that is fed back into the
delay effect input.")
set_control_help ($delay_time_bandfx, "Delay Time: Sets the amou
nt of time between the original input and the delayed output signal.")
set_control_help ($delay_amount_bandfx, "Reverb Return: Sets the
output volume of the delay send effect.")
set_control_help ($eq_lo_bandfx, "EQ Low Gain: Controls the gain
of the master output's lower frequencies.")
set_control_help ($eq_mid_bandfx, "EQ Mid Gain: Controls the gai
n of the master output's mid frequencies.")
set_control_help ($eq_hi_bandfx, "EQ High Gain: Controls the gai
n of the master output's higher frequencies.")
set_control_help ($rev_onoff_bandfx, "Reverb On/Off: Turns the r
everb send effect on or off.")
set_control_help ($delay_onoff_bandfx, "Delay On/Off: Turns the
delay send effect on or off.")
set_control_help ($eq_onoff_bandfx, "EQ On/Off: Turns the master
equalizer on or off.")
set_control_help ($category_reverb, "Reverb IR Category: Select
a category from which you can choose a specific impulse response from the second
dropdown menu.")
set_control_help ($hall_reverb, "Concert Hall: Impulse responses
in this category are capured from real spaces and represent a variety of large
performance spaces.")
set_control_help ($cathedral_reverb, "Cathedral: A mix of real a
nd modelled spaces that offer large and dense reverb tails.")
set_control_help ($club_reverb, "Club: Impulse responses in this
category are capured from real spaces and represent a variety of small performa
nce spaces.")
set_control_help ($room_reverb, "Room: Impulse responses in this
category are capured from real spaces and cover a variety of smaller rooms.")
set_control_help ($l300_reverb, "L300: Impulse responses taken f
rom the classic studio digital reverb.")
set_control_help ($plate_reverb, "Plate: Impulse responses from
classic plate reverb effect units.")
set_control_help ($quadstick_reverb, "Quadstick: Impulse respons
es taken from the classic studio digital reverb.")
set_control_help ($brt7_reverb, "BRT 7: Impulse responses taken
from the classic studio digital reverb.")
set_control_help ($cabinet_reverb, "Cabinet: Impulse responses o
f several cabinet types.")

if ($CREATE_AUTOMATION_ID = 1)
$count := 16
set_control_par(get_ui_id($type_artic),$CONTROL_PAR_AUTOMATION_I
D,1)
set_control_par(get_ui_id($knob_1_artic),$CONTROL_PAR_AUTOMATION
_ID,$count)
inc($count)
set_control_par(get_ui_id($knob_2_artic),$CONTROL_PAR_AUTOMATION
_ID,$count)
inc($count)

set_control_par(get_ui_id($note_voicing),$CONTROL_PAR_AUTOMATION
_ID,$count)
inc($count)
set_control_par(get_ui_id($sel_by_midi),$CONTROL_PAR_AUTOMATION_
ID,9)
set_control_par(get_ui_id($level_voicing),$CONTROL_PAR_AUTOMATIO
N_ID,2)
set_control_par(get_ui_id($pan_voicing),$CONTROL_PAR_AUTOMATION_
ID,$count)
inc($count)
set_control_par(get_ui_id($tune_voicing),$CONTROL_PAR_AUTOMATION
_ID,3)
set_control_par(get_ui_id($sound_voicing),$CONTROL_PAR_AUTOMATIO
N_ID,0)
inc($count)
set_control_par(get_ui_id($reverb_send),$CONTROL_PAR_AUTOMATION_
ID,4)
set_control_par(get_ui_id($delay_send),$CONTROL_PAR_AUTOMATION_I
D,5)
set_control_par(get_ui_id($attack_env),$CONTROL_PAR_AUTOMATION_I
D,6)
set_control_par(get_ui_id($hold_env),$CONTROL_PAR_AUTOMATION_ID,
$count)
inc($count)
set_control_par(get_ui_id($decay_env),$CONTROL_PAR_AUTOMATION_ID
,7)
set_control_par(get_ui_id($rev_onoff_bandfx),$CONTROL_PAR_AUTOMA
TION_ID,12)
set_control_par(get_ui_id($delay_onoff_bandfx),$CONTROL_PAR_AUTO
MATION_ID,13)
set_control_par(get_ui_id($eq_onoff_bandfx),$CONTROL_PAR_AUTOMAT
ION_ID,$count)
inc($count)
set_control_par(get_ui_id($rev_amount_bandfx),$CONTROL_PAR_AUTOM
ATION_ID,$count)
inc($count)
set_control_par(get_ui_id($delay_feedback_bandfx),$CONTROL_PAR_A
UTOMATION_ID,$count)
inc($count)
set_control_par(get_ui_id($delay_time_bandfx),$CONTROL_PAR_AUTOM
ATION_ID,$count)
inc($count)
set_control_par(get_ui_id($delay_amount_bandfx),$CONTROL_PAR_AUT
OMATION_ID,$count)
inc($count)
set_control_par(get_ui_id($eq_lo_bandfx),$CONTROL_PAR_AUTOMATION
_ID,$count)
inc($count)
set_control_par(get_ui_id($eq_mid_bandfx),$CONTROL_PAR_AUTOMATIO
N_ID,$count)
inc($count)
set_control_par(get_ui_id($eq_hi_bandfx),$CONTROL_PAR_AUTOMATION
_ID,$count)
end if
end on
{VOICING UI CALLBACKS START}
on ui_control($note_voicing)
$instr_menu_voicing := $note_voicing - 36
$selected_group := $note_voicing - 36
$sound_voicing := %sound_group[$selected_group]
$level_voicing := _get_engine_par($ENGINE_PAR_VOLUME,$selected_group,-1,
-1)
$tune_voicing := _get_engine_par($ENGINE_PAR_TUNE,$selected_group,-1,-1)
$pan_voicing := _get_engine_par($ENGINE_PAR_PAN,$selected_group,-1,-1)
$attack_env := _get_engine_par($ENGINE_PAR_ATTACK,$selected_group,$env_i
dx,-1)
$hold_env := _get_engine_par($ENGINE_PAR_HOLD,$selected_group,$env_idx,-
1)
$decay_env := _get_engine_par($ENGINE_PAR_DECAY,$selected_group,$env_idx
,-1)
$reverb_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_1,$selected_group,
$send_slot,-1)
$delay_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_2,$selected_group,$
send_slot,-1)
$type_artic := _pgs_get_key_val(ARTIC_MENU_STORE,$note_voicing)
select ($type_artic)
case 0
$knob_1_artic := 0
$knob_2_artic := 0
case 1
$knob_1_artic := _pgs_get_key_val(VAR_0_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_0_B_STORE,$note_vo
icing)
case 2
$knob_1_artic := _pgs_get_key_val(VAR_1_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_1_B_STORE,$note_vo
icing)
case 3
$knob_1_artic := _pgs_get_key_val(VAR_2_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_2_B_STORE,$note_vo
icing)
case 4
$knob_1_artic := _pgs_get_key_val(VAR_3_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_3_B_STORE,$note_vo
icing)
case 5
$knob_1_artic := _pgs_get_key_val(VAR_4_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_4_B_STORE,$note_vo
icing)
case 6
$knob_1_artic := _pgs_get_key_val(VAR_5_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_5_B_STORE,$note_vo
icing)
case 7
$knob_1_artic := _pgs_get_key_val(VAR_6_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_6_B_STORE,$note_vo
icing)
case 8
$knob_1_artic := _pgs_get_key_val(VAR_7_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_7_B_STORE,$note_vo
icing)
case 9
$knob_1_artic := _pgs_get_key_val(VAR_8_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_8_B_STORE,$note_vo
icing)
case 10
$knob_1_artic := _pgs_get_key_val(VAR_9_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_9_B_STORE,$note_vo
icing)
end select
set_text ($lb_knob_1_artic,!Knob1_names[$type_artic])
set_text ($lb_knob_2_artic,!Knob2_names[$type_artic])
set_text ($lb_note_voicing,!note_names[$note_voicing])
set_control_par_str(get_ui_id($note_voicing),$CONTROL_PAR_LABEL,!note_na
mes[$note_voicing])
$last_time_1 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_1 > $wait_time -5)
set_text ($lb_note_voicing,"NOTE")
end if
end on
on ui_control($level_voicing)
_set_engine_par($ENGINE_PAR_VOLUME,$level_voicing,$selected_group,-1,-1)
_set_engine_par($ENGINE_PAR_VOLUME,$level_voicing,$selected_group + 24,-
1,-1) {second round robin}
set_control_par_str(get_ui_id($level_voicing),$CONTROL_PAR_LABEL,get_eng
ine_par_disp($ENGINE_PAR_VOLUME,$selected_group,-1,-1) & " dB")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_VOLUME,$level_voicing,$count
,-1,-1)
inc($count)
end while
end if
end on
on ui_control($pan_voicing)
set_engine_par($ENGINE_PAR_PAN,$pan_voicing,$selected_group,-1,-1)
set_engine_par($ENGINE_PAR_PAN,$pan_voicing,$selected_group + 24,-1,-1)
{second round robin}
set_control_par_str(get_ui_id($pan_voicing),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_PAN,$selected_group,-1,-1))
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_PAN,$pan_voicing,$count,-1,-
1)
inc($count)
end while
end if
end on
on ui_control($tune_voicing)
set_engine_par($ENGINE_PAR_TUNE,$tune_voicing,$selected_group,-1,-1)
set_engine_par($ENGINE_PAR_TUNE,$tune_voicing,$selected_group + 24,-1,-1
) {second round robin}
set_control_par_str(get_ui_id($tune_voicing),$CONTROL_PAR_LABEL,get_engi
ne_par_disp($ENGINE_PAR_TUNE,$selected_group,-1,-1) & " st")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_TUNE,$tune_voicing,$count,-1
,-1)
inc($count)
end while
end if
end on
on ui_control($instr_menu_voicing)
$note_voicing := $instr_menu_voicing + 36
$selected_group := $instr_menu_voicing
$sound_voicing := %sound_group[$selected_group]
$level_voicing := _get_engine_par($ENGINE_PAR_VOLUME,$selected_group,-1,
-1)
$tune_voicing := _get_engine_par($ENGINE_PAR_TUNE,$selected_group,-1,-1)
$pan_voicing := _get_engine_par($ENGINE_PAR_PAN,$selected_group,-1,-1)
$attack_env := _get_engine_par($ENGINE_PAR_ATTACK,$selected_group,$env_i
dx,-1)
$hold_env := _get_engine_par($ENGINE_PAR_HOLD,$selected_group,$env_idx,-
1)
$decay_env := _get_engine_par($ENGINE_PAR_DECAY,$selected_group,$env_idx
,-1)
$reverb_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_0,$selected_group,
$send_slot,-1)
$delay_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_1,$selected_group,$
send_slot,-1)
$type_artic := _pgs_get_key_val(ARTIC_MENU_STORE,$note_voicing)
select ($type_artic)
case 0
$knob_1_artic := 0
$knob_2_artic := 0
case 1
$knob_1_artic := _pgs_get_key_val(VAR_0_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_0_B_STORE,$note_vo
icing)
case 2
$knob_1_artic := _pgs_get_key_val(VAR_1_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_1_B_STORE,$note_vo
icing)
case 3
$knob_1_artic := _pgs_get_key_val(VAR_2_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_2_B_STORE,$note_vo
icing)
case 4
$knob_1_artic := _pgs_get_key_val(VAR_3_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_3_B_STORE,$note_vo
icing)
case 5
$knob_1_artic := _pgs_get_key_val(VAR_4_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_4_B_STORE,$note_vo
icing)
case 6
$knob_1_artic := _pgs_get_key_val(VAR_5_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_5_B_STORE,$note_vo
icing)
case 7
$knob_1_artic := _pgs_get_key_val(VAR_6_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_6_B_STORE,$note_vo
icing)
case 8
$knob_1_artic := _pgs_get_key_val(VAR_7_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_7_B_STORE,$note_vo
icing)
case 9
$knob_1_artic := _pgs_get_key_val(VAR_8_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_8_B_STORE,$note_vo
icing)
case 10
$knob_1_artic := _pgs_get_key_val(VAR_9_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_9_B_STORE,$note_vo
icing)
end select
set_text ($lb_knob_1_artic,!Knob1_names[$type_artic])
set_text ($lb_knob_2_artic,!Knob2_names[$type_artic])
set_text ($lb_note_voicing,!note_names[$note_voicing])
set_control_par_str(get_ui_id($note_voicing),$CONTROL_PAR_LABEL,!note_na
mes[$note_voicing])
set_text($lb_type_artic,!artic_name[$type_artic])
$last_time_2 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_2 > $wait_time -5)
set_text ($lb_note_voicing,"NOTE")
set_text($lb_type_artic,"ARTICULATION")
end if
end on
on ui_control ($sound_voicing)
%sound_group[$selected_group] := $sound_voicing
$index_1 := $sound_voicing/10
$index_2 := $sound_voicing/10 +1
$knob_eq := $sound_voicing*10
if ($index_2 > 10)
$index_2 := 10
end if
set_control_par_str(get_ui_id($sound_voicing),$CONTROL_PAR_LABEL,$sound_
voicing & " %")
$a_eq := 0
while($a_eq < 9)
$helper_eq := ((%soundeqarr[($index_2*9) + $a_eq] - %soundeqarr[
($index_1*9) + $a_eq]) * ...
($knob_eq mod 100))/100 + %soundeqarr[($index_1*9) + $a_eq]
_set_engine_par(%engine_par[$a_eq],$helper_eq,$selected_group,$s
ound_eq_slot,-1)
_set_engine_par(%engine_par[$a_eq],$helper_eq,$selected_group +
24,$sound_eq_slot,-1) {second round robin}
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par(%engine_par[$a_eq],$helper_eq,$c
ount,-1,-1)
inc($count)
end while
end if
inc($a_eq)
end while
end on
{VOICING UI CALLBACKS END}
on note
if (in_range ($EVENT_NOTE,36,(36-1+$DRUM_INSTR)) and $sel_by_midi = 1)
$note_voicing := $EVENT_NOTE
$instr_menu_voicing := $note_voicing - 36
$selected_group := $note_voicing - 36
$sound_voicing := %sound_group[$selected_group]
$level_voicing := _get_engine_par($ENGINE_PAR_VOLUME,$selected_g
roup,-1,-1)
$tune_voicing := _get_engine_par($ENGINE_PAR_TUNE,$selected_grou
p,-1,-1)
$pan_voicing := _get_engine_par($ENGINE_PAR_PAN,$selected_group,
-1,-1)
$attack_env := _get_engine_par($ENGINE_PAR_ATTACK,$selected_grou
p,$env_idx,-1)
$hold_env := _get_engine_par($ENGINE_PAR_HOLD,$selected_group,$e
nv_idx,-1)
$decay_env := _get_engine_par($ENGINE_PAR_DECAY,$selected_group,
$env_idx,-1)
$reverb_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_0,$selecte
d_group,$send_slot,1)
$delay_send := _get_engine_par($ENGINE_PAR_SENDLEVEL_1,$selected
_group,$send_slot,1)
$type_artic := _pgs_get_key_val(ARTIC_MENU_STORE,$note_voicing)
select ($type_artic)
case 0
$knob_1_artic := 0
$knob_2_artic := 0
case 1
$knob_1_artic := _pgs_get_key_val(VAR_0_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_0_B_STORE,
$note_voicing)
case 2
$knob_1_artic := _pgs_get_key_val(VAR_1_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_1_B_STORE,
$note_voicing)
case 3
$knob_1_artic := _pgs_get_key_val(VAR_2_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_2_B_STORE,
$note_voicing)
case 4
$knob_1_artic := _pgs_get_key_val(VAR_3_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_3_B_STORE,
$note_voicing)
case 5
$knob_1_artic := _pgs_get_key_val(VAR_4_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_4_B_STORE,
$note_voicing)
case 6
$knob_1_artic := _pgs_get_key_val(VAR_5_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_5_B_STORE,
$note_voicing)
case 7
$knob_1_artic := _pgs_get_key_val(VAR_6_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_6_B_STORE,
$note_voicing)
case 8
$knob_1_artic := _pgs_get_key_val(VAR_7_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_7_B_STORE,
$note_voicing)
case 9
$knob_1_artic := _pgs_get_key_val(VAR_8_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_8_B_STORE,
$note_voicing)
case 10
$knob_1_artic := _pgs_get_key_val(VAR_9_A_STORE,
$note_voicing)
$knob_2_artic := _pgs_get_key_val(VAR_9_B_STORE,
$note_voicing)
end select
set_text ($lb_knob_1_artic,!Knob1_names[$type_artic])
set_text ($lb_knob_2_artic,!Knob2_names[$type_artic])
end if
end on
on ui_control ($type_artic)
_pgs_set_key_val(ARTIC_MENU_STORE,$note_voicing,$type_artic)
%artic_menu_store[$note_voicing] := $type_artic
select ($type_artic)
case 0
$knob_1_artic := 0
$knob_2_artic := 0
case 1
$knob_1_artic := _pgs_get_key_val(VAR_0_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_0_B_STORE,$note_vo
icing)
case 2
$knob_1_artic := _pgs_get_key_val(VAR_1_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_1_B_STORE,$note_vo
icing)
case 3
$knob_1_artic := _pgs_get_key_val(VAR_2_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_2_B_STORE,$note_vo
icing)
case 4
$knob_1_artic := _pgs_get_key_val(VAR_3_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_3_B_STORE,$note_vo
icing)
case 5
$knob_1_artic := _pgs_get_key_val(VAR_4_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_4_B_STORE,$note_vo
icing)
case 6
$knob_1_artic := _pgs_get_key_val(VAR_5_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_5_B_STORE,$note_vo
icing)
case 7
$knob_1_artic := _pgs_get_key_val(VAR_6_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_6_B_STORE,$note_vo
icing)
case 8
$knob_1_artic := _pgs_get_key_val(VAR_7_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_7_B_STORE,$note_vo
icing)
case 9
$knob_1_artic := _pgs_get_key_val(VAR_8_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_8_B_STORE,$note_vo
icing)
case 10
$knob_1_artic := _pgs_get_key_val(VAR_9_A_STORE,$note_vo
icing)
$knob_2_artic := _pgs_get_key_val(VAR_9_B_STORE,$note_vo
icing)
end select
set_text ($lb_knob_1_artic,!Knob1_names[$type_artic])
set_text ($lb_knob_2_artic,!Knob2_names[$type_artic])
set_text($lb_type_artic,!artic_name[$type_artic])
set_control_par_str(get_ui_id($type_artic),$CONTROL_PAR_LABEL,!artic_nam
e[$type_artic])
set_control_par_str(get_ui_id($knob_1_artic),$CONTROL_PAR_LABEL,$knob_1_
artic & " %")
set_control_par_str(get_ui_id($knob_2_artic),$CONTROL_PAR_LABEL,$knob_2_
artic & " %")
$last_time := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time > $wait_time -5)
set_text ($lb_type_artic,"ARTICULATION")
end if
end on
on ui_control ($knob_1_artic)
select($type_artic)
case 1
_pgs_set_key_val(VAR_0_A_STORE,$note_voicing,$knob_1_art
ic)
%var_0_a_store[$note_voicing] := $knob_1_artic
case 2
_pgs_set_key_val(VAR_1_A_STORE,$note_voicing,$knob_1_art
ic)
%var_1_a_store[$note_voicing] := $knob_1_artic
case 3
_pgs_set_key_val(VAR_2_A_STORE,$note_voicing,$knob_1_art
ic)
%var_2_a_store[$note_voicing] := $knob_1_artic
case 4
_pgs_set_key_val(VAR_3_A_STORE,$note_voicing,$knob_1_art
ic)
%var_3_a_store[$note_voicing] := $knob_1_artic
case 5
_pgs_set_key_val(VAR_4_A_STORE,$note_voicing,$knob_1_art
ic)
%var_4_a_store[$note_voicing] := $knob_1_artic
case 6
_pgs_set_key_val(VAR_5_A_STORE,$note_voicing,$knob_1_art
ic)
%var_5_a_store[$note_voicing] := $knob_1_artic
case 7
_pgs_set_key_val(VAR_6_A_STORE,$note_voicing,$knob_1_art
ic)
%var_6_a_store[$note_voicing] := $knob_1_artic
case 8
_pgs_set_key_val(VAR_7_A_STORE,$note_voicing,$knob_1_art
ic)
%var_7_a_store[$note_voicing] := $knob_1_artic
case 9
_pgs_set_key_val(VAR_8_A_STORE,$note_voicing,$knob_1_art
ic)
%var_8_a_store[$note_voicing] := $knob_1_artic
case 10
_pgs_set_key_val(VAR_9_A_STORE,$note_voicing,$knob_1_art
ic)
%var_9_a_store[$note_voicing] := $knob_1_artic
end select
set_control_par_str(get_ui_id($knob_1_artic),$CONTROL_PAR_LABEL,$knob_1_
artic & " %")
end on
on ui_control ($knob_2_artic)
select($type_artic)
case 1
_pgs_set_key_val(VAR_0_B_STORE,$note_voicing,$knob_2_art
ic)
%var_0_b_store[$note_voicing] := $knob_2_artic
case 2
_pgs_set_key_val(VAR_1_B_STORE,$note_voicing,$knob_2_art
ic)
%var_1_b_store[$note_voicing] := $knob_2_artic
case 3
_pgs_set_key_val(VAR_2_B_STORE,$note_voicing,$knob_2_art
ic)
%var_2_b_store[$note_voicing] := $knob_2_artic
case 4
_pgs_set_key_val(VAR_3_B_STORE,$note_voicing,$knob_2_art
ic)
%var_3_b_store[$note_voicing] := $knob_2_artic
case 5
_pgs_set_key_val(VAR_4_B_STORE,$note_voicing,$knob_2_art
ic)
%var_4_b_store[$note_voicing] := $knob_2_artic
case 6
_pgs_set_key_val(VAR_5_B_STORE,$note_voicing,$knob_2_art
ic)
%var_5_b_store[$note_voicing] := $knob_2_artic
case 7
_pgs_set_key_val(VAR_6_B_STORE,$note_voicing,$knob_2_art
ic)
%var_6_b_store[$note_voicing] := $knob_2_artic
case 8
_pgs_set_key_val(VAR_7_B_STORE,$note_voicing,$knob_2_art
ic)
%var_7_b_store[$note_voicing] := $knob_2_artic
case 9
_pgs_set_key_val(VAR_8_B_STORE,$note_voicing,$knob_2_art
ic)
%var_8_b_store[$note_voicing] := $knob_2_artic
case 10
_pgs_set_key_val(VAR_9_B_STORE,$note_voicing,$knob_2_art
ic)
%var_9_b_store[$note_voicing] := $knob_2_artic
end select
set_control_par_str(get_ui_id($knob_2_artic),$CONTROL_PAR_LABEL,$knob_2_
artic & " %")
end on
on ui_control($attack_env)
_set_engine_par($ENGINE_PAR_ATTACK,$attack_env,$selected_group,$env_idx,
-1)
_set_engine_par($ENGINE_PAR_ATTACK,$attack_env,$selected_group + 24,$env
_idx,-1) {second round robin}
set_control_par_str(get_ui_id($attack_env),$CONTROL_PAR_LABEL,get_engine
_par_disp($ENGINE_PAR_ATTACK,$selected_group,$env_idx,-1) & " ms")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_ATTACK,$attack_env,$count,$e
nv_idx,-1)
inc($count)
end while
end if
end on
on ui_control($hold_env)
_set_engine_par($ENGINE_PAR_HOLD,$hold_env,$selected_group,$env_idx,-1)
_set_engine_par($ENGINE_PAR_HOLD,$hold_env,$selected_group + 24,$env_idx
,-1) {second round robin}
set_control_par_str(get_ui_id($hold_env),$CONTROL_PAR_LABEL,get_engine_p
ar_disp($ENGINE_PAR_HOLD,$selected_group,$env_idx,-1) & " ms")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_HOLD,$hold_env,$count,$env_i
dx,-1)
inc($count)
end while
end if
end on
on ui_control($decay_env)
_set_engine_par($ENGINE_PAR_DECAY,$decay_env,$selected_group,$env_idx,-1
)
_set_engine_par($ENGINE_PAR_DECAY,$decay_env,$selected_group + 24,$env_i
dx,-1) {second round robin}
set_control_par_str(get_ui_id($decay_env),$CONTROL_PAR_LABEL,get_engine_
par_disp($ENGINE_PAR_DECAY,$selected_group,$env_idx,-1) & " ms")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_DECAY,$decay_env,$count,$env
_idx,-1)
inc($count)
end while
end if
end on
on ui_control($reverb_send)
_set_engine_par($ENGINE_PAR_SENDLEVEL_0,$reverb_send,$selected_group,$se
nd_slot,-1)
_set_engine_par($ENGINE_PAR_SENDLEVEL_0,$reverb_send,$selected_group + 2
4,$send_slot,-1) {second round robin}
set_control_par_str(get_ui_id($reverb_send),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_SENDLEVEL_0,$selected_group,$send_slot,1) & " dB")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_SENDLEVEL_0,$reverb_send,$co
unt,$send_slot,-1)
inc($count)
end while
end if
end on
on ui_control($delay_send)
_set_engine_par($ENGINE_PAR_SENDLEVEL_1,$delay_send,$selected_group,$sen
d_slot,-1)
_set_engine_par($ENGINE_PAR_SENDLEVEL_1,$delay_send,$selected_group + 24
,$send_slot,-1) {second round robin}
set_control_par_str(get_ui_id($delay_send),$CONTROL_PAR_LABEL,get_engine
_par_disp($ENGINE_PAR_SENDLEVEL_1,$selected_group,$send_slot,1)& " dB")
{extra hihat & snare roll release groups}
if (($selected_group = 10) or ($selected_group = 12))
$i := 50
$j := 58
if ($selected_group = 12)
$i := 48
$j := 50
end if
$count := $i
while ($count < $j)
_set_engine_par($ENGINE_PAR_SENDLEVEL_1,$delay_send,$cou
nt,$send_slot,-1)
inc($count)
end while
end if
end on
{*** CONTROL GROUP "BANDFX" UI_CONTROL CALLBACKS}
on ui_control ($rev_bandfx)
if ($rev_bandfx = 0)
$rev_bandfx := 1
else
$delay_bandfx := 0
$eq_bandfx := 0
set_control_par(%bandfx_id[7], $CONTROL_PAR_HIDE, $HIDE_PART_BG)
set_control_par(%bandfx_id[8], $CONTROL_PAR_HIDE, $HIDE_PART_NOT
HING)
set_control_par(%bandfx_id[16], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[30], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[32], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[9], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CO
NTROL)
set_control_par(%bandfx_id[10], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[11], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[17], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[18], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[19], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[13], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[14], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[15], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[20], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[21], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[22], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[31], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[0], $CONTROL_PAR_PICTURE_STATE, 0)
$count := 0
while ($count < 9)
if ($count = $category_reverb)
set_control_par(%subcat_menu_id[$count],$CONTROL
_PAR_HIDE,$HIDE_PART_NOTHING)
else
set_control_par(%subcat_menu_id[$count],$CONTROL
_PAR_HIDE,$HIDE_WHOLE_CONTROL)
end if
inc ($count)
end while
end if
end on
on ui_control ($delay_bandfx)
if ($delay_bandfx = 0)
$delay_bandfx := 1
else
$rev_bandfx := 0
$eq_bandfx := 0
set_control_par(%bandfx_id[7], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CO
NTROL)
set_control_par(%bandfx_id[8], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CO
NTROL)
set_control_par(%bandfx_id[16], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[30], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[32], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[9], $CONTROL_PAR_HIDE, $HIDE_PART_BG)
set_control_par(%bandfx_id[10], $CONTROL_PAR_HIDE, $HIDE_PART_BG
)
set_control_par(%bandfx_id[11], $CONTROL_PAR_HIDE, $HIDE_PART_BG
)
set_control_par(%bandfx_id[17], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[18], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[19], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[13], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[14], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[15], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[20], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[21], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[22], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[31], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[0], $CONTROL_PAR_PICTURE_STATE, 1)
$count := 0
while ($count < 9)
set_control_par(%subcat_menu_id[$count],$CONTROL_PAR_HID
E,$HIDE_WHOLE_CONTROL)
inc ($count)
end while
end if
end on
on ui_control ($eq_bandfx)
if ($eq_bandfx = 0)
$eq_bandfx := 1
else
$rev_bandfx := 0
$delay_bandfx := 0
set_control_par(%bandfx_id[7], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CO
NTROL)
set_control_par(%bandfx_id[8], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CO
NTROL)
set_control_par(%bandfx_id[16], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[30], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[32], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[9], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CO
NTROL)
set_control_par(%bandfx_id[10], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[11], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[17], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[18], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[19], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C
ONTROL)
set_control_par(%bandfx_id[13], $CONTROL_PAR_HIDE, $HIDE_PART_BG
)
set_control_par(%bandfx_id[14], $CONTROL_PAR_HIDE, $HIDE_PART_BG
)
set_control_par(%bandfx_id[15], $CONTROL_PAR_HIDE, $HIDE_PART_BG
)
set_control_par(%bandfx_id[20], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[21], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[22], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[31], $CONTROL_PAR_HIDE, $HIDE_PART_NO
THING)
set_control_par(%bandfx_id[0], $CONTROL_PAR_PICTURE_STATE, 2)
$count := 0
while ($count < 9)
set_control_par(%subcat_menu_id[$count],$CONTROL_PAR_HID
E,$HIDE_WHOLE_CONTROL)
inc ($count)
end while
end if
end on
{reverb functionality}
on ui_control ($rev_onoff_bandfx)
_set_engine_par($ENGINE_PAR_SEND_EFFECT_BYPASS, (($rev_onoff_bandfx + 1)
mod 2), -1, $reverb_slot, 0)
end on
on ui_control ($category_reverb)
$count := 0
while ($count < 9)
if ($count = $category_reverb)
set_control_par(%subcat_menu_id[$count],$CONTROL_PAR_HID
E,$HIDE_PART_NOTHING)
else
set_control_par(%subcat_menu_id[$count],$CONTROL_PAR_HID
E,$HIDE_WHOLE_CONTROL)
end if
inc ($count)
end while
set_control_par(get_ui_id($image_reverb),$CONTROL_PAR_PICTURE_STATE,$cat
egory_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)&...
!ir_path[%offset_reverb[$category_reverb]+get_control_par...
(%subcat_menu_id[$category_reverb],$CONTROL_PAR_VALUE)],$reverb_slot,0)
{change 0 to 1 if reverb is on insert effect}
end on
on ui_control ($hall_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$hall_reverb],$reverb_slot,0)

end on
on ui_control ($cathedral_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$cathedral_reverb],$reverb_slot,0)
end on
on ui_control ($club_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$club_reverb],$reverb_slot,0)
end on
on ui_control ($room_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$room_reverb],$reverb_slot,0)
end on
on ui_control ($l300_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$l300_reverb],$reverb_slot,0)
end on
on ui_control ($quadstick_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$quadstick_reverb],$reverb_slot,0)
end on
on ui_control ($brt7_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$brt7_reverb],$reverb_slot,0)
end on
on ui_control ($plate_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$plate_reverb],$reverb_slot,0)
end on
on ui_control ($cabinet_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$cabinet_reverb],$reverb_slot,0)
end on
on ui_control ($rev_amount_bandfx)
_set_engine_par ($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, $rev_amount_bandfx
, -1, $reverb_slot, 0)
set_control_par_str(get_ui_id($rev_amount_bandfx),$CONTROL_PAR_LABEL,get
_engine_par_disp($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1, $reverb_slot, 0) & " d
B")
end on
{delay functionality}
on ui_control ($delay_onoff_bandfx)
_set_engine_par ($ENGINE_PAR_SEND_EFFECT_BYPASS, (($delay_onoff_bandfx +
1) mod 2), -1, $delay_slot, 0)
end on
on ui_control ($delay_feedback_bandfx)
_set_engine_par($ENGINE_PAR_DL_FEEDBACK, $delay_feedback_bandfx, -1, $de
lay_slot, 0)
set_control_par_str(get_ui_id($delay_feedback_bandfx),$CONTROL_PAR_LABEL
,get_engine_par_disp($ENGINE_PAR_DL_FEEDBACK, -1, $delay_slot, 0) & " %")
end on
on ui_control ($delay_time_bandfx)
_set_engine_par ($ENGINE_PAR_DL_TIME, $delay_time_bandfx, -1, $delay_slo
t, 0)
set_control_par_str(get_ui_id($delay_time_bandfx),$CONTROL_PAR_LABEL,get
_engine_par_disp($ENGINE_PAR_DL_TIME, -1, $delay_slot, 0) & " 16th")
end on
on ui_control ($delay_amount_bandfx)
_set_engine_par ($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, $delay_amount_band
fx, -1, $delay_slot, 0)
set_control_par_str(get_ui_id($delay_amount_bandfx),$CONTROL_PAR_LABEL,g
et_engine_par_disp($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1, $delay_slot, 0) & "
dB")
end on
{eq functionality}
on ui_control ($eq_onoff_bandfx)
_set_engine_par ($ENGINE_PAR_EFFECT_BYPASS, (($eq_onoff_bandfx + 1) mod
2), -1, $meq_slot, 1)
end on
on ui_control ($eq_lo_bandfx)
_set_engine_par($ENGINE_PAR_GAIN1, $eq_lo_bandfx, -1, $meq_slot, 1)
set_control_par_str(get_ui_id($eq_lo_bandfx),$CONTROL_PAR_LABEL,get_engi
ne_par_disp($ENGINE_PAR_GAIN1, -1, $meq_slot, 1) & " dB")
end on
on ui_control ($eq_mid_bandfx)
_set_engine_par($ENGINE_PAR_GAIN2, $eq_mid_bandfx, -1, $meq_slot, 1)
set_control_par_str(get_ui_id($eq_mid_bandfx),$CONTROL_PAR_LABEL,get_eng
ine_par_disp($ENGINE_PAR_GAIN2, -1, $meq_slot, 1) & " dB")
end on
on ui_control ($eq_hi_bandfx)
_set_engine_par($ENGINE_PAR_GAIN3, $eq_hi_bandfx, -1, $meq_slot, 1)
set_control_par_str(get_ui_id($eq_hi_bandfx),$CONTROL_PAR_LABEL,get_engi
ne_par_disp($ENGINE_PAR_GAIN3, -1, $meq_slot, 1) & " dB")
end on
{*** END CONTROL GROUP "BANDFX" UI_CONTROL CALLBACKS}

Potrebbero piacerti anche