You are on page 1of 40

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

Kontakt 4 Factory Library - Instrument


Orchestral Percussion Collection (untuned)
Author: Native Instruments
Written by: Adam Hanley, Nicki Marinic, Josef Natterer & Dinos Vallianatos
Modified: August 20, 2009
*************************************************}
on init
make_perfview
set_script_title("Instrument")
set_ui_height_px(318)
_set_skin_offset(411)
message("")
declare $i
declare const $ROLL_FADE_OUT_TIME := 500000
declare $reverb_slot := 3
declare $eq_slot := 0
declare const $master_eq_slot := 2
declare $last_time_1
declare $last_time_2
declare $wait_time := 800 {Enter control label wait time}
declare const $ROOT_X := 66
declare const $ROOT_Y := 2
declare const $GRID_X := 92
declare const $GRID_Y := 21
declare const $FONT_ID := 11 {the font id for all visible labels}
declare const $FONT_ID_2 := 0 {the font id for all menus}
declare const $CREATE_AUTOMATION_ID := 0
declare $a
declare $help_id
declare polyphonic $pressed_id
declare $active_note
declare $actual_vel_percentage
declare polyphonic $grace1_tune_amount {the tune amount of the first gra
ce note}
declare polyphonic $grace2_tune_amount
declare polyphonic $grace3_tune_amount
declare polyphonic $grace4_tune_amount
declare polyphonic $primary_tune_amount
declare polyphonic $grace1_vol_amount {the volume amount of the first gr
ace note}
declare polyphonic $grace2_vol_amount
declare polyphonic $grace3_vol_amount
declare polyphonic $grace4_vol_amount
declare polyphonic $primary_vol_amount
declare polyphonic $grace1_velocity {the velocity of the first grace not
e}
declare polyphonic $grace2_velocity
declare polyphonic $grace3_velocity
declare polyphonic $grace4_velocity
declare polyphonic $grace1_delay_time
declare polyphonic $grace2_delay_time
declare polyphonic $grace3_delay_time
declare polyphonic $grace4_delay_time
declare polyphonic $trigger_time
declare $trigger_length
declare $random_delay
declare $Amount_helper
declare $random_amount
declare $Tdec {for Buzz}
declare $Vdec {for Buzz}
declare polyphonic $count
declare polyphonic $grace1_id
declare polyphonic $grace2_id
declare polyphonic $grace3_id
declare polyphonic $grace4_id
declare polyphonic $primary_id
declare %active_menu_store[128]
{Diese variable speichert die Nummer des selektierten Buttons, ein butto
n ist immer aktiv.
1: Alt_Stroke
2: Rel_Stroke
3: Flam
usw.
}
{Declare, set and skin ui elements}
declare ui_slider $artic_menu (0,10)
declare ui_slider $Var_1 (0,100)
declare ui_slider $Var_2 (0,100)
declare ui_slider $Split (0,127)
declare ui_slider $sound_knob (0,100)
declare ui_switch $SetMidi
declare ui_label $lb_artic_menu (1,1)
declare ui_label $lb_Var_1 (1,1)
declare ui_label $lb_Var_2 (1,1)
declare ui_label $lb_Split (1,1)
declare ui_label $lb_sound (1,1)
declare ui_label $lb_SetMidi (1,1)
declare %articulation_id[12]
%articulation_id[0] := get_ui_id($artic_menu)
%articulation_id[1] := get_ui_id($Var_1)
%articulation_id[2] := get_ui_id($Var_2)
%articulation_id[3] := get_ui_id($Split)
%articulation_id[4] := get_ui_id($sound_knob)
%articulation_id[5] := get_ui_id($SetMidi)
%articulation_id[6] := get_ui_id($lb_artic_menu)
%articulation_id[7] := get_ui_id($lb_Var_1)
%articulation_id[8] := get_ui_id($lb_Var_2)
%articulation_id[9] := get_ui_id($lb_Split)
%articulation_id[10] := get_ui_id($lb_sound)
%articulation_id[11] := get_ui_id($lb_SetMidi)
set_text($lb_artic_menu,"Articulation")
set_text($lb_Var_1,"n/a")
set_text($lb_Var_2,"n/a")
set_text($lb_Split,"Note")
set_text($lb_SetMidi,"Set by MIDI")
set_text($lb_sound,"Sound")
$Split := 60
make_persistent ($Split)
make_persistent ($sound_knob)
set_text($SetMidi,"")
$SetMidi := 1
make_persistent($SetMidi)
{Move ui elements}
move_control_px ($SetMidi, ($GRID_X * 1) - 22, ($GRID_Y * 2) + 19)
move_control_px ($Split, ($GRID_X * 2) - 30, ($GRID_Y * 2) + 11)
move_control_px ($artic_menu, ($GRID_X * 2) + 61, ($GRID_Y * 2) + 11)
move_control_px ($Var_1, ($GRID_X * 3) + 60, ($GRID_Y * 2) + 11)
move_control_px ($Var_2, ($GRID_X * 4) + 59, ($GRID_Y * 2) + 11)
move_control_px ($sound_knob, ($GRID_X * 5) + 58, ($GRID_Y * 2) + 11)
set_control_help($SetMidi, "Set by MIDI: When active, allows you to sele
ct an instrument for editing from incoming MIDI data.")
set_control_help($Split, "Note: Allows you to select an instrument for e
diting.")
set_control_help($Var_1, "Variable 1: Controls the first parameter of th
e selected articulation type, where applicable.")
set_control_help($Var_2, "Variable 2: Controls the second parameter of t
he selected articulation type, where applicable.")
set_control_help($artic_menu, "Articulation Type: select an articulation
to be applied to the selected instrument/MIDI Note.")
set_control_help($sound_knob, "Sound: morphs through several EQ presets.
")
{Skin and position}
$i := 0
while ($i < 6)
set_control_par(%articulation_id[$i+6],$CONTROL_PAR_HIDE,$HIDE_P
ART_BG)
set_control_par(%articulation_id[$i+6], $CONTROL_PAR_TEXT_ALIGNM
ENT, 1)
set_control_par(%articulation_id[$i+6], $CONTROL_PAR_FONT_TYPE,
$FONT_ID)
if ($i = 5)
set_control_par_str(%articulation_id[$i], $CONTROL_PAR_P
ICTURE, "pv_orchestral_btn")
set_control_par(%articulation_id[$i], $CONTROL_PAR_HEIGH
T, 40)
set_control_par(%articulation_id[$i], $CONTROL_PAR_WIDTH
, 40)
set_control_par (%articulation_id[$i+6],$CONTROL_PAR_POS
_X,...
get_control_par(%articulation_id[$i],$CONTROL_PA
R_POS_X)-24)
set_control_par (%articulation_id[$i+6],$CONTROL_PAR_POS
_Y,...
get_control_par(%articulation_id[$i],$CONTROL_PA
R_POS_Y) + 49)
else
set_control_par_str(%articulation_id[$i], $CONTROL_PAR_P
ICTURE, "pv_orchestral_knob")
set_control_par(%articulation_id[$i], $CONTROL_PAR_MOUSE
_BEHAVIOUR, -500)
set_control_par (%articulation_id[$i+6],$CONTROL_PAR_POS
_X,...
get_control_par(%articulation_id[$i],$CONTROL_PA
R_POS_X)-16)
set_control_par (%articulation_id[$i+6],$CONTROL_PAR_POS
_Y,...
get_control_par(%articulation_id[$i],$CONTROL_PA
R_POS_Y) + 57)
end if
inc($i)
end while
{sound knob functionality}
declare %savearr_instr[10*10] := (...
{0} 183159,487305,500000, 476877,448242,500000, 942772,817383,500000,
...
{10} 183159,460938,500000, 476877,430664,500000, 942772,793945,333008,
...
{20} 183159,467773,333008, 476877,433594,500000, 942772,815430,181641,
...
{30} 183159,467773,333008, 476877,571289,591797, 942772,808594,194336,
...
{40} 183159,484375,500000, 476877,432617,417939, 942772,827148,500000,
...
{50} 183159,462891,600586, 476877,433594,332031, 942772,805664,569336,
...
{60} 183159,458008,586914, 708968,450195,332031, 942772,801758,583008,
...
{70} 214908,488281,171875, 693759,471680,500000, 942772,804688,500000,
...
{80} 45267,660156,500000, 408316, 6836,632813, 676028, 0,629688,
...
{90} 117792,219727,500000, 461200, 0,664063, 592848, 0,619922,
...
{100}211261,357422,177344, 425598, 31250,686523, 552339, 0,619922)
declare %engine_par_instr[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_instr
declare $a_eq_instr
declare $knob_eq_instr
_read_persistent_var($sound_knob)
$knob_eq_instr := ($sound_knob+10)*10
declare $index_1_instr
declare $index_2_instr
{articulation functionality}
declare !artic_type[11]
!artic_type[0] := "Off"
!artic_type[1] := "Alt. Stroke"
!artic_type[2] := "Rel. Stroke"
!artic_type[3] := "Flam"
!artic_type[4] := "Drag"
!artic_type[5] := "Ruff"
!artic_type[6] := "Roll"
!artic_type[7] := "Buzz"
!artic_type[8] := "Muted"
!artic_type[9] := "Speed Roll"
!artic_type[10] := "Geiger"
declare !Knob1_names [12]
!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"
!Knob1_names[11] := "Velocity"
declare !Knob2_names [12]
!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"
!Knob2_names[11] := "Tune"
declare !Knob3_names [12]
!Knob3_names[0] := "n/a"
!Knob3_names[1] := "n/a"
!Knob3_names[2] := "n/a"
!Knob3_names[3] := "n/a"
!Knob3_names[4] := "n/a"
!Knob3_names[5] := "n/a"
!Knob3_names[6] := "n/a"
!Knob3_names[7] := "n/a"
!Knob3_names[8] := "n/a"
!Knob3_names[9] := "n/a"
!Knob3_names[10] := "n/a"
!Knob3_names[11] := "Time"
declare !Knob4_names [12]
!Knob4_names[0] := "n/a"
!Knob4_names[1] := "n/a"
!Knob4_names[2] := "n/a"
!Knob4_names[3] := "n/a"
!Knob4_names[4] := "n/a"
!Knob4_names[5] := "n/a"
!Knob4_names[6] := "n/a"
!Knob4_names[7] := "n/a"
!Knob4_names[8] := "n/a"
!Knob4_names[9] := "n/a"
!Knob4_names[10] := "n/a"
!Knob4_names[11] := "Volume"
declare %Var_0_a_store[128]
declare %Var_1_a_store[128]
declare %Var_2_a_store[128]
declare %Var_3_a_store[128]
declare %Var_4_a_store[128]
declare %Var_5_a_store[128]
declare %Var_6_a_store[128]
declare %Var_7_a_store[128]
declare %Var_8_a_store[128]
declare %Var_9_a_store[128]
declare %Var_10_a_store[128]

declare %Var_0_b_store[128]
declare %Var_1_b_store[128]
declare %Var_2_b_store[128]
declare %Var_3_b_store[128]
declare %Var_4_b_store[128]
declare %Var_5_b_store[128]
declare %Var_6_b_store[128]
declare %Var_7_b_store[128]
declare %Var_8_b_store[128]
declare %Var_9_b_store[128]
declare %Var_10_b_store[128]
declare $Time_amount
declare $new_time
declare $new_tune
declare $Tune_amount
declare $new_vol
declare $new_vel
declare $max_vel_amount
declare $new_event
declare ui_knob $Var_3 (0,100,1)
set_knob_defval ($Var_3,50)
set_knob_unit ($Var_3,$KNOB_UNIT_NONE)
declare %Var_10_c_store[128]
declare ui_knob $Var_4 (0,100,1)
set_knob_defval ($Var_4,50)
set_knob_unit ($Var_4,$KNOB_UNIT_NONE)
declare %Var_10_d_store[128]
set_control_par (get_ui_id($Var_3), $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTR
OL)
set_control_par (get_ui_id($Var_4), $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTR
OL)
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]
declare $c
$c := 0
while ($c < 128)
!note_names[$c] := !note_class[$c mod 12] & (($c/12)-2)
inc ($c)
end while

$a := 0
while($a < 128)
%active_menu_store[$a] := 0
%Var_0_a_store[$a] := 50
%Var_0_b_store[$a] := 50
%Var_1_a_store[$a] := 50
%Var_1_b_store[$a] := 50
%Var_2_a_store[$a] := 50
%Var_2_b_store[$a] := 50
%Var_3_a_store[$a] := 50
%Var_3_b_store[$a] := 50
%Var_4_a_store[$a] := 50
%Var_4_b_store[$a] := 50
%Var_5_a_store[$a] := 50
%Var_5_b_store[$a] := 50
%Var_6_a_store[$a] := 50
%Var_6_b_store[$a] := 50
%Var_7_a_store[$a] := 50
%Var_7_b_store[$a] := 50
%Var_8_a_store[$a] := 50
%Var_8_b_store[$a] := 50
%Var_9_a_store[$a] := 50
%Var_9_b_store[$a] := 50
%Var_10_a_store[$a] := 50
%Var_10_b_store[$a] := 50
%Var_10_c_store[$a] := 50
%Var_10_d_store[$a] := 50
inc($a)
end while

{Recall }
make_persistent (%active_menu_store)
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 (%Var_10_a_store)
make_persistent (%Var_10_b_store)
make_persistent (%Var_10_c_store)
make_persistent (%Var_10_d_store)
make_persistent ($Var_1)
make_persistent ($Var_2)
make_persistent ($Var_3)
make_persistent ($Var_4)
make_persistent ($artic_menu)
_read_persistent_var($artic_menu)
set_text ($lb_Var_1,!Knob1_names[$artic_menu])
set_text ($lb_Var_2,!Knob2_names[$artic_menu])
set_text ($Var_3,!Knob3_names[$artic_menu])
set_text ($Var_4,!Knob4_names[$artic_menu])
set_control_par_str(get_ui_id($SetMidi),$CONTROL_PAR_AUTOMATION_NAME,"Mi
di")
set_control_par_str(get_ui_id($Split),$CONTROL_PAR_AUTOMATION_NAME,"Note
")
set_control_par_str(get_ui_id($artic_menu),$CONTROL_PAR_AUTOMATION_NAME,
"Articulation")
set_control_par_str(get_ui_id($Var_1),$CONTROL_PAR_AUTOMATION_NAME,"Art
1")
set_control_par_str(get_ui_id($Var_2),$CONTROL_PAR_AUTOMATION_NAME,"Art
2")
set_control_par_str(get_ui_id($sound_knob),$CONTROL_PAR_AUTOMATION_NAME,
"Sound")
read_persistent_var($sound_knob)
read_persistent_var($Split)
read_persistent_var($Var_1)
read_persistent_var($Var_2)
set_control_par_str(get_ui_id($sound_knob),$CONTROL_PAR_LABEL,$sound_kno
b & " %")
set_control_par_str(get_ui_id($artic_menu),$CONTROL_PAR_LABEL,!artic_typ
e[$artic_menu])
set_control_par_str(get_ui_id($split),$CONTROL_PAR_LABEL,!note_names[$Sp
lit])
set_control_par_str(get_ui_id($Var_1),$CONTROL_PAR_LABEL,$Var_1 & " %")
set_control_par_str(get_ui_id($Var_2),$CONTROL_PAR_LABEL,$Var_2 & " %")

{----------MASTER REVERB FX START----------}


{POSITIONING OF CONTROL GROUP}
declare $x_grid_reverb := 3 {X Position of Control Group in grid}
declare $y_grid_reverb := 6 {Y Position of Control Group in grid}
declare $x_px_reverb := 46 {X Position Offset Control Group in pixel}
declare $y_px_reverb := 0 {Y Position Offset Control Group in pixel}
{DECLARATION AND UI_IDs}
declare const $NUM_REVERB := 15 {number of elements in this control grou
p}
declare ui_label $lb_wetdry_reverb (1,1)
declare ui_label $image_reverb (1,1)
declare ui_menu $category_reverb
declare ui_slider $wetdry_reverb (0, 500000)
declare ui_switch $on_off_reverb
declare ui_label $lb_on_off_reverb (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)

set_control_par_str(get_ui_id($image_reverb),$CONTROL_PAR_PICTUR
E,"pv_global_reverb_animation_big")
{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)
{set control help}
set_control_help($wetdry_reverb,"Reverb Amount: Sets the send le
vel of the reverb effect.")
set_control_help($on_off_reverb,"Reverb On/Off: Turns the reverb
effect 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 p
erformance spaces.")
set_control_help($cathedral_reverb, "Cathedral: A mix of real an
d 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 performan
ce 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 fr
om the classic studio digital reverb.")
set_control_help($plate_reverb, "Plate: Impulse responses from c
lassic plate reverb effect units.")
set_control_help($quadstick_reverb, "Quadstick: Impulse response
s taken from the classic studio digital reverb.")
set_control_help($brt7_reverb, "BRT 7: Impulse responses taken f
rom the classic studio digital reverb.")
set_control_help($cabinet_reverb, "Cabinet: Impulse responses of
several cabinet types.")

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] := "Concert Hall A"
!ir_type[1] := "Concert Hall B"
!ir_type[2] := "Exhibition Hall"
!ir_type[3] := "Cathedral A"
!ir_type[4] := "Cathedral B"
!ir_type[5] := "NDB Cathedral"
!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] := "Large Chamber"
!ir_type[25] := "Studio C"
!ir_type[26] := "Contem-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 Modern"
!ir_type[40] := "RnB Neptunes"
!ir_type[41] := "RnB Today"
!ir_type[42] := "Lrg Ambience"
!ir_type[43] := "Sml Ambience"
!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"
$i := 0
while ($i < 68)
if ($i < 3)
add_menu_item($hall_reverb,!ir_type[$i],$i)
else
if ($i < 6)
add_menu_item($cathedral_reverb,!ir_type
[$i],$i)
else
if ($i < 14)
add_menu_item($club_reverb,!ir_t
ype[$i],$i)
else
if ($i < 21)
add_menu_item($room_reve
rb,!ir_type[$i],$i)
else
if ($i < 34)
add_menu_item($l300_reve
rb,!ir_type[$i],$i)
else
if($i < 42)
add_menu
_item($quadstick_reverb,!ir_type[$i],$i)
else
if ($i <
52)
add_menu_item($brt7_reverb,!ir_type[$i],$i)
else
if ($i < 62)
add_menu_item($plate_reverb,!ir_type[$i],$i)
else
add_menu_item($cabinet_reverb,!ir_type[$i],$i)
end if
end if
end if
end if
end if
end if
end if
end if
inc ($i)
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)
$i := 0
while ($i < 9)
if ($i = $category_reverb)
set_control_par(%subcat_menu_id[$i],$CONTROL_PAR
_HIDE,$HIDE_PART_NOTHING)
else
set_control_par(%subcat_menu_id[$i],$CONTROL_PAR
_HIDE,$HIDE_WHOLE_CONTROL)
end if
inc ($i)
end while
set_control_par(get_ui_id($image_reverb),$CONTROL_PAR_PICTURE_ST
ATE,$category_reverb)
{/reverb functionality}
declare %reverb_id[$NUM_REVERB]
%reverb_id[0] := get_ui_id($lb_wetdry_reverb)
%reverb_id[1] := get_ui_id($image_reverb)
%reverb_id[2] := get_ui_id($wetdry_reverb)
%reverb_id[3] := get_ui_id($category_reverb)
%reverb_id[4] := get_ui_id($hall_reverb)
%reverb_id[5] := get_ui_id($cathedral_reverb)
%reverb_id[6] := get_ui_id($club_reverb)
%reverb_id[7] := get_ui_id($room_reverb)
%reverb_id[8] := get_ui_id($l300_reverb)
%reverb_id[9] := get_ui_id($quadstick_reverb)
%reverb_id[10] := get_ui_id($brt7_reverb)
%reverb_id[11] := get_ui_id($plate_reverb)
%reverb_id[12] := get_ui_id($cabinet_reverb)
%reverb_id[13] := get_ui_id($on_off_reverb)
%reverb_id[14] := get_ui_id($lb_on_off_reverb)
{VARIOUS ATTRIBUTES}
set_text($lb_wetdry_reverb,"Amount")
set_control_par (get_ui_id($wetdry_reverb),$CONTROL_PAR_DEFAULT_VALUE,25
0000)
set_text($lb_on_off_reverb, "On/Off")
set_text($image_reverb,"")
set_control_par(%reverb_id[0], $CONTROL_PAR_HIDE, $HIDE_PART_BG)
set_control_par(%reverb_id[14], $CONTROL_PAR_HIDE, $HIDE_PART_BG)
set_control_par(%reverb_id[0], $CONTROL_PAR_FONT_TYPE, $FONT_ID)
set_control_par(%reverb_id[14], $CONTROL_PAR_FONT_TYPE, $FONT_ID)
set_control_par_str(%reverb_id[2], $CONTROL_PAR_PICTURE, "pv_orchestral_
knob")
set_control_par(%reverb_id[2], $CONTROL_PAR_MOUSE_BEHAVIOUR, -500)
set_control_par_str(%reverb_id[13], $CONTROL_PAR_PICTURE, "pv_orchestral
_btn")
set_text($on_off_reverb, "")
set_control_par(%reverb_id[13], $CONTROL_PAR_HEIGHT, 40)
set_control_par(%reverb_id[13], $CONTROL_PAR_WIDTH, 40)
$i := 3
while ($i < 13)
set_control_par_str(%reverb_id[$i], $CONTROL_PAR_TEXT, "")
set_control_par_str(%reverb_id[$i], $CONTROL_PAR_PICTURE, "pv_or
chestral_dropdown_trans")
set_control_par(%reverb_id[$i], $CONTROL_PAR_FONT_TYPE, $FONT_ID
_2)
inc($i)
end while
{POSITIONING OF INDIVIDUAL CONTROLS}
move_control_px($lb_wetdry_reverb,($GRID_X * 2) + 37, ($GRID_Y * 2) + 9)
move_control_px($image_reverb,($GRID_X * 1) + 14, ($GRID_Y * 4) + 3)
move_control_px($wetdry_reverb,($GRID_X * 2) + 34, ($GRID_Y * 3) + 4)
move_control_px($category_reverb,($GRID_X * 1) + 10, ($GRID_Y * 3) + 7)
move_control_px($on_off_reverb,($GRID_X * 2) + 42, ($GRID_Y * 6) + 12)
move_control_px($lb_on_off_reverb,($GRID_X * 2) + 41, ($GRID_Y * 5) + 18
)
$i := 4
while ($i < 13)
set_control_par(%reverb_id[$i], $CONTROL_PAR_POS_X, ($GRID_X * 1
) + 10)
set_control_par(%reverb_id[$i], $CONTROL_PAR_POS_Y, ($GRID_Y * 7
) + 2)
set_control_par(%reverb_id[$i], $CONTROL_PAR_WIDTH, 93)
inc($i)
end while
set_control_par(%reverb_id[3], $CONTROL_PAR_WIDTH, 93)
$i := 4
while ($i<13)
if($i = $category_reverb + 4)
set_control_par(%reverb_id[$i],$CONTROL_PAR_HIDE,$HIDE_P
ART_NOTHING)
else
set_control_par(%reverb_id[$i], $CONTROL_PAR_HIDE, $HIDE
_WHOLE_CONTROL)
end if
inc($i)
end while
$wetdry_reverb := _get_engine_par($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -
1,$reverb_slot,1)
$on_off_reverb := (_get_engine_par($ENGINE_PAR_EFFECT_BYPASS, -1, $rever
b_slot, 1) + 1) mod 2
$i := 0
while ($i < $NUM_reverb)
set_control_par (%reverb_id[$i],$CONTROL_PAR_POS_X,get_control_p
ar(%reverb_id[$i],...
$CONTROL_PAR_POS_X)+$ROOT_X + ($x_grid_reverb - 1)*$GRID_X + $x_
px_reverb)
set_control_par (%reverb_id[$i],$CONTROL_PAR_POS_Y,get_control_p
ar(%reverb_id[$i],...
$CONTROL_PAR_POS_Y)+$ROOT_Y + ($y_grid_reverb - 1)*$GRID_Y + $y_
px_reverb)
inc($i)
end while
set_control_par_str(get_ui_id($wetdry_reverb),$CONTROL_PAR_AUTOMATION_NA
ME,"Rv Amt")
set_control_par_str(get_ui_id($on_off_reverb),$CONTROL_PAR_AUTOMATION_NA
ME,"Reverb")
set_control_par_str(get_ui_id($wetdry_reverb),$CONTROL_PAR_LABEL,get_eng
ine_par_disp($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1,$reverb_slot,1) & " dB")
{----------MASTER REVERB FX END----------}
{----------MASTER EQ START----------}
declare ui_slider $bass_gain_eq (0,1000000)
declare ui_slider $mid_gain_eq (0,1000000)
declare ui_slider $mid_freq_eq (0,1000000)
declare ui_slider $treble_gain_eq (0,1000000)
declare ui_switch $bass_onoff_eq
declare ui_switch $mid_onoff_eq
declare ui_switch $treble_onoff_eq
declare ui_label $lb_bass_gain_eq (1,1)
declare ui_label $lb_mid_gain_eq (1,1)
declare ui_label $lb_mid_freq_eq (1,1)
declare ui_label $lb_treble_gain_eq (1,1)
declare ui_label $lb_bass_onoff_eq (1,1)
declare ui_label $lb_mid_onoff_eq (1,1)
declare ui_label $lb_treble_onoff_eq (1,1)
move_control_px($bass_gain_eq, 69, 167)
move_control_px($mid_gain_eq, 140, 167)
move_control_px($mid_freq_eq, 209, 167)
move_control_px($treble_gain_eq, 280, 167)
move_control_px($bass_onoff_eq, 70, 230)
move_control_px($mid_onoff_eq, 175, 230)
move_control_px($treble_onoff_eq, 280, 230)
set_text($lb_bass_gain_eq,"Bass Gain")
set_text($lb_mid_gain_eq,"Mid Gain")
set_text($lb_mid_freq_eq,"Mid Freq")
set_text($lb_treble_gain_eq,"Treble Gain")
set_text($lb_bass_onoff_eq,"Bass")
set_text($lb_mid_onoff_eq,"Mid")
set_text($lb_treble_onoff_eq,"Treble")
set_control_help($bass_gain_eq, "Bass Gain: Controls the gain adjustment
of the bass frequencies.")
set_control_help($mid_gain_eq, "Mid Gain: Controls the gain adjustment o
f the variable frequency peak mid EQ.")
set_control_help($mid_freq_eq, "Mid Frequency: Controls the central freq
uency of the peak mid EQ.")
set_control_help($treble_gain_eq, "Treble Gain: Controls the gain adjust
ment of the high frequencies.")
set_control_help($treble_onoff_eq, "Treble On/Off: Activates or deactiva
tes the treble EQ settings.")
set_control_help($mid_onoff_eq, "Mid On/Off: Activates or deactivates th
e mid EQ settings.")
set_control_help($bass_onoff_eq, "Bass On/Off: Activates or deactivates
the bass EQ settings.")
declare %eq_id[14]
%eq_id[0] := get_ui_id($bass_gain_eq)
%eq_id[1] := get_ui_id($mid_gain_eq)
%eq_id[2] := get_ui_id($mid_freq_eq)
%eq_id[3] := get_ui_id($treble_gain_eq)
%eq_id[4] := get_ui_id($bass_onoff_eq)
%eq_id[5] := get_ui_id($mid_onoff_eq)
%eq_id[6] := get_ui_id($treble_onoff_eq)
%eq_id[7] := get_ui_id($lb_bass_gain_eq)
%eq_id[8] := get_ui_id($lb_mid_gain_eq)
%eq_id[9] := get_ui_id($lb_mid_freq_eq)
%eq_id[10] := get_ui_id($lb_treble_gain_eq)
%eq_id[11] := get_ui_id($lb_bass_onoff_eq)
%eq_id[12] := get_ui_id($lb_mid_onoff_eq)
%eq_id[13] := get_ui_id($lb_treble_onoff_eq)
$i := 0
while ($i < 7)
if($i<4)
set_control_par_str(%eq_id[$i],$CONTROL_PAR_PICTURE,"pv_
orchestral_knob_small")
set_control_par(%eq_id[$i],$CONTROL_PAR_MOUSE_BEHAVIOUR,
-500)
set_control_par(%eq_id[$i],$CONTROL_PAR_DEFAULT_VALUE,50
0000)
set_control_par (%eq_id[$i+7],$CONTROL_PAR_POS_X,...
get_control_par(%eq_id[$i],$CONTROL_PAR_POS_X)-2
3)
set_control_par (%eq_id[$i+7],$CONTROL_PAR_POS_Y,...
get_control_par(%eq_id[$i],$CONTROL_PAR_POS_Y) +
43)
else
set_control_par_str(%eq_id[$i],$CONTROL_PAR_PICTURE,"pv_
orchestral_btn")
set_control_par_str(%eq_id[$i],$CONTROL_PAR_TEXT,"")
set_control_par(%eq_id[$i],$CONTROL_PAR_HEIGHT,40)
set_control_par(%eq_id[$i],$CONTROL_PAR_WIDTH,40)
set_control_par (%eq_id[$i+7],$CONTROL_PAR_POS_X,...
get_control_par(%eq_id[$i],$CONTROL_PAR_POS_X)-2
4)
set_control_par (%eq_id[$i+7],$CONTROL_PAR_POS_Y,...
get_control_par(%eq_id[$i],$CONTROL_PAR_POS_Y) +
41)
end if
set_control_par (%eq_id[$i+7],$CONTROL_PAR_HIDE,$HIDE_PART_BG)
set_control_par (%eq_id[$i+7],$CONTROL_PAR_TEXT_ALIGNMENT,1)
set_control_par (%eq_id[$i+7],$CONTROL_PAR_FONT_TYPE,$FONT_ID)
inc($i)
end while
make_persistent($bass_onoff_eq)
make_persistent($mid_onoff_eq)
make_persistent($treble_onoff_eq)
$bass_gain_eq := _get_engine_par($ENGINE_PAR_GAIN1,-1,$master_eq_slot,1)
$mid_gain_eq := _get_engine_par($ENGINE_PAR_GAIN2,-1,$master_eq_slot,1)
$mid_freq_eq := _get_engine_par($ENGINE_PAR_FREQ2,-1,$master_eq_slot,1)
$treble_gain_eq := _get_engine_par($ENGINE_PAR_GAIN3,-1,$master_eq_slot,
1)
set_control_par_str(get_ui_id($bass_onoff_eq),$CONTROL_PAR_AUTOMATION_NA
ME,"Lo EQ")
set_control_par_str(get_ui_id($mid_onoff_eq),$CONTROL_PAR_AUTOMATION_NAM
E,"Mid EQ")
set_control_par_str(get_ui_id($treble_onoff_eq),$CONTROL_PAR_AUTOMATION_
NAME,"Hi EQ")
set_control_par_str(get_ui_id($bass_gain_eq),$CONTROL_PAR_AUTOMATION_NAM
E,"Low")
set_control_par_str(get_ui_id($mid_gain_eq),$CONTROL_PAR_AUTOMATION_NAME
,"Mid")
set_control_par_str(get_ui_id($mid_freq_eq),$CONTROL_PAR_AUTOMATION_NAME
,"Mid Frq")
set_control_par_str(get_ui_id($treble_gain_eq),$CONTROL_PAR_AUTOMATION_N
AME,"High")
read_persistent_var($bass_gain_eq)
read_persistent_var($mid_gain_eq)
read_persistent_var($mid_freq_eq)
read_persistent_var($treble_gain_eq)
set_control_par_str(get_ui_id($bass_gain_eq),$CONTROL_PAR_LABEL,get_engi
ne_par_disp($ENGINE_PAR_GAIN1,-1,$master_eq_slot,1) & " dB")
set_control_par_str(get_ui_id($mid_gain_eq),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_GAIN2,-1,$master_eq_slot,1) & " dB")
set_control_par_str(get_ui_id($mid_freq_eq),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_FREQ2,-1,$master_eq_slot,1) & " Hz")
set_control_par_str(get_ui_id($treble_gain_eq),$CONTROL_PAR_LABEL,get_en
gine_par_disp($ENGINE_PAR_GAIN3,-1,$master_eq_slot,1) & " dB")
{----------MASTER EQ END----------}
if ($CREATE_AUTOMATION_ID = 1)

set_control_par(get_ui_id($SetMidi),$CONTROL_PAR_AUTOMAT
ION_ID,9)
set_control_par(get_ui_id($Split),$CONTROL_PAR_AUTOMATIO
N_ID,16)
set_control_par(get_ui_id($artic_menu),$CONTROL_PAR_AUTO
MATION_ID,1)
set_control_par(get_ui_id($Var_1),$CONTROL_PAR_AUTOMATIO
N_ID,2)
set_control_par(get_ui_id($Var_2),$CONTROL_PAR_AUTOMATIO
N_ID,3)
set_control_par(get_ui_id($sound_knob),$CONTROL_PAR_AUTO
MATION_ID,0)
set_control_par(get_ui_id($bass_onoff_eq),$CONTROL_PAR_A
UTOMATION_ID,13)
set_control_par(get_ui_id($mid_onoff_eq),$CONTROL_PAR_AU
TOMATION_ID,14)
set_control_par(get_ui_id($treble_onoff_eq),$CONTROL_PAR
_AUTOMATION_ID,15)
set_control_par(get_ui_id($bass_gain_eq),$CONTROL_PAR_AU
TOMATION_ID,5)
set_control_par(get_ui_id($mid_gain_eq),$CONTROL_PAR_AUT
OMATION_ID,6)
set_control_par(get_ui_id($mid_freq_eq),$CONTROL_PAR_AUT
OMATION_ID,17)
set_control_par(get_ui_id($treble_gain_eq),$CONTROL_PAR_
AUTOMATION_ID,7)
set_control_par(get_ui_id($wetdry_reverb),$CONTROL_PAR_A
UTOMATION_ID,4)
set_control_par(get_ui_id($on_off_reverb),$CONTROL_PAR_A
UTOMATION_ID,12)
end if
end on
on ui_control ($sound_knob)
$index_1_instr := $sound_knob/10
$index_2_instr := $sound_knob/10 +1
$knob_eq_instr := $sound_knob*10
if ($index_2_instr > 10)
$index_2_instr := 10
end if
set_control_par_str(get_ui_id($sound_knob),$CONTROL_PAR_LABEL,$sound_kno
b & " %")
$a_eq_instr := 0
while($a_eq_instr < 9)
$helper_eq_instr := ((%savearr_instr[($index_2_instr*9) + $a_eq_
instr] - %savearr_instr[($index_1_instr*9)...
+ $a_eq_instr]) * ($knob_eq_instr mod 100))/100 + %savearr_inst
r[($index_1_instr*9) + $a_eq_instr]
_set_engine_par(%engine_par_instr[$a_eq_instr],$helper_eq_instr,
-1,$eq_slot,1)
inc($a_eq_instr)
end while
end on
on ui_control ($artic_menu)
%active_menu_store[$active_note] := $artic_menu
set_text($lb_artic_menu,!artic_type[$artic_menu])
set_control_par_str(get_ui_id($artic_menu),$CONTROL_PAR_LABEL,!artic_typ
e[$artic_menu])
$Var_3 := 0
$Var_4 := 0
select ($artic_menu)
case 0
$Var_1 := 0
$Var_2 := 0
case 1
$Var_1 := %var_0_a_store[$active_note]
$Var_2 := %var_0_b_store[$active_note]
case 2
$Var_1 := %var_1_a_store[$active_note]
$Var_2 := %var_1_b_store[$active_note]
case 3
$Var_1 := %var_2_a_store[$active_note]
$Var_2 := %var_2_b_store[$active_note]
case 4
$Var_1 := %var_3_a_store[$active_note]
$Var_2 := %var_3_b_store[$active_note]
case 5
$Var_1 := %var_4_a_store[$active_note]
$Var_2 := %var_4_b_store[$active_note]
case 6
$Var_1 := %var_5_a_store[$active_note]
$Var_2 := %var_5_b_store[$active_note]
case 7
$Var_1 := %var_6_a_store[$active_note]
$Var_2 := %var_6_b_store[$active_note]
case 8
$Var_1 := %var_7_a_store[$active_note]
$Var_2 := %var_7_b_store[$active_note]
case 9
$Var_1 := %var_8_a_store[$active_note]
$Var_2 := %var_8_b_store[$active_note]
case 10
$Var_1 := %var_9_a_store[$active_note]
$Var_2 := %var_9_b_store[$active_note]
case 11
$Var_1 := %var_10_a_store[$active_note]
$Var_2 := %var_10_b_store[$active_note]
$Var_3 := %var_10_c_store[$active_note]
$Var_4 := %var_10_d_store[$active_note]
end select
set_text ($lb_Var_1,!Knob1_names[$artic_menu])
set_text ($lb_Var_2,!Knob2_names[$artic_menu])
set_text ($Var_3,!Knob3_names[$artic_menu])
set_text ($Var_4,!Knob4_names[$artic_menu])
$last_time_1 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_1 > $wait_time -5)
set_text ($lb_artic_menu,"Articulation")
end if
end on

on ui_control ($Var_1)
select($artic_menu)
case 1
%var_0_a_store[$active_note] := $Var_1
case 2
%var_1_a_store[$active_note] := $Var_1
case 3
%var_2_a_store[$active_note] := $Var_1
case 4
%var_3_a_store[$active_note] := $Var_1
case 5
%var_4_a_store[$active_note] := $Var_1
case 6
%var_5_a_store[$active_note] := $Var_1
case 7
%var_6_a_store[$active_note] := $Var_1
case 8
%var_7_a_store[$active_note] := $Var_1
case 9
%var_8_a_store[$active_note] := $Var_1
case 10
%var_9_a_store[$active_note] := $Var_1
case 11
%var_10_a_store[$active_note] := $Var_1
end select
set_control_par_str(get_ui_id($Var_1),$CONTROL_PAR_LABEL,$Var_1 & " %")
end on
on ui_control ($Var_2)
select($artic_menu)
case 1
%var_0_b_store[$active_note] := $Var_2
case 2
%var_1_b_store[$active_note] := $Var_2
case 3
%var_2_b_store[$active_note] := $Var_2
case 4
%var_3_b_store[$active_note] := $Var_2
case 5
%var_4_b_store[$active_note] := $Var_2
case 6
%var_5_b_store[$active_note] := $Var_2
case 7
%var_6_b_store[$active_note] := $Var_2
case 8
%var_7_b_store[$active_note] := $Var_2
case 9
%var_8_b_store[$active_note] := $Var_2
case 10
%var_9_b_store[$active_note] := $Var_2
case 11
%var_10_b_store[$active_note] := $Var_2
end select
set_control_par_str(get_ui_id($Var_2),$CONTROL_PAR_LABEL,$Var_2 & " %")
end on
on ui_control ($Var_3)
select($artic_menu)
case 11
%var_10_c_store[$active_note] := $Var_3
end select
end on
on ui_control ($Var_4)
select($artic_menu)
case 11
%var_10_d_store[$active_note] := $Var_4
end select
end on
on note
if ($SetMidi = 1)
$Split := $EVENT_NOTE
$active_note := $EVENT_NOTE
$artic_menu := %active_menu_store[$active_note]
$Var_3 := 0
$Var_4 := 0
select ($artic_menu)
case 0
$Var_1 := 0
$Var_2 := 0
case 1
$Var_1 := %var_0_a_store[$active_note]
$Var_2 := %var_0_b_store[$active_note]
case 2
$Var_1 := %var_1_a_store[$active_note]
$Var_2 := %var_1_b_store[$active_note]
case 3
$Var_1 := %var_2_a_store[$active_note]
$Var_2 := %var_2_b_store[$active_note]
case 4
$Var_1 := %var_3_a_store[$active_note]
$Var_2 := %var_3_b_store[$active_note]
case 5
$Var_1 := %var_4_a_store[$active_note]
$Var_2 := %var_4_b_store[$active_note]
case 6
$Var_1 := %var_5_a_store[$active_note]
$Var_2 := %var_5_b_store[$active_note]
case 7
$Var_1 := %var_6_a_store[$active_note]
$Var_2 := %var_6_b_store[$active_note]
case 8
$Var_1 := %var_7_a_store[$active_note]
$Var_2 := %var_7_b_store[$active_note]
case 9
$Var_1 := %var_8_a_store[$active_note]
$Var_2 := %var_8_b_store[$active_note]
case 10
$Var_1 := %var_9_a_store[$active_note]
$Var_2 := %var_9_b_store[$active_note]
case 11
$Var_1 := %var_10_a_store[$active_note]
$Var_2 := %var_10_b_store[$active_note]
$Var_3 := %var_10_c_store[$active_note]
$Var_4 := %var_10_d_store[$active_note]
end select
set_text ($lb_Var_1,!Knob1_names[$artic_menu])
set_text ($lb_Var_2,!Knob2_names[$artic_menu])
set_text ($Var_3,!Knob3_names[$artic_menu])
set_text ($Var_4,!Knob4_names[$artic_menu])
end if
$pressed_id := $EVENT_ID
select (%active_menu_store[$EVENT_NOTE])
case 0
$a := $a
{-----Alternate Stroke-----}
case 1 {Alternate Stroke}
ignore_event($EVENT_ID)
{tuning }
if (%Var_0_a_store[$EVENT_NOTE] <= 50)
$Amount_helper := ((%Var_0_a_store[$EVENT_NOTE])
* (100) / (50))
$primary_tune_amount := 60000 * ($Amount_helper*
100/100)/100
else
$Amount_helper := ((%Var_0_a_store[$EVENT_NOTE]
- 51) * (100) / (49))
$random_amount := 900*%Var_0_b_store[$EVENT_NOTE
] * ($Amount_helper*100/100)/100
$primary_tune_amount := random (60000 - $random_
amount,60000 + $random_amount)
end if
{volume }
$primary_vol_amount := random (10*%Var_0_b_store[$EVENT_
NOTE],100*%Var_0_b_store[$EVENT_NOTE])
{play note}
$primary_id := play_note ($EVENT_NOTE,$EVENT_VELOCITY,0,
-1)
change_vol($primary_id,-$primary_vol_amount,0)
change_tune($primary_id,$primary_tune_amount,0)
{-----Release Stroke-----}
case 2 {Release Stroke }
{do nothing}
$trigger_time := $ENGINE_UPTIME
{---------Flam---------}
case 3 {Flam }
ignore_event($EVENT_ID)
{get velocity of flam note}
$actual_vel_percentage := ((%Var_2_a_store[$EVENT_NOTE]
) * (5 - 20) / (100)) + 20
$grace1_velocity := $EVENT_VELOCITY - ($EVENT_VELOCITY *
($actual_vel_percentage*100/100)/100)
$grace1_velocity := random ($grace1_velocity - 2,$grace1
_velocity + 2)
if (%Var_2_b_store[$EVENT_NOTE] > 50)
$grace1_velocity := $EVENT_VELOCITY + ((127 - $E
VENT_VELOCITY) * (((%Var_2_b_store[$EVENT_NOTE]-50))*100/100)/100)
end if
if (%Var_2_b_store[$EVENT_NOTE] < 50)
$grace1_velocity := $EVENT_VELOCITY - (($EVENT_V
ELOCITY) * (((abs(%Var_2_b_store[$EVENT_NOTE]-50)))*100/100)/100)
end if
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
if ($grace1_velocity > 127)
$grace1_velocity := 127
end if
{get volume of grace note}
$grace1_vol_amount := random (1000,5000)
{get tuning of flam note}
if (%Var_2_a_store[$EVENT_NOTE] <= 50)
{skaliere den $Var_1-Bereich 0-50 auf 0-100}
$Amount_helper := ((%Var_2_a_store[$EVENT_NOTE])
* (100) / (50))
$grace1_tune_amount := 220000 * ($Amount_helper*
100/100)/100
else
{skaliere den $Var_1-Bereich 51-100 auf 0-100}
$Amount_helper := ((%Var_2_a_store[$EVENT_NOTE]
- 51) * (100) / (49))
$random_amount := 30000 * ($Amount_helper*100/10
0)/100
$grace1_tune_amount := random (220000 - $random_
amount,220000 + $random_amount)
end if
{get flam delay time}
$grace1_delay_time := ((%Var_2_a_store[$EVENT_NOTE] - 10
0) * (35000 - 20000) / (- 100)) + 20000
{und jetzt 10% davon}
$random_delay := $grace1_delay_time * (20*100/100)/100
$grace1_delay_time := random($grace1_delay_time - $rando
m_delay, $grace1_delay_time + $random_delay)
{generate flam note}
$grace1_id := play_note($EVENT_NOTE,$grace1_velocity,0,-
1)
change_vol($grace1_id,-$grace1_vol_amount,0)
change_tune($grace1_id,-$grace1_tune_amount,0)
wait ($grace1_delay_time)
$help_id := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
{---------Drag---------}
case 4 {Drag }
ignore_event($EVENT_ID)
{get velocity of first drag note}
$grace1_velocity := $EVENT_VELOCITY - ($EVENT_VELOCITY *
(30*100/100)/100)
$grace1_velocity := random ($grace1_velocity - 2, $grace
1_velocity + 2)
if (%Var_3_b_store[$EVENT_NOTE] > 50)
$grace1_velocity := $EVENT_VELOCITY + ((127 - $E
VENT_VELOCITY) * (((%Var_3_b_store[$EVENT_NOTE]-50))*100/100)/100)
end if
if (%Var_3_b_store[$EVENT_NOTE] < 50)
$grace1_velocity := $EVENT_VELOCITY - (($EVENT_V
ELOCITY) * (((abs(%Var_3_b_store[$EVENT_NOTE]-50)))*100/100)/100)
end if
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
if ($grace1_velocity > 127)
$grace1_velocity := 127
end if
{get velocity of second drag note}
{the second grace note should be slightly softer}
$grace2_velocity := random ($grace1_velocity - 4, $grace
1_velocity - 2)
if ($grace2_velocity < 1)
$grace2_velocity := 1
end if
{get volume of both grace notes}
$grace1_vol_amount := random (1000,5000)
$grace2_vol_amount := random (1000,5000)
{get tuning of first grace note}
if (%Var_3_a_store[$EVENT_NOTE] <= 50)
{skaliere den $Var_1-Bereich 0-50 auf 0-100}
$Amount_helper := ((%Var_3_a_store[$EVENT_NOTE])
* (100) / (50))
$grace1_tune_amount := 100000 * ($Amount_helper*
100/100)/100
else
{skaliere den $Var_1-Bereich 51-100 auf 0-100}
$Amount_helper := ((%Var_3_a_store[$EVENT_NOTE]
- 51) * (100) / (49))
$random_amount := 30000 * ($Amount_helper*100/10
0)/100
$grace1_tune_amount := random (100000 - $random_
amount,100000 + $random_amount)
end if
{get tuning of second grace note, should be a tad lower
than the first}
$grace2_tune_amount := random ($grace1_tune_amount - 100
00, $grace1_tune_amount - 2000)
{get grace1 delay time, skaliere den min/max bereich von
100-0, also bei 100 k?rzere zeit}
$grace1_delay_time := ((%Var_3_a_store[$EVENT_NOTE] - 10
0) * (50000 - 30000) / (- 100)) + 30000
{und jetzt 10% davon}
$random_delay := $grace1_delay_time * (20 *100/100)/100
$grace1_delay_time := random($grace1_delay_time - $rando
m_delay, $grace1_delay_time + $random_delay)
{get grace2 delay time,}
$grace2_delay_time := random($grace1_delay_time, $grace1
_delay_time + (3*$random_delay))
{play first grace note}
$grace1_id := play_note($EVENT_NOTE,$grace1_velocity,0,-
1)
change_vol($grace1_id,-$grace1_vol_amount,0)
change_tune($grace1_id,-$grace1_tune_amount,0)
wait ($grace1_delay_time)
{play second grace note}
$grace2_id := play_note($EVENT_NOTE,$grace2_velocity,0,-
1)
change_vol($grace2_id,-$grace2_vol_amount,0)
change_tune($grace2_id,-$grace2_tune_amount,0)
wait ($grace2_delay_time)
{play primary note}
$primary_id := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,
-1)
change_vol($primary_id,$grace1_vol_amount,0)
{---------Ruff---------}
case 5 {Ruff }
ignore_event($EVENT_ID)
{get velocity of first grace note}
$grace1_velocity := $EVENT_VELOCITY - ($EVENT_VELOCITY *
(30*100/100)/100)
$grace1_velocity := random ($grace1_velocity - 2, $grace
1_velocity + 2)
if (%Var_4_b_store[$EVENT_NOTE] > 50)
$grace1_velocity := $EVENT_VELOCITY + ((127 - $E
VENT_VELOCITY) * (((%Var_4_b_store[$EVENT_NOTE]-50))*100/100)/100)
end if
if (%Var_4_b_store[$EVENT_NOTE] < 50)
$grace1_velocity := $EVENT_VELOCITY - (($EVENT_V
ELOCITY) * (((abs(%Var_4_b_store[$EVENT_NOTE]-50)))*100/100)/100)
end if
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
if ($grace1_velocity > 127)
$grace1_velocity := 127
end if
{get velocity of grace drag note}
{the second grace note should be slightly softer}
$grace2_velocity := random ($grace1_velocity - 8, $grace
1_velocity - 4)
if ($grace2_velocity < 1)
$grace2_velocity := 1
end if
{get velocity of grace drag note}
{the third grace note should be harder than the second}
$grace3_velocity := random ($grace1_velocity - 4, $grace
1_velocity - 2)
if ($grace3_velocity < 1)
$grace3_velocity := 1
end if
{get volume of both grace notes}
$grace1_vol_amount := random (1000,5000)
$grace2_vol_amount := random (1000,5000)
$grace3_vol_amount := random (1000,5000)
{get tuning of first grace note}
if (%Var_4_a_store[$EVENT_NOTE] <= 50)
{skaliere den $Var_1-Bereich 0-50 auf 0-100}
$Amount_helper := ((%Var_4_a_store[$EVENT_NOTE])
* (100) / (50))
$grace1_tune_amount := 200000 * ($Amount_helper*
100/100)/100
else
{skaliere den $Var_1-Bereich 51-100 auf 0-100}
$Amount_helper := ((%Var_4_a_store[$EVENT_NOTE]
- 51) * (100) / (49))
$random_amount := 30000 * ($Amount_helper*100/10
0)/100
$grace1_tune_amount := random (200000 - $random_
amount,200000 + $random_amount)
end if
{get tuning of second grace note, should be quite low}
$grace2_tune_amount := $random_amount
{get tuning of second grace note, should be a tad lower
than the first}
$grace3_tune_amount := random ($grace1_tune_amount - 100
00, $grace1_tune_amount - 2000)
{get grace1 delay time, skaliere den min/max bereich von
100-0, also bei 100 k?rzere zeit}
$grace1_delay_time := ((%Var_4_a_store[$EVENT_NOTE] - 10
0) * (60000 - 40000) / (- 100)) + 40000
{und jetzt 10% davon}
$random_delay := $grace1_delay_time * (20*100/100)/100
$grace1_delay_time := random($grace1_delay_time - $rando
m_delay, $grace1_delay_time + $random_delay)
{get grace2 delay time}
$grace2_delay_time := random($grace1_delay_time, $grace1
_delay_time + $random_delay)
{get grace3 delay time}
$grace3_delay_time := random($grace1_delay_time, $grace1
_delay_time + (3*$random_delay))
{play first grace note}
$grace1_id := play_note($EVENT_NOTE,$grace1_velocity,0,-
1)
change_vol($grace1_id,-$grace1_vol_amount,0)
change_tune($grace1_id,-$grace1_tune_amount,0)
wait ($grace1_delay_time)
{play second grace note}
$grace2_id := play_note($EVENT_NOTE,$grace2_velocity,0,-
1)
change_vol($grace2_id,-$grace2_vol_amount,0)
change_tune($grace2_id,-$grace2_tune_amount,0)
wait ($grace2_delay_time)
{play third grace note}
$grace3_id := play_note($EVENT_NOTE,$grace3_velocity,0,-
1)
change_vol($grace3_id,-$grace2_vol_amount,0)
change_tune($grace3_id,-$grace2_tune_amount,0)
wait ($grace3_delay_time)
{play primary note}
$primary_id := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,
-1)
change_vol($primary_id,$grace1_vol_amount,0)
{---------Roll---------}
case 6 {Roll }
ignore_event($EVENT_ID)
if ($EVENT_VELOCITY - 10 < 1)
change_velo ($EVENT_ID,1)
else
change_velo ($EVENT_ID, $EVENT_VELOCITY-10)
end if
while ($pressed_id = $EVENT_ID and %active_menu_store[$E
VENT_NOTE] = 6)
{Volume 1}
$grace1_vol_amount := random (1000,4000)
{Volume 2}
$grace2_vol_amount := random (1000,4000)
{Volume 3}
$grace3_vol_amount := random (1000,4000)
{Volume 4}
$grace4_vol_amount := random (1000,4000)
{Tuning 1}
$random_amount := 20000 * (%Var_5_a_store[$EVENT
_NOTE]*100/100)/100
$grace1_tune_amount := random (20000 - $random_a
mount,20000 + $random_amount)
{Tuning 2}
$random_amount := 20000 * (%Var_5_a_store[$EVENT
_NOTE]*100/100)/100
$grace2_tune_amount := random (20000 - $random_a
mount,20000 + $random_amount)
{Tuning 3}
$random_amount := 20000 * (%Var_5_a_store[$EVENT
_NOTE]*100/100)/100
$grace3_tune_amount := random (20000 - $random_a
mount,20000 + $random_amount)
{Tuning 4}
$random_amount := 20000 * (%Var_5_a_store[$EVENT
_NOTE]*100/100)/100
$grace4_tune_amount := random (20000 - $random_a
mount,20000 + $random_amount)
{Delay 1}
$grace1_delay_time := ((%Var_5_a_store[$EVENT_NO
TE] - 100) * (80000 - 50000) / (- 100)) + 50000
$random_delay := $grace1_delay_time * (4*100/100
)/100
$grace1_delay_time := random($grace1_delay_time
- $random_delay, $grace1_delay_time + $random_delay)
{Delay 2}
$grace2_delay_time := random($grace1_delay_time,
$grace1_delay_time + $random_delay)
{Delay 3}
$grace3_delay_time := random($grace2_delay_time,
$grace2_delay_time + $random_delay)
{Delay 4}
$grace4_delay_time := random($grace3_delay_time,
$grace3_delay_time + $random_delay)
{** Play 1 **}
{Velocity 1}
$grace1_velocity := random ($EVENT_VELOCITY, $EV
ENT_VELOCITY + ($EVENT_VELOCITY * (4*100/100)/100))
$grace1_velocity := $grace1_velocity * (%Var_5_b
_store[$EVENT_NOTE]*100/100)/100
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
if ($grace1_velocity > 127)
$grace1_velocity := 127
end if
$grace1_id := play_note($EVENT_NOTE,$grace1_velo
city,0,-1)
change_vol($grace1_id,$grace1_vol_amount,0)
change_tune($grace1_id,-$grace1_tune_amount,0)
wait ($grace1_delay_time)
fade_out($grace1_id,$ROLL_FADE_OUT_TIME,1)
{** Play 2 **}
{Velocity 2}
$grace2_velocity := random ($EVENT_VELOCITY - ($
EVENT_VELOCITY * (4*100/100)/100),$EVENT_VELOCITY)
$grace2_velocity := $grace2_velocity * (%Var_5_b
_store[$EVENT_NOTE]*100/100)/100
if ($grace2_velocity < 1)
$grace2_velocity := 1
end if
if ($grace2_velocity > 127)
$grace2_velocity := 127
end if
$grace2_id := play_note($EVENT_NOTE,$grace2_velo
city,0,-1)
change_vol($grace2_id,-$grace2_vol_amount,0)
change_tune($grace2_id,$grace2_tune_amount,0)
wait ($grace2_delay_time)
fade_out($grace2_id,$ROLL_FADE_OUT_TIME,1)
{** Play 3 **}
{Velocity 3}
$grace3_velocity := random ($EVENT_VELOCITY - 5,
$EVENT_VELOCITY)
$grace3_velocity := $grace3_velocity * (%Var_5_b
_store[$EVENT_NOTE]*100/100)/100
if ($grace3_velocity < 1)
$grace3_velocity := 1
end if
if ($grace3_velocity > 127)
$grace3_velocity := 127
end if
$grace3_id := play_note($EVENT_NOTE,$grace3_velo
city,0,-1)
change_vol($grace3_id,$grace3_vol_amount,0)
change_tune($grace3_id,-$grace3_tune_amount,0)
wait ($grace3_delay_time)
fade_out($grace3_id,$ROLL_FADE_OUT_TIME,1)
{** Play 4 **}
{Velocity 4}
$grace4_velocity := random ($EVENT_VELOCITY - 10
, $EVENT_VELOCITY)
$grace4_velocity := $grace4_velocity * (%Var_5_b
_store[$EVENT_NOTE]*100/100)/100
if ($grace4_velocity < 1)
$grace4_velocity := 1
end if
if ($grace4_velocity > 127)
$grace4_velocity := 127
end if
$grace4_id := play_note($EVENT_NOTE,$grace4_velo
city,0,-1)
change_vol($grace4_id,-$grace4_vol_amount,0)
change_tune($grace4_id,$grace2_tune_amount,0)
wait ($grace4_delay_time)
fade_out($grace4_id,$ROLL_FADE_OUT_TIME,1)
end while
{******** BUZZ ********}
case 7 {Buzz }
$count := 1
$grace1_delay_time := 62500
{get $Tdec}
$Tdec := ((%Var_6_a_store[$EVENT_NOTE] - 100) * (10000 -
6000) / ( -100)) + 6000
{get $Vdec}
$Vdec := ((%Var_6_b_store[$EVENT_NOTE]) * (9220 - 7220)
/ ( 100)) + 7220
{get velocity of first repeated note}
$grace1_velocity := (($EVENT_VELOCITY * 100/ 100) * $Vde
c) / 10000
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
wait ($grace1_delay_time)
while ($count <= 8)
$grace1_id := play_note ($EVENT_NOTE, $grace1_ve
locity, 0, 62500)
{get $Vdec}
$Vdec := ((%Var_6_b_store[$EVENT_NOTE]) * (9220
- 7220) / ( 100)) + 7220
$grace1_velocity := (($grace1_velocity * 100 / 1
00) * $Vdec) / 10000
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
{get $Tdec}
$Tdec := ((%Var_6_a_store[$EVENT_NOTE] - 100) *
(10000 - 6000) / ( -100)) + 6000
$grace1_delay_time := (($grace1_delay_time / 100
) * $Tdec) / 100
if ($grace1_delay_time < 1000)
$grace1_delay_time := 1000
end if
inc ($count)
wait ($grace1_delay_time)
fade_out($grace1_id,$ROLL_FADE_OUT_TIME,1)
end while

{******** MUTED ********}


case 8 {Muted }
ignore_event ($EVENT_ID)
$primary_id := play_note ($EVENT_NOTE,$EVENT_VELOCITY,0,
-1)
change_vol($primary_id,- random(1000,5000),0)
change_tune($primary_id,random(0,10000),0)
$Amount_helper := ((%Var_7_a_store[$EVENT_NOTE]) * (1000
00 - 5000) / (100)) + 5000
fade_in ($primary_id,$Amount_helper)
if ($Amount_helper > 0)
wait ($Amount_helper)
end if
note_off($primary_id)
fade_out ($primary_id,((%Var_7_b_store[$EVENT_NOTE]) * (
100000 - 5000) / (100)) + 5000,1)

{******** SPEED ROLL ********}


case 9 {Speed Roll}
ignore_event($EVENT_ID)
while ($pressed_id = $EVENT_ID and %active_menu_store[$E
VENT_NOTE] = 9)
$grace1_delay_time := ((%Var_8_a_store[$EVENT_NO
TE] - 100) * (40000 - 20000) / (- 100)) + 20000
$grace1_velocity := $EVENT_VELOCITY
$grace1_id := play_note($EVENT_NOTE,$grace1_velo
city,0,-1)
$Amount_helper := ((%Var_8_b_store[$EVENT_NOTE])
* (100 - 5) / (100)) + 5
fade_out ($grace1_id, (5*$grace1_delay_time) * (
$Amount_helper*100/100)/100,1)
if ($grace1_delay_time > 1)
wait ($grace1_delay_time)
end if
end while

{******** GEIGER COUNTER *********}


case 10 {Geiger Counter}
ignore_event($EVENT_ID)
while ($pressed_id = $EVENT_ID and %active_menu_store[$E
VENT_NOTE] = 10)
$Amount_helper := ((%Var_9_a_store[$EVENT_NOTE])
* (98 - 40) / (100)) + 40
{fade out time}
select (%Var_9_b_store[$EVENT_NOTE])
case 0 to 50
$grace3_delay_time := ((%Var_9_b
_store[$EVENT_NOTE]) * (25000 - 10000) / (50)) + 10000
case 51 to 100
$grace3_delay_time := ((%Var_9_b
_store[$EVENT_NOTE] - 50) * (200000 - 25000) / (100 - 50)) + 25000
end select
{** Play 1 **}
{Velocity }
$grace1_velocity := random ($EVENT_VELOCITY, $EV
ENT_VELOCITY + 5)
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
if ($grace1_velocity > 127)
$grace1_velocity := 127
end if
$grace1_id := play_note($EVENT_NOTE,$grace1_velo
city,0,-1)
fade_out ($grace1_id,$grace3_delay_time,1)
{Delay 1}
$grace1_delay_time := (($Amount_helper - 100) *
(900000 - 2000) / (- 100)) + 2000
$random_delay := $grace1_delay_time * (100 * 100
/100)/100
$grace1_delay_time := random($grace1_delay_time
- $random_delay, $grace1_delay_time + $random_delay)
if ($grace1_delay_time > 0)
wait ($grace1_delay_time)
end if
{** Play 2 **}
{Velocity }
$grace2_velocity := random ($EVENT_VELOCITY - 5,
$EVENT_VELOCITY)
if ($grace2_velocity < 1)
$grace2_velocity := 1
end if
if ($grace2_velocity > 127)
$grace2_velocity := 127
end if
$grace2_id := play_note($EVENT_NOTE,$grace2_velo
city,0,-1)
fade_out ($grace2_id,$grace3_delay_time,1)
{Delay 2}
$grace2_delay_time := (($Amount_helper - 100) *
(900000 - 2000) / (- 100)) + 2000
$random_delay := $grace2_delay_time * (100 * 100
/100)/100
$grace2_delay_time := random($grace2_delay_time
- $random_delay, $grace2_delay_time + $random_delay)
if ($grace2_delay_time > 0)
wait ($grace2_delay_time)
end if
end while
{******** HUMANIZE ********}
case 11
ignore_event ($EVENT_ID)
{----Time----}
if (%var_10_c_store[$EVENT_NOTE] < 51)
$Time_amount := ((%var_10_c_store[$EVENT_NOTE])
* (12) / (50))
else
$Time_amount := ((%var_10_c_store[$EVENT_NOTE] -
51) * (47 - 12) / (100 - 51)) + 12
end if
$new_time := random (0,$Time_amount * 1000)
if ($new_time > 1)
wait($new_time)
end if
{----Tune----}
if (%Var_10_b_store[$EVENT_NOTE] < 51)
$new_tune := random (-250,250) * %Var_10_b_store
[$EVENT_NOTE]
else
$Tune_amount := ((%Var_10_b_store[$EVENT_NOTE] -
51) * (1000 - 250) / (100 - 51)) + 250
$new_tune := random (-$Tune_amount,$Tune_amount)
* %Var_10_b_store[$EVENT_NOTE]
end if
{----Volume----}
$new_vol := random (-60,60) * %var_10_d_store[$EVENT_NOT
E]
{----Velocity----}
select (%Var_10_a_store[$EVENT_NOTE])
case 0 to 9
if (random(1,3) = 2)
$new_vel := $EVENT_VELOCITY
+ (random (-%Var_10_a_store[$EVENT_NOTE],%Var_10_a_store[$EVENT_NOTE] / 2))
else
$new_vel := $EVENT_VELOCITY
end if
case 10 to 50
$max_vel_amount := ((%Var_10_a_store[$EV
ENT_NOTE] - 10) * (20 - 10) / (50 - 10)) + 10
$new_vel := $EVENT_VELOCITY + (random (-
$max_vel_amount,$max_vel_amount) * (%Var_10_a_store[$EVENT_NOTE] *100/ 100)/100)
case 51 to 100
$max_vel_amount := ((%Var_10_a_store[$EV
ENT_NOTE] - 51) * (72 - 21) / (100 - 51)) + 21
$new_vel := $EVENT_VELOCITY + (random (-
$max_vel_amount,$max_vel_amount) * (%Var_10_a_store[$EVENT_NOTE] *100/ 100)/100)
end select
{check the velocity range}
if ($new_vel > 127)
$new_vel := 127
end if
if ($new_vel < 1)
$new_vel := 1
end if
{play the humenized note}
$new_event := play_note ($EVENT_NOTE, $new_vel, 0, -1)
change_vol ($new_event, %EVENT_PAR[1] + $new_vol, 1)
change_tune ($new_event, %EVENT_PAR[2] + $new_tune, 1)
end select
end on
on release
if ($active_note = 1000)
exit
end if
select (%active_menu_store[$EVENT_NOTE])
{******** RELEASE STROKE ********}
case 2 {Release Stroke}
{tuning }
if (%Var_1_a_store[$EVENT_NOTE] <= 50)
$Amount_helper := ((%Var_1_a_store[$EVENT_NOTE])
* (100) / (50))
$primary_tune_amount := 60000 * ($Amount_helper*
100/100)/100
else
$Amount_helper := ((%Var_1_a_store[$EVENT_NOTE]
- 51) * (100) / (49))
$random_amount := 30000 * ($Amount_helper*100/10
0)/100
$primary_tune_amount := random (60000 - $random_
amount,60000 + $random_amount)
end if
{velocity }
if (%Var_1_b_store[$EVENT_NOTE] > 50)
$grace1_velocity := $EVENT_VELOCITY + ((127 - $E
VENT_VELOCITY) * (((%Var_1_b_store[$EVENT_NOTE]-50)*2)*100/100)/100)
end if
if (%Var_1_b_store[$EVENT_NOTE] < 50)
$grace1_velocity := $EVENT_VELOCITY - (($EVENT_V
ELOCITY) * (((abs(%Var_1_b_store[$EVENT_NOTE]-50))*2)*100/100)/100)
end if
if (%Var_1_b_store[$EVENT_NOTE] = 50)
$grace1_velocity := $EVENT_VELOCITY
end if
if ($grace1_velocity < 1)
$grace1_velocity := 1
end if
if ($grace1_velocity > 127)
$grace1_velocity := 127
end if
{volume }
$primary_vol_amount := random (1000,5000)
$trigger_length := ($ENGINE_UPTIME - $trigger_time)*1000
+ 1000
{play note}
$primary_id := play_note ($EVENT_NOTE,$grace1_velocity,0
,$trigger_length)
change_vol($primary_id,-$primary_vol_amount,0)
change_tune($primary_id,$primary_tune_amount,0)
{******** BUZZ ********}
case 7
fade_out($primary_id,((%Var_7_b_store[$EVENT_NOTE]) * (1
00000 - 5000) / (100)) + 5000,1)
end select
$pressed_id := 0
end on
on ui_control ($split)
set_text ($lb_Split,!note_names[$Split])
set_control_par_str(get_ui_id($split),$CONTROL_PAR_LABEL,!note_names[$Sp
lit])
$active_note := $Split
$artic_menu := %active_menu_store[$active_note]
$Var_3 := 0
$Var_4 := 0
select ($artic_menu)
case 0
$Var_1 := 0
$Var_2 := 0
case 1
$Var_1 := %var_0_a_store[$active_note]
$Var_2 := %var_0_b_store[$active_note]
case 2
$Var_1 := %var_1_a_store[$active_note]
$Var_2 := %var_1_b_store[$active_note]
case 3
$Var_1 := %var_2_a_store[$active_note]
$Var_2 := %var_2_b_store[$active_note]
case 4
$Var_1 := %var_3_a_store[$active_note]
$Var_2 := %var_3_b_store[$active_note]
case 5
$Var_1 := %var_4_a_store[$active_note]
$Var_2 := %var_4_b_store[$active_note]
case 6
$Var_1 := %var_5_a_store[$active_note]
$Var_2 := %var_5_b_store[$active_note]
case 7
$Var_1 := %var_6_a_store[$active_note]
$Var_2 := %var_6_b_store[$active_note]
case 8
$Var_1 := %var_7_a_store[$active_note]
$Var_2 := %var_7_b_store[$active_note]
case 9
$Var_1 := %var_8_a_store[$active_note]
$Var_2 := %var_8_b_store[$active_note]
case 10
$Var_1 := %var_9_a_store[$active_note]
$Var_2 := %var_9_b_store[$active_note]
case 11
$Var_1 := %var_10_a_store[$active_note]
$Var_2 := %var_10_b_store[$active_note]
$Var_3 := %var_10_c_store[$active_note]
$Var_4 := %var_10_d_store[$active_note]
end select
set_text ($lb_Var_1,!Knob1_names[$artic_menu])
set_text ($lb_Var_2,!Knob2_names[$artic_menu])
set_text ($Var_3,!Knob3_names[$artic_menu])
set_text ($Var_4,!Knob4_names[$artic_menu])
$last_time_2 := $ENGINE_UPTIME
wait($wait_time * 1000)
if($ENGINE_UPTIME - $last_time_2 > $wait_time -5)
set_text ($lb_Split,"Note")
end if
end on
{--REVERB UI CALLBACKS--}
on ui_control ($category_reverb)
$i := 0
while ($i < 9)
if ($i = $category_reverb)
set_control_par(%subcat_menu_id[$i],$CONTROL_PAR_HIDE,$H
IDE_PART_NOTHING)
else
set_control_par(%subcat_menu_id[$i],$CONTROL_PAR_HIDE,$H
IDE_WHOLE_CONTROL)
end if
inc ($i)
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,1)
end on
on ui_control ($hall_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$hall_reverb],$reverb_slot,1)
end on
on ui_control ($cathedral_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$cathedral_reverb],$reverb_slot,1)
end on
on ui_control ($club_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$club_reverb],$reverb_slot,1)
end on
on ui_control ($room_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$room_reverb],$reverb_slot,1)
end on
on ui_control ($l300_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$l300_reverb],$reverb_slot,1)
end on
on ui_control ($quadstick_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$quadstick_reverb],$reverb_slot,1)
end on
on ui_control ($brt7_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$brt7_reverb],$reverb_slot,1)
end on
on ui_control ($plate_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$plate_reverb],$reverb_slot,1)
end on
on ui_control ($cabinet_reverb)
_load_ir_sample(_get_folder($GET_FOLDER_FACTORY_DIR)...
& !ir_path[$cabinet_reverb],$reverb_slot,1)
end on
on ui_control ($wetdry_reverb)
_set_engine_par ($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, $wetdry_reverb, -1
, $reverb_slot, 1)
set_control_par_str(get_ui_id($wetdry_reverb),$CONTROL_PAR_LABEL,get_eng
ine_par_disp($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1,$reverb_slot,1) & " dB")
end on
on ui_control ($on_off_reverb)
_set_engine_par($ENGINE_PAR_EFFECT_BYPASS, (($on_off_reverb + 1) mod 2),
-1, $reverb_slot, 1)
end on
{---EQ CONTROL CALLBACKS---}
on ui_control ($bass_gain_eq)
if($bass_onoff_eq = 1)
set_engine_par($ENGINE_PAR_GAIN1,$bass_gain_eq,-1,$master_eq_slo
t,1)
end if
set_control_par_str(get_ui_id($bass_gain_eq),$CONTROL_PAR_LABEL,get_engi
ne_par_disp($ENGINE_PAR_GAIN1,-1,$master_eq_slot,1) & " dB")
end on
on ui_control ($mid_gain_eq)
if($mid_onoff_eq = 1)
set_engine_par($ENGINE_PAR_GAIN2,$mid_gain_eq,-1,$master_eq_slot
,1)
end if
set_control_par_str(get_ui_id($mid_gain_eq),$CONTROL_PAR_LABEL,get_engin
e_par_disp($ENGINE_PAR_GAIN2,-1,$master_eq_slot,1) & " dB")
end on
on ui_control ($mid_freq_eq)
if($mid_onoff_eq = 1)
_set_engine_par($ENGINE_PAR_FREQ2,$mid_freq_eq,-1,$maste
r_eq_slot,1)
end if
set_control_par_str(get_ui_id($mid_freq_eq),$CONTROL_PAR_LABEL,g
et_engine_par_disp($ENGINE_PAR_FREQ2,-1,$master_eq_slot,1) & " Hz")
end on
on ui_control ($treble_gain_eq)
if($treble_onoff_eq = 1)
set_engine_par($ENGINE_PAR_GAIN3,$treble_gain_eq,-1,$mas
ter_eq_slot,1)
end if
set_control_par_str(get_ui_id($treble_gain_eq),$CONTROL_PAR_LABE
L,get_engine_par_disp($ENGINE_PAR_GAIN3,-1,$master_eq_slot,1) & " dB")
end on
on ui_control ($bass_onoff_eq)
if($bass_onoff_eq = 0)
set_engine_par($ENGINE_PAR_GAIN1,500000,-1,$master_eq_slot,1)
else
set_engine_par($ENGINE_PAR_GAIN1,$bass_gain_eq,-1,$master_eq_slo
t,1)
end if
end on
on ui_control ($mid_onoff_eq)
if($mid_onoff_eq = 0)
set_engine_par($ENGINE_PAR_GAIN2,500000,-1,$master_eq_slot,1)
else
set_engine_par($ENGINE_PAR_GAIN2,$mid_gain_eq,-1,$master_eq_slot
,1)
end if
end on
on ui_control ($treble_onoff_eq)
if($treble_onoff_eq = 0)
set_engine_par($ENGINE_PAR_GAIN3,500000,-1,$master_eq_slot,1)
else
set_engine_par($ENGINE_PAR_GAIN3,$treble_gain_eq,-1,$master_eq_s
lot,1)
end if
end on
{END OF SCRIPT}

You might also like