K4 FactoryLib Band Drums 2

download K4 FactoryLib Band Drums 2

of 44

Transcript of K4 FactoryLib Band Drums 2

  • 7/26/2019 K4 FactoryLib Band Drums 2

    1/44

    {***********************************************Kontakt 4 Factory Libary - InstrumentBand Drums (Pop Drums Variation)Author: Native InstrumentsWritten by: Nicki Marinic, Josef Natterer, Adam Hanley, Dinos VallianatosModified: August 12th, 2009*************************************************}

    on init

    message("")make_perfviewset_ui_height_px(317)

    declare const $ROOT_X := 66declare const $ROOT_Y := 2declare const $GRID_X := 92declare const $GRID_Y := 21

    declare const $FONT_ID := 5 {the font id for all visible labels}declare const $FONT_ID_2 := 4 {the font id for menus}declare const $CREATE_AUTOMATION_ID := 0

    declare $wait_time := 800 {Enter control label wait time}

    declare $last_timedeclare $last_time_1declare $last_time_2

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

    declare $countdeclare $ideclare $j {counter limits for the extra hihat and snare

    roll groups}

    declare !note_class[12]!note_class[0] := "C"!note_class[1] := "Db"!note_class[2] := "D"!note_class[3] := "Eb"!note_class[4] := "E"!note_class[5] := "F"!note_class[6] := "Gb"!note_class[7] := "G"!note_class[8] := "Ab"!note_class[9] := "A"

    !note_class[10] := "Bb"!note_class[11] := "B"

    declare !note_names [128]$count := 0while ($count < 128)

    !note_names[$count] := !note_class[$count mod 12] & (($count/12)-2)

    inc ($count)end while

  • 7/26/2019 K4 FactoryLib Band Drums 2

    2/44

  • 7/26/2019 K4 FactoryLib Band Drums 2

    3/44

    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 settings by incoming notes")

    set_control_help ($note_voicing,"Note: Displays the note number of the selected drum instrument.")

    {Place and Skin Controls}

    move_control_px ($note_voicing,($GRID_X * 4) + 3, ($GRID_Y * 2) + 15)move_control_px ($sel_by_midi,($GRID_X * 4) + 78, ($GRID_Y * 3) + 2)move_control_px ($instr_menu_voicing,($GRID_X * 2) + 58, ($GRID_Y * 3) +

    12)move_control_px ($level_voicing,($GRID_X * 2) + 59, ($GRID_Y * 6) + 19)move_control_px ($pan_voicing,($GRID_X * 3) + 34, ($GRID_Y * 6) + 19)move_control_px ($tune_voicing,($GRID_X * 4) + 10, ($GRID_Y * 6) + 19)

    move_control_px ($sound_voicing,($GRID_X * 4) + 77, ($GRID_Y * 6) + 19)

    set_control_par_str (%voicing_id[0],$CONTROL_PAR_PICTURE,"pv_band_switch_ring_on_off")

    set_control_par (%voicing_id[0],$CONTROL_PAR_HEIGHT, 50)set_control_par (%voicing_id[0],$CONTROL_PAR_WIDTH, 33)

    set_control_par_str (%voicing_id[2],$CONTROL_PAR_PICTURE,"pv_band_knob_big")

    set_control_par (%voicing_id[2],$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

    $count := 3while ($count < 7)

    set_control_par_str (%voicing_id[$count],$CONTROL_PAR_PICTURE,"pv_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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    4/44

    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 := 10while ($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_drums_dropdown")

    set_control_par(%voicing_id[1], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2)set_control_par(%voicing_id[1], $CONTROL_PAR_WIDTH, 105)

    {Set Controls}

    set_control_par(%voicing_id[3], $CONTROL_PAR_DEFAULT_VALUE, 631000)set_control_par(%voicing_id[4], $CONTROL_PAR_DEFAULT_VALUE, 500000)

    set_control_par(%voicing_id[5], $CONTROL_PAR_DEFAULT_VALUE, 500000)

    $note_voicing := 36$sel_by_midi := 1$instr_menu_voicing := $note_voicing - 36$selected_group := $note_voicing - 36

    make_persistent($sel_by_midi)

    $level_voicing := _get_engine_par($ENGINE_PAR_VOLUME,$selected_group,-1,-1)

    $tune_voicing := _get_engine_par($ENGINE_PAR_TUNE,$selected_group,-1,-1)$pan_voicing := _get_engine_par($ENGINE_PAR_PAN,$selected_group,-1,-1)

    {Sound Control Elements}

    declare %soundeqarr[10*10] := (...{0 } 500000,500000,500000, 500000,500000,500000, 500000, 500000,5

    00000,...{1 } 365637, 62500,700000, 620113, 62500,500000, 1000000,1000000,

    0,...{2 } 83984,326172,200195, 405273,128906,589844, 1000000,1000000,18

    1641,...

  • 7/26/2019 K4 FactoryLib Band Drums 2

    5/44

    {3 } 245117,416016,266602, 632813,207031,625977, 862305, 173828,661133,...

    {4 } 515625, 0,704102, 447266, 0,169922, 706055, 0,714844,...

    {5 } 870117,586914,715820, 333008,360352,272461, 856445, 0,192383,...

    {6 } 648438,586914,757813, 266602,360352,165039, 670898, 0,132813,...

    {7 } 376953, 0, 39062, 555664, 0,578125, 796875, 144531,623047,...

    {8 } 172852,660156, 0, 699219, 6836,692383, 407227, 0,778320,...

    {9 } 233398,219727,583984, 533203,250000,355469, 633789, 639648,601563,...

    {10} 137695,357422,362305, 491211,250000,571289, 832031, 417969,463867)

    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_eqdeclare $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)*10declare $index_1declare $index_2

    set_control_par_str(get_ui_id($note_voicing),$CONTROL_PAR_AUTOMATION_NAME,"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_NAME,"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_NAME,"Tune")

    set_control_par_str(get_ui_id($sound_voicing),$CONTROL_PAR_AUTOMATION_NAME,"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 & " %")

  • 7/26/2019 K4 FactoryLib Band Drums 2

    6/44

    {----------VOICING END----------}

    {----------ARTICULATIONS START----------}

    declare const $NUM_ARTIC := 7

    declare ui_slider $type_artic (0,10)declare ui_slider $knob_1_artic (0,100)declare ui_slider $knob_2_artic (0,100)declare ui_label $lb_type_artic (1,1)declare ui_label $lb_knob_1_artic (1,1)declare ui_label $lb_knob_2_artic (1,1)

    declare %artic_id[$NUM_ARTIC]%artic_id[0] := get_ui_id($type_artic)%artic_id[1] := get_ui_id($knob_1_artic)%artic_id[2] := get_ui_id($knob_2_artic)%artic_id[3] := get_ui_id($lb_type_artic)%artic_id[4] := get_ui_id($lb_knob_1_artic)%artic_id[5] := get_ui_id($lb_knob_2_artic)

    move_control_px ($type_artic,($GRID_X * 1) - 48, ($GRID_Y * 2) + 15)move_control_px ($knob_1_artic,($GRID_X * 1) - 41, ($GRID_Y * 6) + 19)

    move_control_px ($knob_2_artic,($GRID_X * 1) + 41,($GRID_Y * 6) + 19)

    set_control_par_str(%artic_id[0],$CONTROL_PAR_PICTURE,"pv_band_knob_big")

    set_control_par(%artic_id[0],$CONTROL_PAR_MOUSE_BEHAVIOUR,-500)

    $count := 1while ($count < 3)

    set_control_par_str(%artic_id[$count],$CONTROL_PAR_PICTURE,"pv_band_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 := 4while ($count < 6)

    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)

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

  • 7/26/2019 K4 FactoryLib Band Drums 2

    7/44

    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 instrument.")

    set_control_help ($knob_1_artic,"Variation 1: Adjusts the selected articulation.")

    set_control_help ($knob_2_artic,"Variation 2: Adjusts the selected articulation.")

    declare !artic_name[11]!artic_name[0] := "OFF"!artic_name[1] := "ALTERNATE"!artic_name[2] := "RELEASE"!artic_name[3] := "FLAM"!artic_name[4] := "DRAG"!artic_name[5] := "RUFF"!artic_name[6] := "ROLL"!artic_name[7] := "BUZZ"!artic_name[8] := "MUTED"

    !artic_name[9] := "SPEED"!artic_name[10] := "GEIGER"

    declare !Knob1_names [11]!Knob1_names[0] := "N/A"!Knob1_names[1] := "DEPTH"!Knob1_names[2] := "VARIATION"!Knob1_names[3] := "SPEED"!Knob1_names[4] := "SPEED"!Knob1_names[5] := "SPEED"!Knob1_names[6] := "SPEED"!Knob1_names[7] := "GRIP"!Knob1_names[8] := "ATTACK"

    !Knob1_names[9] := "SPEED"!Knob1_names[10] := "RADIATION"

    declare !Knob2_names [11]!Knob2_names[0] := "N/A"!Knob2_names[1] := "RANDOM"!Knob2_names[2] := "VELOCITY"!Knob2_names[3] := "DYNAMIC"!Knob2_names[4] := "DYNAMIC"!Knob2_names[5] := "DYNAMIC"!Knob2_names[6] := "DYNAMIC"!Knob2_names[7] := "PRESSURE"!Knob2_names[8] := "DECAY"

    !Knob2_names[9] := "DURATION"!Knob2_names[10] := "DECAY"

    declare %Var_0_a_store[128] := (50)declare %Var_1_a_store[128] := (50)declare %Var_2_a_store[128] := (50)declare %Var_3_a_store[128] := (50)declare %Var_4_a_store[128] := (50)declare %Var_5_a_store[128] := (50)declare %Var_6_a_store[128] := (50)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    8/44

    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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    9/44

    _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 := 0while($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_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_vo

    icing)$knob_2_artic := _pgs_get_key_val(VAR_1_B_STORE,$note_vo

    icing)case 3

  • 7/26/2019 K4 FactoryLib Band Drums 2

    10/44

    $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_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_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_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_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_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_voicing)

    $knob_2_artic := _pgs_get_key_val(VAR_9_B_STORE,$note_voicing)end selectset_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_NAME,"Art 1")

    set_control_par_str(get_ui_id($knob_2_artic),$CONTROL_PAR_AUTOMATION_NAME,"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_name[$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_

  • 7/26/2019 K4 FactoryLib Band Drums 2

    11/44

  • 7/26/2019 K4 FactoryLib Band Drums 2

    12/44

    $attack_env := _get_engine_par($ENGINE_PAR_ATTACK,$selected_group,$env_idx,-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,"Hold")

    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_par_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 := 4declare const $send_slot := 7

    declare ui_slider $reverb_send (0,1000000)declare ui_slider $delay_send (0,1000000)declare ui_label $lb_reverb_send (1,1)declare ui_label $lb_delay_send (1,1)

    declare %send_id[$NUM_SEND]%send_id[0] := get_ui_id($reverb_send)%send_id[1] := get_ui_id($delay_send)

    %send_id[2] := get_ui_id($lb_reverb_send)%send_id[3] := get_ui_id($lb_delay_send)

    set_text($lb_reverb_send, "REVERB")set_text($lb_delay_send, "DELAY")

    move_control_px($reverb_send,($GRID_X * 5) + 89,($GRID_Y * 3) + 6)move_control_px($delay_send,($GRID_X * 5) + 89,($GRID_Y * 6) + 19)

    $count := 0while($count

  • 7/26/2019 K4 FactoryLib Band Drums 2

    13/44

    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_AUTOMATION_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_engine_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 grid}

    declare $x_px_bandfx := 80 {X Position Offset Control Group in pixel}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 used in this instrument group}

    declare const $NUM_BANDFX := 42 {number of elements in this control group}

    declare ui_label $backgr_bandfx (1,1)

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

  • 7/26/2019 K4 FactoryLib Band Drums 2

    14/44

    declare ui_label $lb_delay_amount_bandfx (1,1)declare ui_label $lb_eq_onoff_bandfx (1,1)declare ui_label $lb_eq_lo_bandfx (1,1)declare ui_label $lb_eq_mid_bandfx (1,1)declare ui_label $lb_eq_hi_bandfx (1,1)declare ui_slider $rev_amount_bandfx (0, 1000000)declare ui_slider $delay_feedback_bandfx (0, 1000000)declare ui_slider $delay_time_bandfx (0, 1000000)declare ui_slider $delay_amount_bandfx (0, 1000000)

    declare ui_slider $eq_lo_bandfx (166666, 833333)declare ui_slider $eq_mid_bandfx (166666, 833333)declare ui_slider $eq_hi_bandfx (166666, 833333)

    declare ui_button $rev_bandfxdeclare ui_button $delay_bandfxdeclare ui_button $eq_bandfxdeclare ui_switch $rev_onoff_bandfxdeclare ui_switch $delay_onoff_bandfxdeclare ui_switch $eq_onoff_bandfxdeclare ui_menu $category_reverbdeclare ui_label $eq_background_bandfx (1,1)declare ui_label $bandfx_bg_bandfx (1,1)

    {reverb functionality}declare ui_menu $hall_reverbdeclare ui_menu $cathedral_reverbdeclare ui_menu $club_reverbdeclare ui_menu $room_reverbdeclare ui_menu $l300_reverbdeclare ui_menu $quadstick_reverbdeclare ui_menu $brt7_reverbdeclare ui_menu $plate_reverbdeclare 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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    15/44

    end while

    set_control_par_str(get_ui_id($image_reverb),$CONTROL_PAR_PICTURE,"pv_band_reverb_animation")

    {Fill the menus}add_menu_item($category_reverb, "CONCERT HALL", 0)add_menu_item($category_reverb, "CATHEDRAL", 1)add_menu_item($category_reverb, "CLUB", 2)add_menu_item($category_reverb, "ROOM", 3)add_menu_item($category_reverb, "L300", 4)add_menu_item($category_reverb, "QUADSTICK", 6)add_menu_item($category_reverb, "BRT 7", 7)add_menu_item($category_reverb, "PLATE", 5)add_menu_item($category_reverb, "CABINET", 8)

    declare !ir_path[68]!ir_path[0] := "presets/effects/convolution//K4 IR

    Samples/Concert Hall A.wav"!ir_path[1] := "presets/effects/convolution//K4 IR

    Samples/Concert Hall B.wav"!ir_path[2] := "presets/effects/convolution//K4 IR

    Samples/Exhibition Hall.wav"!ir_path[3] := "presets/effects/convolution//K4 IR

    Samples/Cathedral A.wav"!ir_path[4] := "presets/effects/convolution//K4 IRSamples/Cathedral B.wav"

    !ir_path[5] := "presets/effects/convolution/10 Big Rooms/IR Samples/ndb_cathedral_ir_32bit.wav"

    !ir_path[6] := "presets/effects/convolution//K4 IRSamples/Club A.wav"

    !ir_path[7] := "presets/effects/convolution//K4 IRSamples/Club B.wav"

    !ir_path[8] := "presets/effects/convolution//K4 IRSamples/Tavern Close.wav"

    !ir_path[9] := "presets/effects/convolution//K4 IRSamples/Tavern Near.wav"

    !ir_path[10] := "presets/effects/convolution//K4 IR Samples/Tavern Medium.wav"!ir_path[11] := "presets/effects/convolution//K4 I

    R Samples/Tavern Far.wav"!ir_path[12] := "presets/effects/convolution//K4 I

    R Samples/Auditorium A.wav"!ir_path[13] := "presets/effects/convolution//K4 I

    R Samples/Auditorium B.wav"!ir_path[14] := "presets/effects/convolution//K4 I

    R Samples/Chamber A.wav"!ir_path[15] := "presets/effects/convolution//K4 I

    R Samples/Chamber B.wav"!ir_path[16] := "presets/effects/convolution//K4 I

    R Samples/Rehearsal Room.wav"!ir_path[17] := "presets/effects/convolution//K4 I

    R Samples/Hard Wood Room B.wav"!ir_path[18] := "presets/effects/convolution//K4 I

    R Samples/Music Studio C.wav"!ir_path[19] := "presets/effects/convolution//K4 I

    R Samples/Small Room A.wav"!ir_path[20] := "presets/effects/convolution//K4 I

    R Samples/Small Room B.wav"!ir_path[21] := "presets/effects/convolution//K4 I

  • 7/26/2019 K4 FactoryLib Band Drums 2

    16/44

    R Samples/L300 Large Hall.wav"!ir_path[22] := "presets/effects/convolution//K4 I

    R Samples/L300 Gated Hall.wav"!ir_path[23] := "presets/effects/convolution//K4 I

    R Samples/L300 Large Room.wav"!ir_path[24] := "presets/effects/convolution//K4 I

    R Samples/L300 Large Chamber.wav"!ir_path[25] := "presets/effects/convolution//K4 I

    R Samples/L300 Studio C.wav"!ir_path[26] := "presets/effects/convolution//K4 I

    R Samples/L300 Contem-Plate.wav"!ir_path[27] := "presets/effects/convolution//K4 I

    R Samples/L300 Space & Echoes.wav"!ir_path[28] := "presets/effects/convolution//K4 I

    R Samples/L300 Medium Stop.wav"!ir_path[29] := "presets/effects/convolution//K4 I

    R Samples/L300 Drum Cave.wav"!ir_path[30] := "presets/effects/convolution//K4 I

    R Samples/L300 Large Ambience.wav"!ir_path[31] := "presets/effects/convolution//K4 I

    R Samples/L300 Smooth Ambience.wav"!ir_path[32] := "presets/effects/convolution//K4 I

    R Samples/L300 Ambience Wave.wav"!ir_path[33] := "presets/effects/convolution//K4 I

    R Samples/L300 Le Gate.wav"!ir_path[34] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - Basic.wav"

    !ir_path[35] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - Disco.wav"

    !ir_path[36] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - Funk.wav"

    !ir_path[37] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - Funky Club.wav"

    !ir_path[38] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - Hip Hop.wav"

    !ir_path[39] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - Reggae Modern.wav"

    !ir_path[40] := "presets/effects/convolution//K4 IR Samples/Quadstick Small - RnB Neptunes.wav"!ir_path[41] := "presets/effects/convolution//K4 I

    R Samples/Quadstick Small - RnB Today 1.wav"!ir_path[42] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Ambience Large A.wav"!ir_path[43] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Ambience Small.wav"!ir_path[44] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Chamber Small.wav"!ir_path[45] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Chamber Vocal.wav"!ir_path[46] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Hall Dense.wav"!ir_path[47] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Location Chapel A.wav"!ir_path[48] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Plate Snare.wav"!ir_path[49] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Room Drum.wav"!ir_path[50] := "presets/effects/convolution//K4 I

    R Samples/BRT 7 Room Wood.wav"!ir_path[51] := "presets/effects/convolution//K4 I

  • 7/26/2019 K4 FactoryLib Band Drums 2

    17/44

    R Samples/BRT 7 Location Cineastic Room.wav"!ir_path[52] := "presets/effects/convolution//K4 I

    R Samples/E245 0.5s A.wav"!ir_path[53] := "presets/effects/convolution//K4 I

    R Samples/E245 1.0s A.wav"!ir_path[54] := "presets/effects/convolution//K4 I

    R Samples/E245 1.4s A.wav"!ir_path[55] := "presets/effects/convolution//K4 I

    R Samples/E245 2.1s A.wav"!ir_path[56] := "presets/effects/convolution//K4 I

    R Samples/E245 4.5s A.wav"!ir_path[57] := "presets/effects/convolution//K4 I

    R Samples/E252 0.6s.wav"!ir_path[58] := "presets/effects/convolution//K4 I

    R Samples/E252 1.0s.wav"!ir_path[59] := "presets/effects/convolution//K4 I

    R Samples/E252 1.8s.wav"!ir_path[60] := "presets/effects/convolution//K4 I

    R Samples/E252 3.0s.wav"!ir_path[61] := "presets/effects/convolution//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 212/IR Samples/Tweed_212_Tube_Center.wav"

    !ir_path[65] := "presets/effects/convolution/17 Cabinets/Tweed 410/IR Samples/Tweed_410_Tube_Center.wav"

    !ir_path[66] := "presets/effects/convolution/17 Cabinets/Rock 412/IR Samples/Rock_412_Tube_Center.wav"

    !ir_path[67] := "presets/effects/convolution/17 Cabinets/Modern412/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"

  • 7/26/2019 K4 FactoryLib Band Drums 2

    18/44

    !ir_type[24] := "LRG CHAMBER"!ir_type[25] := "STUDIO C"!ir_type[26] := "PLATE"!ir_type[27] := "ECHOES"!ir_type[28] := "MEDIUM STOP"!ir_type[29] := "DRUM CAVE"!ir_type[30] := "LARGE AMBI"!ir_type[31] := "SMOOTH AMBI"!ir_type[32] := "AMBI WAVE"!ir_type[33] := "LE GATE"!ir_type[34] := "BASIC"!ir_type[35] := "DISCO"!ir_type[36] := "FUNK"!ir_type[37] := "FUNKY CLUB"!ir_type[38] := "HIP HOP"!ir_type[39] := "REGGAE MOD"!ir_type[40] := "RNB NEPTUNES"!ir_type[41] := "RNB TODAY"!ir_type[42] := "LARGE AMBI"!ir_type[43] := "SMALL AMBI"!ir_type[44] := "SML CHAMBER"!ir_type[45] := "VOC CHAMBER"!ir_type[46] := "DENSE HALL"!ir_type[47] := "CHAPEL"

    !ir_type[48] := "SNARE PLATE"!ir_type[49] := "DRUM ROOM"!ir_type[50] := "WOOD ROOM"!ir_type[51] := "CINEASTIC"!ir_type[52] := "E245 0.5s"!ir_type[53] := "E245 1.0s"!ir_type[54] := "E245 1.4s"!ir_type[55] := "E245 2.1s"!ir_type[56] := "E245 4.5s"!ir_type[57] := "E252 0.6s"!ir_type[58] := "E252 1.0s"!ir_type[59] := "E252 1.8s"!ir_type[60] := "E252 3.0s"

    !ir_type[61] := "E252 4.5s"!ir_type[62] := "BRIT 2x12"!ir_type[63] := "TWEED 1x12"!ir_type[64] := "TWEED 2x12"!ir_type[65] := "TWEED 4x10"!ir_type[66] := "ROCK 4x12"!ir_type[67] := "MODERN 4x12"

    $count := 0while ($count < 68)

    if ($count < 3)add_menu_item($hall_reverb,!ir_type[$count],$cou

    nt)

    elseif ($count < 6)

    add_menu_item($cathedral_reverb,!ir_type[$count],$count)

    elseif ($count < 14)

    add_menu_item($club_reverb,!ir_type[$count],$count)

    elseif ($count < 21)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    19/44

    add_menu_item($room_reverb,!ir_type[$count],$count)

    elseif ($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 ($count < 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 ifend if

    end ifend if

    end ifend if

    end ifend ifinc ($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 := 0while ($count < 9)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    20/44

    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 ifinc ($count)

    end while

    set_control_par(get_ui_id($image_reverb),$CONTROL_PAR_PICTURE_STATE,$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}

  • 7/26/2019 K4 FactoryLib Band Drums 2

    21/44

    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, ($GRID_Y * 2) + 9)

    move_control_px($lb_delay_amount_bandfx, ($GRID_X * 3) + 90, ($GRID_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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    22/44

    move_control_px($eq_background_bandfx, ($GRID_X * 2) + 75, ($GRID_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, 500000)

    set_control_par(%bandfx_id[21], $CONTROL_PAR_DEFAULT_VALUE, 500000)

    set_control_par(%bandfx_id[22], $CONTROL_PAR_DEFAULT_VALUE, 500000)

    $rev_amount_bandfx := _get_engine_par ($ENGINE_PAR_SEND_EFFECT_OUTPUT_GAIN, -1, $reverb_slot, 0)

    $delay_feedback_bandfx := _get_engine_par ($ENGINE_PAR_DL_FEEDBACK, -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_slot, 1)

    $eq_mid_bandfx := _get_engine_par($ENGINE_PAR_GAIN2, -1, $meq_slot, 1)$eq_hi_bandfx := _get_engine_par($ENGINE_PAR_GAIN3, -1, $meq_slo

    t, 1)$rev_onoff_bandfx := (_get_engine_par($ENGINE_PAR_SEND_EFFECT_BY

    PASS, -1, $reverb_slot, 0) + 1) mod 2$delay_onoff_bandfx := (_get_engine_par($ENGINE_PAR_SEND_EFFECT_

    BYPASS, -1, $delay_slot, 0) + 1) mod 2$eq_onoff_bandfx := (_get_engine_par($ENGINE_PAR_SEND_EFFECT_BYP

    ASS, -1, $meq_slot, 1) + 1) mod 2

    set_control_par_str(%bandfx_id[0], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[1], $CONTROL_PAR_TEXT, "")

    set_control_par_str(%bandfx_id[2], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[3], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[4], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[5], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[6], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[7], $CONTROL_PAR_TEXT, "AMOUNT")set_control_par_str(%bandfx_id[8], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[9], $CONTROL_PAR_TEXT, "FEEDBACK"

    )set_control_par_str(%bandfx_id[10], $CONTROL_PAR_TEXT, "TIME")set_control_par_str(%bandfx_id[11], $CONTROL_PAR_TEXT, "AMOUNT")set_control_par_str(%bandfx_id[12], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[13], $CONTROL_PAR_TEXT, "BASS")

    set_control_par_str(%bandfx_id[14], $CONTROL_PAR_TEXT, "MID")set_control_par_str(%bandfx_id[15], $CONTROL_PAR_TEXT, "TREBLE")set_control_par_str(%bandfx_id[16], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[31], $CONTROL_PAR_TEXT, "")set_control_par_str(%bandfx_id[32], $CONTROL_PAR_TEXT, "")

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

    set_control_par(%bandfx_id[0], $CONTROL_PAR_HEIGHT, ($GRID_Y * 8

  • 7/26/2019 K4 FactoryLib Band Drums 2

    23/44

  • 7/26/2019 K4 FactoryLib Band Drums 2

    24/44

    end while

    $count := 26while ($count < 29)

    set_control_par_str(%bandfx_id[$count], $CONTROL_PAR_PICTURE, "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_TEXT, "")

    inc($count)end while

    set_control_par_str(%bandfx_id[30], $CONTROL_PAR_PICTURE, "pv_band_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 := 13while ($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 whileset_control_par(%bandfx_id[31], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C

    ONTROL)

    {Other}

    $count := 0while ($count < $NUM_bandfx)

    if ($count # 29)

    set_control_par (%bandfx_id[$count],$CONTROL_PAR_POS_X,get_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,get_control_par(%bandfx_id[$count],$CONTROL_PAR_POS_Y)...

    +$ROOT_Y + ($y_grid_bandfx - 2)*$GRID_Y + $y_px_bandfx)end ifinc($count)

    end while

  • 7/26/2019 K4 FactoryLib Band Drums 2

    25/44

    set_control_par_str(get_ui_id($rev_onoff_bandfx),$CONTROL_PAR_AUTOMATION_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_AUTOMATION_NAME,"EQ")

    set_control_par_str(get_ui_id($rev_amount_bandfx),$CONTROL_PAR_AUTOMATION_NAME,"Rvb Rt")

    set_control_par_str(get_ui_id($delay_feedback_bandfx),$CONTROL_PAR_AUTOMATION_NAME,"Del Fb")

    set_control_par_str(get_ui_id($delay_time_bandfx),$CONTROL_PAR_AUTOMATION_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_AUTOMATION_NAME,"Lo EQ")

    set_control_par_str(get_ui_id($eq_mid_bandfx),$CONTROL_PAR_AUTOMATION_NAME,"Mid EQ")

    set_control_par_str(get_ui_id($eq_hi_bandfx),$CONTROL_PAR_AUTOMATION_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_LABEL,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 envelopeattack time for the selected instrument.")

    set_control_help ($hold_env,"Hold: Sets the volume envelope holdtime 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 theamount of signal sent from the selected instrument to the master reverb effect.")

    set_control_help ($delay_send, "Delay Send Level: Controls the amount of signal sent from the selected instrument to the master delay effect.")

    set_control_help($rev_bandfx, "Reverb: Displays the controls forthe reverb effect.")

  • 7/26/2019 K4 FactoryLib Band Drums 2

    26/44

    set_control_help($delay_bandfx, "Delay: Displays the controls for the delay send effect.")

    set_control_help($eq_bandfx, "EQ: Displays the controls for themaster equalizer.")

    set_control_help ($rev_amount_bandfx, "Reverb Return: Sets the output volume of the reverb send effect.")

    set_control_help ($delay_feedback_bandfx, "Delay Feedback: Controls the amount of signal from the delay effect output that is fed back into thedelay effect input.")

    set_control_help ($delay_time_bandfx, "Delay Time: Sets the amount of time between the original input and the delayed output signal.")

    set_control_help ($delay_amount_bandfx, "Reverb Return: Sets theoutput volume of the delay send effect.")

    set_control_help ($eq_lo_bandfx, "EQ Low Gain: Controls the gainof the master output's lower frequencies.")

    set_control_help ($eq_mid_bandfx, "EQ Mid Gain: Controls the gain of the master output's mid frequencies.")

    set_control_help ($eq_hi_bandfx, "EQ High Gain: Controls the gain of the master output's higher frequencies.")

    set_control_help ($rev_onoff_bandfx, "Reverb On/Off: Turns the reverb send effect on or off.")

    set_control_help ($delay_onoff_bandfx, "Delay On/Off: Turns thedelay 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: Selecta category from which you can choose a specific impulse response from the seconddropdown menu.")

    set_control_help ($hall_reverb, "Concert Hall: Impulse responsesin this category are capured from real spaces and represent a variety of largeperformance spaces.")

    set_control_help ($cathedral_reverb, "Cathedral: A mix of real and modelled spaces that offer large and dense reverb tails.")

    set_control_help ($club_reverb, "Club: Impulse responses in thiscategory are capured from real spaces and represent a variety of small performance spaces.")

    set_control_help ($room_reverb, "Room: Impulse responses in thiscategory are capured from real spaces and cover a variety of smaller rooms.")

    set_control_help ($l300_reverb, "L300: Impulse responses taken from the classic studio digital reverb.")

    set_control_help ($plate_reverb, "Plate: Impulse responses fromclassic plate reverb effect units.")

    set_control_help ($quadstick_reverb, "Quadstick: Impulse responses taken from the classic studio digital reverb.")

    set_control_help ($brt7_reverb, "BRT 7: Impulse responses takenfrom the classic studio digital reverb.")

    set_control_help ($cabinet_reverb, "Cabinet: Impulse responses of several cabinet types.")

    if ($CREATE_AUTOMATION_ID = 1)$count := 16

    set_control_par(get_ui_id($type_artic),$CONTROL_PAR_AUTOMATION_ID,1)

    set_control_par(get_ui_id($knob_1_artic),$CONTROL_PAR_AUTOMATION

  • 7/26/2019 K4 FactoryLib Band Drums 2

    27/44

    _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_AUTOMATION_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_ID,5)

    set_control_par(get_ui_id($attack_env),$CONTROL_PAR_AUTOMATION_ID,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_AUTOMATION_ID,13)

    set_control_par(get_ui_id($eq_onoff_bandfx),$CONTROL_PAR_AUTOMATION_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_AUTOMATION_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_AUTOMATION_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_AUTOMATION_ID,$count)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    28/44

    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_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_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_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_vo

  • 7/26/2019 K4 FactoryLib Band Drums 2

    29/44

    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_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_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_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_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_names[$note_voicing])

    $last_time_1 := $ENGINE_UPTIMEwait($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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_VOLUME,$level_voicing,$count,-1,-1)

    inc($count)end while

    end if

  • 7/26/2019 K4 FactoryLib Band Drums 2

    30/44

    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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_PAN,$pan_voicing,$count,-1,-1)

    inc($count)end while

    end ifend 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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    31/44

    $attack_env := _get_engine_par($ENGINE_PAR_ATTACK,$selected_group,$env_idx,-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_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_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_voicing)$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_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_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_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_vo

    icing)$knob_2_artic := _pgs_get_key_val(VAR_8_B_STORE,$note_vo

  • 7/26/2019 K4 FactoryLib Band Drums 2

    32/44

    icing)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 selectset_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_UPTIMEwait($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 ifend 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*10if ($index_2 > 10)

    $index_2 := 10end ifset_control_par_str(get_ui_id($sound_voicing),$CONTROL_PAR_LABEL,$sound_

    voicing & " %")$a_eq := 0while($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,$sound_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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($count < $j)

    _set_engine_par(%engine_par[$a_eq],$helper_eq,$count,-1,-1)

    inc($count)end while

    end if

    inc($a_eq)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    33/44

    end whileend on

    {VOICING UI CALLBACKS END}

    on noteif (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,

  • 7/26/2019 K4 FactoryLib Band Drums 2

    34/44

    $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_articselect ($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_vo

    icing)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_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_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_vo

    icing)$knob_2_artic := _pgs_get_key_val(VAR_4_B_STORE,$note_vo

  • 7/26/2019 K4 FactoryLib Band Drums 2

    35/44

    icing)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_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_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_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_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])set_text($lb_type_artic,!artic_name[$type_artic])

    set_control_par_str(get_ui_id($type_artic),$CONTROL_PAR_LABEL,!artic_name[$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_UPTIMEwait($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

  • 7/26/2019 K4 FactoryLib Band Drums 2

    36/44

    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_artic)

    %var_9_a_store[$note_voicing] := $knob_1_articend selectset_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_articcase 2

    _pgs_set_key_val(VAR_1_B_STORE,$note_voicing,$knob_2_artic)

    %var_1_b_store[$note_voicing] := $knob_2_articcase 3

    _pgs_set_key_val(VAR_2_B_STORE,$note_voicing,$knob_2_artic)

    %var_2_b_store[$note_voicing] := $knob_2_articcase 4

    _pgs_set_key_val(VAR_3_B_STORE,$note_voicing,$knob_2_artic)

    %var_3_b_store[$note_voicing] := $knob_2_articcase 5

    _pgs_set_key_val(VAR_4_B_STORE,$note_voicing,$knob_2_artic)

    %var_4_b_store[$note_voicing] := $knob_2_articcase 6

    _pgs_set_key_val(VAR_5_B_STORE,$note_voicing,$knob_2_artic)

    %var_5_b_store[$note_voicing] := $knob_2_articcase 7

  • 7/26/2019 K4 FactoryLib Band Drums 2

    37/44

    _pgs_set_key_val(VAR_6_B_STORE,$note_voicing,$knob_2_artic)

    %var_6_b_store[$note_voicing] := $knob_2_articcase 8

    _pgs_set_key_val(VAR_7_B_STORE,$note_voicing,$knob_2_artic)

    %var_7_b_store[$note_voicing] := $knob_2_articcase 9

    _pgs_set_key_val(VAR_8_B_STORE,$note_voicing,$knob_2_artic)

    %var_8_b_store[$note_voicing] := $knob_2_articcase 10

    _pgs_set_key_val(VAR_9_B_STORE,$note_voicing,$knob_2_artic)

    %var_9_b_store[$note_voicing] := $knob_2_articend 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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_ATTACK,$attack_env,$count,$env_idx,-1)

    inc($count)end while

    end ifend 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 := 58if ($selected_group = 12)

    $i := 48

  • 7/26/2019 K4 FactoryLib Band Drums 2

    38/44

    $j := 50end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_HOLD,$hold_env,$count,$env_idx,-1)

    inc($count)end while

    end ifend 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 := 58if ($selected_group = 12)

    $i := 48$j := 50end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_DECAY,$decay_env,$count,$env_idx,-1)

    inc($count)end while

    end ifend on

    on ui_control($reverb_send)

    _set_engine_par($ENGINE_PAR_SENDLEVEL_0,$reverb_send,$selected_group,$send_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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_SENDLEVEL_0,$reverb_send,$count,$send_slot,-1)

    inc($count)end while

    end ifend on

  • 7/26/2019 K4 FactoryLib Band Drums 2

    39/44

    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 := 58if ($selected_group = 12)

    $i := 48$j := 50

    end if$count := $iwhile ($count < $j)

    _set_engine_par($ENGINE_PAR_SENDLEVEL_1,$delay_send,$count,$send_slot,-1)

    inc($count)end while

    end ifend on

    {*** CONTROL GROUP "BANDFX" UI_CONTROL CALLBACKS}on ui_control ($rev_bandfx)if ($rev_bandfx = 0)

    $rev_bandfx := 1else

    $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_NOTHING)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

  • 7/26/2019 K4 FactoryLib Band Drums 2

    40/44

    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 := 0while ($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 ifinc ($count)

    end whileend if

    end on

    on ui_control ($delay_bandfx)

    if ($delay_bandfx = 0)$delay_bandfx := 1else

    $rev_bandfx := 0$eq_bandfx := 0

    set_control_par(%bandfx_id[7], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[8], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[16], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[30], $CONTROL_PAR_HIDE, $HIDE_WHOLE_C

    ONTROL) set_control_par(%bandfx_id[32], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    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

  • 7/26/2019 K4 FactoryLib Band Drums 2

    41/44

    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 := 0while ($count < 9)

    set_control_par(%subcat_menu_id[$count],$CONTROL_PAR_HIDE,$HIDE_WHOLE_CONTROL)

    inc ($count)end while

    end ifend on

    on ui_control ($eq_bandfx)if ($eq_bandfx = 0)

    $eq_bandfx := 1else

    $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_CONTROL)

    set_control_par(%bandfx_id[16], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[30], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[32], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[9], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[10], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

    set_control_par(%bandfx_id[11], $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    42/44

    $count := 0while ($count < 9)

    set_control_par(%subcat_menu_id[$count],$CONTROL_PAR_HIDE,$HIDE_WHOLE_CONTROL)

    inc ($count)end while

    end ifend 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 := 0while ($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_HIDE,$HIDE_WHOLE_CONTROL)end ifinc ($count)

    end while

    set_control_par(get_ui_id($image_reverb),$CONTROL_PAR_PICTURE_STATE,$category_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

  • 7/26/2019 K4 FactoryLib Band Drums 2

    43/44

    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) & " dB")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)

  • 7/26/2019 K4 FactoryLib Band Drums 2

    44/44

    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) mod2), -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}