Você está na página 1de 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
declare
declare
declare

const
const
const
const

$ROOT_X
$ROOT_Y
$GRID_X
$GRID_Y

:=
:=
:=
:=

66
2
92
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
declare
declare
declare

$wait_time := 800
$last_time
$last_time_1
$last_time_2

declare
declare
declare
declare
declare

const
const
const
const
const

{Enter control label wait time}

$sound_eq_slot := 4
$DRUM_INSTR := 24 {Enter number of drum instruments}
$meq_slot := 5
$reverb_slot := 0
$delay_slot := 1

declare $count
declare $i
declare $j
roll groups}

{counter limits for the extra hihat and snare

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
declare
declare
declare
declare
declare
declare
declare
declare
declare
declare
declare
declare
declare

ui_switch $sel_by_midi
ui_menu $instr_menu_voicing
ui_slider $note_voicing (36,(36+$DRUM_INSTR-1))
ui_slider $level_voicing (0,1000000)
ui_slider $pan_voicing (0,1000000)
ui_slider $tune_voicing (0,1000000)
ui_slider $sound_voicing (0,100)
ui_label $lb_sel_by_midi (1,1)
ui_label $lb_instr_menu_voicing (1,1)
ui_label $lb_note_voicing (1,1)
ui_label $lb_level_voicing (1,1)
ui_label $lb_pan_voicing (1,1)
ui_label $lb_tune_voicing (1,1)
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
move_control_px
move_control_px
move_control_px

($level_voicing,($GRID_X * 2) + 59, ($GRID_Y * 6) + 19)


($pan_voicing,($GRID_X * 3) + 34, ($GRID_Y * 6) + 19)
($tune_voicing,($GRID_X * 4) + 10, ($GRID_Y * 6) + 19)
($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
{0 }
00000,...
{1 }
0,...
{2 }
1641,...

%soundeqarr[10*10] := (...
500000,500000,500000, 500000,500000,500000,

500000, 500000,5

365637, 62500,700000,

620113, 62500,500000, 1000000,1000000,

83984,326172,200195,

405273,128906,589844, 1000000,1000000,18

{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
declare
declare
declare
declare
declare

ui_slider $type_artic (0,10)


ui_slider $knob_1_artic (0,100)
ui_slider $knob_2_artic (0,100)
ui_label $lb_type_artic (1,1)
ui_label $lb_knob_1_artic (1,1)
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
declare
declare
declare
declare
declare
declare

%Var_0_a_store[128]
%Var_1_a_store[128]
%Var_2_a_store[128]
%Var_3_a_store[128]
%Var_4_a_store[128]
%Var_5_a_store[128]
%Var_6_a_store[128]

:=
:=
:=
:=
:=
:=
:=

(50)
(50)
(50)
(50)
(50)
(50)
(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
declare
declare
declare
declare
declare

ui_slider $attack_env (0,1000000)


ui_slider $hold_env (0,1000000)
ui_slider $decay_env (0,1000000)
ui_label $lb_attack_env (1,1)
ui_label $lb_hold_env (1,1)
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
declare
declare
declare

ui_slider $reverb_send (0,1000000)


ui_slider $delay_send (0,1000000)
ui_label $lb_reverb_send (1,1)
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
declare
declare
declare
declare
declare
declare
declare
declare
declare
declare

ui_label
ui_label
ui_label
ui_label
ui_label
ui_label
ui_label
ui_label
ui_label
ui_label
ui_label

$backgr_bandfx (1,1)
$title_bandfx (1,1)
$lb_rev_bandfx (1,1)
$lb_delay_bandfx(1,1)
$lb_eq_bandfx(1,1)
$lb_rev_onoff_bandfx (1,1)
$lb_rev_room_bandfx (1,1)
$lb_rev_mix_bandfx (1,1)
$image_reverb (1,1)
$lb_delay_feedback_bandfx (1,1)
$lb_delay_time_bandfx (1,1)

declare
declare
declare
declare
declare
declare
declare
declare
declare

ui_label $lb_delay_amount_bandfx (1,1)


ui_label $lb_eq_onoff_bandfx (1,1)
ui_label $lb_eq_lo_bandfx (1,1)
ui_label $lb_eq_mid_bandfx (1,1)
ui_label $lb_eq_hi_bandfx (1,1)
ui_slider $rev_amount_bandfx (0, 1000000)
ui_slider $delay_feedback_bandfx (0, 1000000)
ui_slider $delay_time_bandfx (0, 1000000)
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
declare
declare
declare
declare
declare
declare
declare
declare

ui_button $rev_bandfx
ui_button $delay_bandfx
ui_button $eq_bandfx
ui_switch $rev_onoff_bandfx
ui_switch $delay_onoff_bandfx
ui_switch $eq_onoff_bandfx
ui_menu $category_reverb
ui_label $eq_background_bandfx (1,1)
ui_label $bandfx_bg_bandfx (1,1)

{reverb
declare
declare
declare
declare
declare
declare
declare
declare
declare

functionality}
ui_menu $hall_reverb
ui_menu $cathedral_reverb
ui_menu $club_reverb
ui_menu $room_reverb
ui_menu $l300_reverb
ui_menu $quadstick_reverb
ui_menu $brt7_reverb
ui_menu $plate_reverb
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,
add_menu_item($category_reverb,
add_menu_item($category_reverb,
add_menu_item($category_reverb,
add_menu_item($category_reverb,
add_menu_item($category_reverb,
add_menu_item($category_reverb,
add_menu_item($category_reverb,
add_menu_item($category_reverb,

"CONCERT HALL", 0)
"CATHEDRAL", 1)
"CLUB", 2)
"ROOM", 3)
"L300", 4)
"QUADSTICK", 6)
"BRT 7", 7)
"PLATE", 5)
"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
R Samples/L300 Gated Hall.wav"
!ir_path[23] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Large Room.wav"
!ir_path[24] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Large Chamber.wav"
!ir_path[25] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Studio C.wav"
!ir_path[26] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Contem-Plate.wav"
!ir_path[27] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Space & Echoes.wav"
!ir_path[28] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Medium Stop.wav"
!ir_path[29] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Drum Cave.wav"
!ir_path[30] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Large Ambience.wav"
!ir_path[31] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Smooth Ambience.wav"
!ir_path[32] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Ambience Wave.wav"
!ir_path[33] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/L300 Le Gate.wav"
!ir_path[34] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - Basic.wav"
!ir_path[35] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - Disco.wav"
!ir_path[36] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - Funk.wav"
!ir_path[37] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - Funky Club.wav"
!ir_path[38] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - Hip Hop.wav"
!ir_path[39] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - Reggae Modern.wav"
!ir_path[40] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - RnB Neptunes.wav"
!ir_path[41] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/Quadstick Small - RnB Today 1.wav"
!ir_path[42] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Ambience Large A.wav"
!ir_path[43] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Ambience Small.wav"
!ir_path[44] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Chamber Small.wav"
!ir_path[45] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Chamber Vocal.wav"
!ir_path[46] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Hall Dense.wav"
!ir_path[47] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Location Chapel A.wav"
!ir_path[48] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Plate Snare.wav"
!ir_path[49] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Room Drum.wav"
!ir_path[50] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4
R Samples/BRT 7 Room Wood.wav"
!ir_path[51] := "presets/effects/convolution/<<<K4IR.nkx>>>/K4

I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
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]
!ir_type[25]
!ir_type[26]
!ir_type[27]
!ir_type[28]
!ir_type[29]
!ir_type[30]
!ir_type[31]
!ir_type[32]
!ir_type[33]
!ir_type[34]
!ir_type[35]
!ir_type[36]
!ir_type[37]
!ir_type[38]
!ir_type[39]
!ir_type[40]
!ir_type[41]
!ir_type[42]
!ir_type[43]
!ir_type[44]
!ir_type[45]
!ir_type[46]
!ir_type[47]
!ir_type[48]
!ir_type[49]
!ir_type[50]
!ir_type[51]
!ir_type[52]
!ir_type[53]
!ir_type[54]
!ir_type[55]
!ir_type[56]
!ir_type[57]
!ir_type[58]
!ir_type[59]
!ir_type[60]
!ir_type[61]
!ir_type[62]
!ir_type[63]
!ir_type[64]
!ir_type[65]
!ir_type[66]
!ir_type[67]

:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=
:=

"LRG CHAMBER"
"STUDIO C"
"PLATE"
"ECHOES"
"MEDIUM STOP"
"DRUM CAVE"
"LARGE AMBI"
"SMOOTH AMBI"
"AMBI WAVE"
"LE GATE"
"BASIC"
"DISCO"
"FUNK"
"FUNKY CLUB"
"HIP HOP"
"REGGAE MOD"
"RNB NEPTUNES"
"RNB TODAY"
"LARGE AMBI"
"SMALL AMBI"
"SML CHAMBER"
"VOC CHAMBER"
"DENSE HALL"
"CHAPEL"
"SNARE PLATE"
"DRUM ROOM"
"WOOD ROOM"
"CINEASTIC"
"E245 0.5s"
"E245 1.0s"
"E245 1.4s"
"E245 2.1s"
"E245 4.5s"
"E252 0.6s"
"E252 1.0s"
"E252 1.8s"
"E252 3.0s"
"E252 4.5s"
"BRIT 2x12"
"TWEED 1x12"
"TWEED 2x12"
"TWEED 4x10"
"ROCK 4x12"
"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],
set_control_par_str(%bandfx_id[1],
set_control_par_str(%bandfx_id[2],
set_control_par_str(%bandfx_id[3],
set_control_par_str(%bandfx_id[4],
set_control_par_str(%bandfx_id[5],
set_control_par_str(%bandfx_id[6],
set_control_par_str(%bandfx_id[7],
set_control_par_str(%bandfx_id[8],
set_control_par_str(%bandfx_id[9],

$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,

"")
"")
"")
"")
"")
"")
"")
"AMOUNT")
"")
"FEEDBACK"

)
set_control_par_str(%bandfx_id[10],
set_control_par_str(%bandfx_id[11],
set_control_par_str(%bandfx_id[12],
set_control_par_str(%bandfx_id[13],
set_control_par_str(%bandfx_id[14],
set_control_par_str(%bandfx_id[15],
set_control_par_str(%bandfx_id[16],
set_control_par_str(%bandfx_id[31],
set_control_par_str(%bandfx_id[32],

$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,
$CONTROL_PAR_TEXT,

"TIME")
"AMOUNT")
"")
"BASS")
"MID")
"TREBLE")
"")
"")
"")

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}

Você também pode gostar