{*********************************************** Kontakt 4 Factory Libary - Instrument Urban Beats Groovebox Author: Native Instruments Written by: Nicki Marinic, Josef Natterer, Dinos Vallianatos Modified: September 10th, 2009 *************************************************} on init message("") make_perfview set_ui_height_px(318) _set_skin_offset(822) set_script_title("Groovebox (C4 - B4)") declare $wait_time := 800 {Enter control label wait time} declare $last_time declare $count declare const $ROOT_X := 66 declare const $ROOT_Y := 2 declare const $GRID_X := 92 declare const $GRID_Y := 21 declare const $FONT_ID := 13 {the font id for all visible labels, dropdowns & inactive tabs} declare const $FONT_ID_2 := 14 {the font id for inactive buttons} declare const $FONT_ID_3 := 15 {the font id for active buttons} declare const $FONT_ID_4 := 12 {the font id for active tabs} declare const $CREATE_AUTOMATION_ID := 0 {Track Button Stuff} declare $selected_track {the currently selected track, from zero to 7} make_persistent($selected_track) read_persistent_var($selected_track) declare ui_button $track_1_button declare ui_button $track_2_button declare ui_button $track_3_button declare ui_button $track_4_button declare ui_button $track_5_button declare ui_button $track_6_button declare ui_button $track_7_button declare ui_button $track_8_button declare %track_button_id[12] %track_button_id[0] := get_ui_id ($track_1_button) %track_button_id[1] := get_ui_id ($track_2_button) %track_button_id[2] := get_ui_id ($track_3_button) %track_button_id[3] := get_ui_id ($track_4_button) %track_button_id[4] := get_ui_id ($track_5_button) %track_button_id[5] := get_ui_id ($track_6_button) %track_button_id[6] := get_ui_id ($track_7_button) %track_button_id[7] := get_ui_id ($track_8_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_WIDTH,65) set_control_par(%track_button_id[$count],$CONTROL_PAR_POS_Y,285) set_control_par(%track_button_id[$count],$CONTROL_PAR_TEXTPOS_Y,2) set_control_par_str(%track_button_id[$count],$CONTROL_PAR_TEXT,"TRACK " & $count+1&" ") set_control_par(%track_button_id[$count],$CONTROL_PAR_TEXT_ALIGNMENT,1) set_control_par_str(%track_button_id[$count],$CONTROL_PAR_PICTURE, "pv_urban_gbox_tab") set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) if ($count < 4) set_control_par(%track_button_id[$count],$CONTROL_PAR_POS_X,47+($count*67)) else set_control_par(%track_button_id[$count],$CONTROL_PAR_POS_X,48+($count*67)) end if inc($count) end while set_control_par(%track_button_id[$selected_track], $CONTROL_PAR_VALUE, 1) set_control_par(%track_button_id[$selected_track], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) {END Track Button Stuff} declare ui_menu $pattern_edit_menu set_control_par(get_ui_id($pattern_edit_menu), $CONTROL_PAR_WIDTH, 72) add_menu_item ($pattern_edit_menu, "Edit...",100) add_menu_item ($pattern_edit_menu, "--------------",99) add_menu_item ($pattern_edit_menu, "Copy Pattern",1) add_menu_item ($pattern_edit_menu, "Paste Pattern",2) add_menu_item ($pattern_edit_menu, "Clear Pattern",3) add_menu_item ($pattern_edit_menu, "--------------",99) add_menu_item ($pattern_edit_menu, "Copy Pattern to all Patterns",4) declare const $NIX := 0 declare const $QUARTER := 2 declare const $QUANT_REMIX := 8 declare %Remix_arr_1[512] := (... 1, 2, 3, 4, 5, 6, 7, 8, 25,26,27,28, 29,30,31,32, 17,18,19,20, 21,22,23,24, 9,10,11,12, 13,14,15,16,... 25,26,27,28, 29,30,31,32, 17,18,19,20, 21,22,23,24, 9,10,11,12, 13,14,15,16, 1, 2, 3, 4, 5, 6, 7, 8, ... 1, 2, 3, 4, 25,26,27,28, 29,30,31,32, 5, 6, 7, 8, 9,10,11,12, 13,14,15,16, 17,18,19,20, 21,22,23,24, ... 9,10,11,12, 13,14,15,16, 1, 2, 3, 4, 5, 6, 7, 8, 25,26,27,28, 29,30,31,32, 17,18,19,20, 21,22,23,24, ... 17,18,19,20, 21,22,23,24, 9,10,11,12, 13,14,15,16, 1, 2, 3, 4, 5, 6, 7, 8, 25,26,27,28, 29,30,31,32,... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,... 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,... 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 5, 6, 7, 8,... 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4,... 1, 2, 1, 2, 5, 6, 5, 6, 9,10,9,10, 13,14,13,14, 17,18,17,18, 21,22,21,22, 25,26,25,26, 29,30,19,30,... 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1,... 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4,... 5, 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 13,14,15,16, 17,18,19,20, 21,22,23,24, 17,18,19,20, 21,22,23,24,... 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 5, 6, 7, 8,... 4, 3, 2, 1, 5, 6, 7, 8, 12,11,10,9, 13,14,15,16, 20,19,18,17, 21,22,23,24, 28,27,26,25, 29,30,31,32,... 5, 6, 7, 8, 1, 2, 3, 4, 13,14,15,16, 9,10,11,12, 21,22,23,24, 17,18,19,20, 29,30,31,32, 25,26,27,28) declare %Remix_arr_2[512] := (... 9, 2, 3, 4, 5, 6, 7, 8, 1, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 1, 10, 11, 12, 13, 14, 15, 16,... 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8,... 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8,... 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6,27,28, 29,30,31,32,... 5, 3, 2, 1, 5, 6, 7, 8, 5,10,11,12 , 13,14,15,16, 1,19,18,17, 21,22,23,24, 1,27,26,25, 29,30,31,32,... 9,10,11,12, 1, 2, 3, 4, 5, 6, 7, 8, 13,14,15,16, 25,26,27,28, 17,18,19,20, 21,22,23,24, 29,30,31,32,... 17,18,19,20, 5, 6, 7, 8, 17,18,19,20, 13,14,15,16, 1, 2, 3, 4, 21,22,23,24, 1, 2, 3, 4, 29,30,31,32,... 29,30,31,32, 25,26,27,28, 21,22,23,24, 17,18,19,20, 13,14,15,16, 9,10,11,12, 5, 6, 7, 8, 1, 2, 3, 4,... 1, 1, 1, 1, 5, 5, 5, 5, 9, 9, 9, 9, 13, 13, 13, 13, 17, 17, 17, 17, 21, 21, 21, 21, 25, 25, 25, 25, 29, 29, 29, 29,... 1, 2, 7, 8, 1, 2, 5, 6, 9,10,15,16, 9,10,13,14, 17,18,23,24, 17,18,21,22, 25,26,31,32, 25,26,29,30,... 9,10,11,12, 13,14,15,16, 17,18,19,20, 21,22,23,24, 1, 2, 3, 4, 5, 6, 7, 8, 25,26,27,28, 29,30,31,32,... 17, 2, 19, 4, 17, 6, 19, 8, 17,10,19,12, 17,14,19,16, 1,18,3,20, 1,22,3,24, 1,26,3,28, 1,30,3,32,... 17,18,19,20, 25,26,27,28, 1, 2, 3, 4, 9,10,11,12, 17,18,19,20, 25,26,27,28, 1, 2, 3, 4, 9,10,11,12,... 1, 2, 7, 4, 5, 6, 3, 8, 9,10,15,12, 13,14,11,16, 17,18,23,20, 21,22,19,24, 25,26,31,28, 29,30,27,32,... 1, 2, 3, 4, 7, 8, 5, 6, 9,10,11,12, 15,16,13,14, 17,18,19,20, 23,24,21,22, 25,26,27,28, 31,32,29,30,... 21,22,23,24, 17,18,19,20, 29,30,31,32, 25,26,27,28, 5, 6, 7, 8, 1, 2, 3, 4, 13,14,15,16, 9,10,11,12) declare $remix_cursor declare %track_note[8] := (36,37,38,39,40,41,42,43) make_persistent (%track_note) declare $bar_1_button make_persistent ($bar_1_button) declare $bar_2_button make_persistent ($bar_2_button) declare ui_button $copy_1_2 make_persistent($copy_1_2) declare ui_switch $remix_onoff set_control_par_str(get_ui_id($remix_onoff),$CONTROL_PAR_TEXT,"Remix!") set_control_help($remix_onoff,"Remix: Turn on to activate the Remix function, which changes the beat based on the selected remix pattern.") make_persistent($remix_onoff) set_control_par (get_ui_id($remix_onoff),$CONTROL_PAR_WIDTH,40) set_control_par (get_ui_id($remix_onoff),$CONTROL_PAR_HEIGHT,40) set_control_par_str(get_ui_id($remix_onoff),$CONTROL_PAR_AUTOMATION_NAME,"Remix") declare ui_slider $remix_type (0,31) set_control_help($remix_type,"Remix Type: Select the remix pattern for the remix function.") set_control_par_str(get_ui_id($remix_type),$CONTROL_PAR_AUTOMATION_NAME,"Remix Type") make_persistent($remix_type) declare ui_label $lb_remix_type (1,1) set_control_help($lb_remix_type,"Remix Type: Select the remix pattern for the remix function.") declare $length := 1 {"0" for 1 bar patterns, "1" for 2 bar patterns} declare $cur_remix_onoff declare $cur_remix_type declare !note_class[12] !note_class[0] := "C" !note_class[1] := "Db" !note_class[2] := "D" !note_class[3] := "Eb" !note_class[4] := "E" !note_class[5] := "F" !note_class[6] := "Gb" !note_class[7] := "G" !note_class[8] := "Ab" !note_class[9] := "A" !note_class[10] := "Bb" !note_class[11] := "B" declare !note_names [128] $count := 0 while ($count < 128) !note_names[$count] := !note_class[$count mod 12] & (($count/12)-2) inc ($count) end while {******** BEGIN - GUI Settings - BEGIN ********} declare ui_table %grid_table1[16] (3,1,1) set_control_help(%grid_table1,"Indicates the current position of the playing beat.") set_control_par(get_ui_id(%grid_table1), $CONTROL_PAR_HIDE, $HIDE_PART_BG) set_control_par(get_ui_id(%grid_table1),$CONTROL_PAR_HEIGHT,8) set_control_par(get_ui_id(%grid_table1),$CONTROL_PAR_WIDTH,262) set_control_par(get_ui_id(%grid_table1),$CONTROL_PAR_BAR_COLOR,9FFFFFFh) declare ui_table %grid_table2[16] (3,1,1) set_control_help(%grid_table2,"Indicates the current position of the playing beat.") set_control_par(get_ui_id(%grid_table2), $CONTROL_PAR_HIDE, $HIDE_PART_BG) set_control_par(get_ui_id(%grid_table2),$CONTROL_PAR_HEIGHT,8) set_control_par(get_ui_id(%grid_table2),$CONTROL_PAR_WIDTH,262) set_control_par(get_ui_id(%grid_table2),$CONTROL_PAR_BAR_COLOR,9FFFFFFh) declare ui_slider $pattern (0,11) make_persistent($pattern) set_control_help($pattern,"Pattern: Selects a drum pattern. The pattern number as well as the MIDI note which triggers the pattern is displayed.") set_control_par_str(get_ui_id($pattern),$CONTROL_PAR_AUTOMATION_NAME,"Pattern") declare ui_label $lb_pattern (1,1) declare ui_table %veldisplay1[32] (3, 2, 127) set_control_help(%veldisplay1,"Velocity Grid: Adjusts the velocity per step of the selected track. Cmd/Ctrl click to delete a step.") set_control_par(get_ui_id(%veldisplay1), $CONTROL_PAR_HIDE, $HIDE_PART_BG) set_control_par(get_ui_id(%veldisplay1),$CONTROL_PAR_HEIGHT,46) set_control_par(get_ui_id(%veldisplay1),$CONTROL_PAR_WIDTH,262) set_control_par(get_ui_id(%veldisplay1),$CONTROL_PAR_BAR_COLOR,9FF7E39h) declare ui_table %veldisplay2[32] (3, 2, 127) set_control_help(%veldisplay2,"Velocity Grid: Adjusts the velocity per step of the selected track. Cmd/Ctrl click to delete a step.") set_control_par(get_ui_id(%veldisplay2), $CONTROL_PAR_HIDE, $HIDE_PART_BG) set_control_par(get_ui_id(%veldisplay2),$CONTROL_PAR_HEIGHT,46) set_control_par(get_ui_id(%veldisplay2),$CONTROL_PAR_WIDTH,262) set_control_par(get_ui_id(%veldisplay2),$CONTROL_PAR_BAR_COLOR,9FF7E39h) declare ui_table %pitchdisplay1[32] (3, 2, -100) set_control_help (%pitchdisplay1,"Tuning Grid: Adjusts the tuning offset per step of the selected track. The range is -100% to +100% of the range specified by the Amount knob. Cmd-Ctrl click to reset a step to 0%.") set_control_par(get_ui_id(%pitchdisplay1), $CONTROL_PAR_HIDE, $HIDE_PART_BG) set_control_par(get_ui_id(%pitchdisplay1),$CONTROL_PAR_HEIGHT,46) set_control_par(get_ui_id(%pitchdisplay1),$CONTROL_PAR_WIDTH,262) set_control_par(get_ui_id(%pitchdisplay1),$CONTROL_PAR_BAR_COLOR,97AA8CCh) set_control_par(get_ui_id(%pitchdisplay1),$CONTROL_PAR_ZERO_LINE_COLOR,97D7D7Dh) declare ui_table %pitchdisplay2[32] (3, 2, -100) set_control_help (%pitchdisplay2,"Tuning Grid: Adjusts the tuning offset per step of the selected track. The range is -100% to +100% of the range specified by the Amount knob. Cmd-Ctrl click to reset a step to 0%.") set_control_par(get_ui_id(%pitchdisplay2), $CONTROL_PAR_HIDE, $HIDE_PART_BG) set_control_par(get_ui_id(%pitchdisplay2),$CONTROL_PAR_HEIGHT,46) set_control_par(get_ui_id(%pitchdisplay2),$CONTROL_PAR_WIDTH,262) set_control_par(get_ui_id(%pitchdisplay2),$CONTROL_PAR_BAR_COLOR,97AA8CCh) set_control_par(get_ui_id(%pitchdisplay2),$CONTROL_PAR_ZERO_LINE_COLOR,97D7D7Dh) make_persistent(%veldisplay1) make_persistent(%pitchdisplay1) make_persistent(%veldisplay2) make_persistent(%pitchdisplay2) declare ui_menu $trk_note_menu set_control_par(get_ui_id($trk_note_menu), $CONTROL_PAR_WIDTH, 100) set_control_help ($trk_note_menu,"Note: The sound which is triggered by the selected track.") $count := 0 while ($count < 24) add_menu_item ($trk_note_menu, group_name($count), $count + 36) inc($count) end while declare $pattern_note_vedit := 72 declare ui_label $notenr_label (1,1) set_text ($notenr_label,"TRACK OUTPUT:") declare ui_label $now_label (1,1) set_text ($now_label,"NOW!") set_control_par(get_ui_id($now_label),$CONTROL_PAR_TEXT_ALIGNMENT,1) declare ui_slider $swing (-50,50) set_control_help($swing,"Swing: Offsets every other step by the specified amount in percent in order to create a swing feel. Positive values delay every other step, negative values push every other step forward. The Swing amount acts on a global level, i.e. it is not saved within the pattern.") set_control_par(get_ui_id($swing), $CONTROL_PAR_DEFAULT_VALUE, 0) make_persistent($swing) set_control_par_str(get_ui_id($swing),$CONTROL_PAR_AUTOMATION_NAME,"Swing") declare ui_label $lb_swing (1,1) set_text($lb_swing, "SWING") declare ui_slider $tuning_amount_knob (0,36) set_control_par(get_ui_id($tuning_amount_knob), $CONTROL_PAR_DEFAULT_VALUE, 12) set_control_help($tuning_amount_knob,"Amount Knob: Sets the pitch range of the tuning table in semitones. The amount acts on a gloabl level, i.e. it is not saved with the pattern.") make_persistent ($tuning_amount_knob) set_control_par_str(get_ui_id($tuning_amount_knob),$CONTROL_PAR_AUTOMATION_NAME,"Tune Grd") declare ui_label $tuning_amount_label (1,1) declare ui_menu $edit_menu set_control_par(get_ui_id($edit_menu), $CONTROL_PAR_WIDTH, 93) add_menu_item ($edit_menu, "Edit Track...",100) add_menu_item ($edit_menu, "--------------",99) add_menu_item ($edit_menu, "Copy Track",4) add_menu_item ($edit_menu, "Paste Track",5) add_menu_item ($edit_menu, "Clear Track",6) set_control_help($edit_menu,"Edit Menu: Commands for copying and pasting measures and/or tracks.") declare ui_button $step_32_button set_text ($step_32_button,"32nd NOTE GRID") set_control_help($step_32_button,"16 <-> 32 Button: Click to set the step grid of the selected track to 32nd notes.") make_persistent($step_32_button) set_control_par (get_ui_id($step_32_button),$CONTROL_PAR_WIDTH,95) set_control_par (get_ui_id($step_32_button),$CONTROL_PAR_HEIGHT,20) declare ui_switch $latch_button set_control_help($latch_button,"Latch: When activated, playing a midi note will trigger the pattern and continue playing until the same key is pressed again.") set_text ($latch_button," LATCH") make_persistent($latch_button) set_control_par (get_ui_id($latch_button),$CONTROL_PAR_WIDTH,67) set_control_par (get_ui_id($latch_button),$CONTROL_PAR_HEIGHT,20) set_control_par_str(get_ui_id($latch_button),$CONTROL_PAR_AUTOMATION_NAME,"Latch") declare ui_switch $quantize_button set_control_help ($quantize_button,"Quantize: When activated, the pattern change and/or stop will occur at the end of the pattern.") set_text ($quantize_button," QUANT") make_persistent($quantize_button) set_control_par (get_ui_id($quantize_button),$CONTROL_PAR_WIDTH,67) set_control_par (get_ui_id($quantize_button),$CONTROL_PAR_HEIGHT,20) set_control_par_str(get_ui_id($quantize_button),$CONTROL_PAR_AUTOMATION_NAME,"Quantize") declare %ui_id[18] %ui_id[0] := get_ui_id($pattern) %ui_id[1] := get_ui_id($swing) %ui_id[2] := get_ui_id($remix_type) %ui_id[3] := get_ui_id($tuning_amount_knob) %ui_id[4] := get_ui_id($quantize_button) %ui_id[5] := get_ui_id($latch_button) %ui_id[6] := get_ui_id($step_32_button) %ui_id[7] := get_ui_id($remix_onoff) %ui_id[8] := get_ui_id($copy_1_2) %ui_id[9] := get_ui_id($edit_menu) %ui_id[10] := get_ui_id($pattern_edit_menu) %ui_id[11] := get_ui_id($trk_note_menu) %ui_id[12] := get_ui_id($lb_pattern) %ui_id[13] := get_ui_id($lb_swing) %ui_id[14] := get_ui_id($tuning_amount_label) %ui_id[15] := get_ui_id($now_label) %ui_id[16] := get_ui_id($notenr_label) %ui_id[17] := get_ui_id($lb_remix_type) {ui skinning} $count := 0 while ($count < 3) set_control_par_str(%ui_id[$count], $CONTROL_PAR_PICTURE, "pv_urban_knob_orange") set_control_par(%ui_id[$count], $CONTROL_PAR_MOUSE_BEHAVIOUR, -500) inc($count) end while set_control_par_str(%ui_id[3], $CONTROL_PAR_PICTURE, "pv_urban_knob_blue") set_control_par(%ui_id[3], $CONTROL_PAR_MOUSE_BEHAVIOUR, -500) set_control_par_str(%ui_id[7], $CONTROL_PAR_PICTURE, "pv_urban_gbox_remix_btn") set_text($remix_onoff, "") set_control_par_str(%ui_id[8], $CONTROL_PAR_PICTURE, "pv_urban_gbox_duplicate_btn") set_control_par(%ui_id[8], $CONTROL_PAR_HEIGHT, 95) set_text($copy_1_2, "") $count := 9 while ($count < 12) set_control_par_str(%ui_id[$count], $CONTROL_PAR_PICTURE, "pv_urban_dropdown") set_control_par(%ui_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) set_control_par(%ui_id[$count], $CONTROL_PAR_TEXTPOS_Y, 3) inc($count) end while $count := 12 while ($count < 18) set_control_par(%ui_id[$count], $CONTROL_PAR_HIDE,$HIDE_PART_BG) set_control_par(%ui_id[$count], $CONTROL_PAR_TEXT_ALIGNMENT, 1) set_control_par(%ui_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while {******** END - GUI Settings - END ********} move_control_px($pattern,67,76) move_control_px($lb_pattern,41,60) move_control_px ($pattern_edit_menu,120,85) move_control_px($now_label,497,60) move_control_px($tuning_amount_knob,382,76) move_control_px($tuning_amount_label,355,60) move_control_px($quantize_button,282,72) move_control_px($latch_button,282,99) move_control_px($remix_onoff,523,76) move_control_px($remix_type,465,76) move_control_px($lb_remix_type,440,60) move_control_px($swing,224,76) move_control_px($lb_swing,198,60) move_control_px($edit_menu,49,158) move_control_px($copy_1_2,309,183) move_control_px($step_32_button,148,159) move_control_px($notenr_label,395,161) move_control_px($trk_note_menu,482,158) move_control_px(%grid_table1,50,183) move_control_px(%pitchdisplay1,50,186) move_control_px(%veldisplay1,50,229) move_control_px(%grid_table2,320,183) move_control_px(%pitchdisplay2,320,186) move_control_px(%veldisplay2,320,229) {******** Variables ********} declare %pattern_0_data_track[1536] declare %pattern_1_data_track[1536] declare %pattern_2_data_track[1536] declare %pattern_3_data_track[1536] declare %pattern_4_data_track[1536] declare %pattern_5_data_track[1536] declare %pattern_6_data_track[1536] declare %pattern_7_data_track[1536] declare %pattern_8_data_track[1536] declare %pattern_9_data_track[1536] declare %pattern_10_data_track[1536] declare %pattern_11_data_track[1536] make_persistent(%pattern_0_data_track) make_persistent(%pattern_1_data_track) make_persistent(%pattern_2_data_track) make_persistent(%pattern_3_data_track) make_persistent(%pattern_4_data_track) make_persistent(%pattern_5_data_track) make_persistent(%pattern_6_data_track) make_persistent(%pattern_7_data_track) make_persistent(%pattern_8_data_track) make_persistent(%pattern_9_data_track) make_persistent(%pattern_10_data_track) make_persistent(%pattern_11_data_track) declare %stepnr_data[144] make_persistent(%stepnr_data) declare %helper_arr[1536] make_persistent(%helper_arr) declare %helper_meas[1536] make_persistent(%helper_meas) declare %helper_arr_track[128] make_persistent(%helper_arr_track) declare %helper_bar[128] make_persistent(%helper_bar) declare %helper_stepnr[12] make_persistent(%helper_stepnr) declare $a declare $b declare $cur_pos declare polyphonic $poly_loop_nr declare $var_loop_nr declare $id declare $cursor declare $step_length declare $quantize_flag declare $isLoopRunning := 0 declare $read_flag declare $new_pattern declare $last_pattern_note := 1000 declare $helper { INIT} $swing := 0 $tuning_amount_knob := 12 $step_32_button := 0 if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if $trk_note_menu := 36 read_persistent_var($step_32_button) if ($step_32_button = 0) set_table_steps_shown(%veldisplay1, 16) set_table_steps_shown(%pitchdisplay1, 16) set_table_steps_shown(%veldisplay2, 16) set_table_steps_shown(%pitchdisplay2, 16) else set_table_steps_shown(%veldisplay1, 32) set_table_steps_shown(%pitchdisplay1, 32) set_table_steps_shown(%veldisplay2, 32) set_table_steps_shown(%pitchdisplay2, 32) end if read_persistent_var(%track_note) $trk_note_menu := %track_note[$selected_track] set_text ($lb_pattern,!note_names[$pattern_note_vedit + $new_pattern]) read_persistent_var($pattern) set_text ($lb_pattern,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) set_control_par_str(get_ui_id($pattern),$CONTROL_PAR_LABEL,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) read_persistent_var($quantize_button) read_persistent_var($latch_button) $count := 4 while ($count < 7) set_control_par_str(%ui_id[$count], $CONTROL_PAR_PICTURE, "pv_urban_button_onoff") set_control_par(%ui_id[$count], $CONTROL_PAR_TEXTPOS_Y, 2) if (get_control_par(%ui_id[$count], $CONTROL_PAR_VALUE) = 0) set_control_par(%ui_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) else set_control_par(%ui_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) end if inc($count) end while read_persistent_var($tuning_amount_knob) set_text($tuning_amount_label, $tuning_amount_knob&" STEPS") set_control_par_str(get_ui_id($tuning_amount_knob),$CONTROL_PAR_LABEL,$tuning_amount_knob & " st") declare %KEY_DOWN_OWN[128] while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while read_persistent_var($swing) set_control_par_str(get_ui_id($swing),$CONTROL_PAR_LABEL,$swing & " %") {*** neuer Bereich *******} read_persistent_var($copy_1_2) $bar_1_button := 1 $bar_2_button := 0 declare $next_pattern declare %pressed_pattern[12] declare $pressed_nr declare $active declare $change_flag declare $aa declare $cur_vel declare $cur_tune declare $next_active declare $kill_active declare $active_note read_persistent_var($remix_onoff) read_persistent_var($remix_type) set_text($lb_remix_type,"TYPE "&$remix_type+1) set_control_par_str(get_ui_id($remix_type),$CONTROL_PAR_LABEL,"Type "&$remix_type+1) if ($CREATE_AUTOMATION_ID = 1) set_control_par(get_ui_id($pattern),$CONTROL_PAR_AUTOMATION_ID,70) set_control_par(get_ui_id($swing),$CONTROL_PAR_AUTOMATION_ID,71) set_control_par(get_ui_id($tuning_amount_knob),$CONTROL_PAR_AUTOMATION_ID,72) set_control_par(get_ui_id($latch_button),$CONTROL_PAR_AUTOMATION_ID,73) set_control_par(get_ui_id($quantize_button),$CONTROL_PAR_AUTOMATION_ID,74) set_control_par(get_ui_id($remix_type),$CONTROL_PAR_AUTOMATION_ID,75) set_control_par(get_ui_id($remix_onoff),$CONTROL_PAR_AUTOMATION_ID,76) end if end on on note %KEY_DOWN_OWN[$EVENT_NOTE] := 1 {mark, that this EVENT is from outside. important for the release callback!} set_event_par($EVENT_ID,0,2) if ($EVENT_NOTE >= $pattern_note_vedit and $EVENT_NOTE < $pattern_note_vedit+12) if ($latch_button = 1 and $EVENT_NOTE = $active_note) $active_note := 0 $kill_active := 1 exit end if %pressed_pattern[$EVENT_NOTE - $pattern_note_vedit] := $EVENT_ID $a := 0 $pressed_nr := 0 while($a < 12) if (%pressed_pattern[$a] > 0) inc($pressed_nr) end if inc($a) end while $next_pattern := $EVENT_NOTE - $pattern_note_vedit $next_active := $EVENT_ID $kill_active := 0 $change_flag := 1 if ($active = 0) $bar_1_button := 1 $bar_2_button := 0 $cursor := 0 $active := $EVENT_ID $active_note := $EVENT_NOTE $pattern := $next_pattern else exit end if while($active > 0) if($cursor mod $QUANT_REMIX = 0) $cur_remix_onoff := $remix_onoff $cur_remix_type := $remix_type end if if($cur_remix_onoff = 0) $remix_cursor := $cursor else if($cur_Remix_type < 16) $remix_cursor := %Remix_arr_1[$cur_Remix_type*32 + $cursor]-1 else $remix_cursor := %Remix_arr_2[($cur_Remix_type-16)*32 + $cursor]-1 end if end if if($change_flag = 1) $change_flag := 0 end if set_text ($lb_pattern,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) set_control_par_str(get_ui_id($pattern),$CONTROL_PAR_LABEL,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while if ($swing # 0) if ($cursor mod 4 < 2) $step_length := (($DURATION_SIXTEENTH/2)*(100+$swing))/100 else $step_length := (($DURATION_SIXTEENTH/2)*(100-$swing))/100 end if else $step_length := $DURATION_SIXTEENTH/2 end if if ($step_length < 1) $step_length := 1 end if $track_1_button := 0 $track_2_button := 0 $track_3_button := 0 $track_4_button := 0 $track_5_button := 0 $track_6_button := 0 $track_7_button := 0 $track_8_button := 0 select($selected_track) case 0 $track_1_button := 1 case 1 $track_2_button := 1 case 2 $track_3_button := 1 case 3 $track_4_button := 1 case 4 $track_5_button := 1 case 5 $track_6_button := 1 case 6 $track_7_button := 1 case 7 $track_8_button := 1 end select $aa := 0 while($aa < 12) if(%stepnr_data[$pattern*12 + $aa] = 1 or (%stepnr_data[$pattern*12 + $aa] = 0 and $cursor mod 2 = 0)) select($pattern) case 0 $cur_vel := %pattern_0_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_0_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 1 $cur_vel := %pattern_1_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_1_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 2 $cur_vel := %pattern_2_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_2_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 3 $cur_vel := %pattern_3_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_3_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 4 $cur_vel := %pattern_4_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_4_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 5 $cur_vel := %pattern_5_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_5_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 6 $cur_vel := %pattern_6_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_6_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 7 $cur_vel := %pattern_7_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_7_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 8 $cur_vel := %pattern_8_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_8_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 9 $cur_vel := %pattern_9_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_9_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 10 $cur_vel := %pattern_10_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_10_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] case 11 $cur_vel := %pattern_11_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 ] $cur_tune := %pattern_11_data_track[$aa*128 + $remix_cursor +$bar_2_button*32 +64] end select if ($cur_vel > 0) if ($step_32_button = 1) $helper := $step_length else $helper := $step_length + $step_length end if if($aa = $selected_track) select($aa) case 0 $track_1_button := 0 case 1 $track_2_button := 0 case 2 $track_3_button := 0 case 3 $track_4_button := 0 case 4 $track_5_button := 0 case 5 $track_6_button := 0 case 6 $track_7_button := 0 case 7 $track_8_button := 0 end select else select($aa) case 0 $track_1_button := 1 case 1 $track_2_button := 1 case 2 $track_3_button := 1 case 3 $track_4_button := 1 case 4 $track_5_button := 1 case 5 $track_6_button := 1 case 6 $track_7_button := 1 case 7 $track_8_button := 1 end select end if $id := play_note(%track_note[$aa],$cur_vel,0,$helper) if($cur_tune # 0) change_tune($id,$cur_tune*$tuning_amount_knob*1000,0) end if end if end if inc($aa) end while $a := 0 while($a < 16) if ($a = $cursor/2) if($bar_1_button = 1) %grid_table1[$a] := 1 else %grid_table2[$a] := 1 end if else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if inc($a) end while $cursor := $cursor + 1{(2-$step_32_button)} if ($cursor > 31 ) $cursor := 0 if ($length = 0) $bar_1_button := 1 $bar_2_button := 0 else $bar_1_button := ($bar_1_button +1 ) mod 2 $bar_2_button := ($bar_2_button +1 ) mod 2 $change_flag := 1 end if end if wait($step_length) if(($quantize_button = 0 or ($quantize_button = 1 and $cursor = 0))) if($kill_active = 1) $kill_active := 0 $active := 0 $active_note := 0 $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while else $pattern := $next_pattern $change_flag := 1 $active := $next_active $active_note := $next_pattern + $pattern_note_vedit end if end if end while $track_1_button := 0 $track_2_button := 0 $track_3_button := 0 $track_4_button := 0 $track_5_button := 0 $track_6_button := 0 $track_7_button := 0 $track_8_button := 0 select($selected_track) case 0 $track_1_button := 1 case 1 $track_2_button := 1 case 2 $track_3_button := 1 case 3 $track_4_button := 1 case 4 $track_5_button := 1 case 5 $track_6_button := 1 case 6 $track_7_button := 1 case 7 $track_8_button := 1 end select else $a := 0 while($a < 8) if(%track_note[$a] = $EVENT_NOTE) select($a) case 0 $track_1_button := 1 wait(100000) $track_1_button := 0 case 1 $track_2_button := 1 wait(100000) $track_2_button := 0 case 2 $track_3_button := 1 wait(100000) $track_3_button := 0 case 3 $track_4_button := 1 wait(100000) $track_4_button := 0 case 4 $track_5_button := 1 wait(100000) $track_5_button := 0 case 5 $track_6_button := 1 wait(100000) $track_6_button := 0 case 6 $track_7_button := 1 wait(100000) $track_7_button := 0 case 7 $track_8_button := 1 wait(100000) $track_8_button := 0 end select end if inc($a) end while wait(100000) select($selected_track) case 0 $track_1_button := 1 case 1 $track_2_button := 1 case 2 $track_3_button := 1 case 3 $track_4_button := 1 case 4 $track_5_button := 1 case 5 $track_6_button := 1 case 6 $track_7_button := 1 case 7 $track_8_button := 1 end select end if end on on release if ($latch_button = 0) if ($EVENT_NOTE >= $pattern_note_vedit and $EVENT_NOTE < $pattern_note_vedit+12) if(%pressed_pattern[$EVENT_NOTE - $pattern_note_vedit] = $EVENT_ID) %pressed_pattern[$EVENT_NOTE - $pattern_note_vedit] := 0 end if if ($next_active = $EVENT_ID) $next_active := 0 end if if ($active = $EVENT_ID and $next_active = 0) $kill_active := 1 end if end if end if end on on ui_control (%veldisplay1) $a := 0 while($a < 16*(1+$step_32_button)) select($pattern) case 0 %pattern_0_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 1 %pattern_1_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 2 %pattern_2_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 3 %pattern_3_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 4 %pattern_4_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 5 %pattern_5_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 6 %pattern_6_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 7 %pattern_7_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 8 %pattern_8_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 9 %pattern_9_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 10 %pattern_10_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] case 11 %pattern_11_data_track[$selected_track*128 +$a*(2-$step_32_button)] := %veldisplay1[$a] end select inc($a) end while end on on ui_control (%veldisplay2) $a := 0 while($a < 16*(1+$step_32_button)) select($pattern) case 0 %pattern_0_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 1 %pattern_1_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 2 %pattern_2_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 3 %pattern_3_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 4 %pattern_4_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 5 %pattern_5_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 6 %pattern_6_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 7 %pattern_7_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 8 %pattern_8_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 9 %pattern_9_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 10 %pattern_10_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] case 11 %pattern_11_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)] := %veldisplay2[$a] end select inc($a) end while end on on ui_control (%pitchdisplay1) $a := 0 while($a < 16*(1+$step_32_button)) select($pattern) case 0 %pattern_0_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 1 %pattern_1_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 2 %pattern_2_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 3 %pattern_3_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 4 %pattern_4_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 5 %pattern_5_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 6 %pattern_6_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 7 %pattern_7_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 8 %pattern_8_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 9 %pattern_9_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 10 %pattern_10_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] case 11 %pattern_11_data_track[$selected_track*128 +$a*(2-$step_32_button)+64] := %pitchdisplay1[$a] end select inc($a) end while end on on ui_control (%pitchdisplay2) $a := 0 while($a < 16*(1+$step_32_button)) select($pattern) case 0 %pattern_0_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 1 %pattern_1_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 2 %pattern_2_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 3 %pattern_3_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 4 %pattern_4_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 5 %pattern_5_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 6 %pattern_6_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 7 %pattern_7_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 8 %pattern_8_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 9 %pattern_9_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 10 %pattern_10_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] case 11 %pattern_11_data_track[$selected_track*128 +32 +$a*(2-$step_32_button)+64] := %pitchdisplay2[$a] end select inc($a) end while end on on ui_control ($edit_menu) select($edit_menu) case 4 $a := 0 while($a < 128) select($pattern*12 + $selected_track) case 0 to 11 %helper_arr_track[$a] := %pattern_0_data_track[$selected_track*128 + $a] case 12 to 23 %helper_arr_track[$a] := %pattern_1_data_track[$selected_track*128 + $a] case 24 to 35 %helper_arr_track[$a] := %pattern_2_data_track[$selected_track*128 + $a] case 36 to 47 %helper_arr_track[$a] := %pattern_3_data_track[$selected_track*128 + $a] case 48 to 59 %helper_arr_track[$a] := %pattern_4_data_track[$selected_track*128 + $a] case 60 to 71 %helper_arr_track[$a] := %pattern_5_data_track[$selected_track*128 + $a] case 72 to 83 %helper_arr_track[$a] := %pattern_6_data_track[$selected_track*128 + $a] case 84 to 95 %helper_arr_track[$a] := %pattern_7_data_track[$selected_track*128 + $a] case 96 to 107 %helper_arr_track[$a] := %pattern_8_data_track[$selected_track*128 + $a] case 108 to 119 %helper_arr_track[$a] := %pattern_9_data_track[$selected_track*128 + $a] case 120 to 131 %helper_arr_track[$a] := %pattern_10_data_track[$selected_track*128 + $a] case 132 to 143 %helper_arr_track[$a] := %pattern_11_data_track[$selected_track*128 + $a] end select inc($a) end while case 5 to 6 $a := 0 while($a < 128) if ($edit_menu = 5) $helper := %helper_arr_track[$a] else $helper := 0 end if select($pattern*12 + $selected_track) case 0 to 11 %pattern_0_data_track[$selected_track*128 + $a] := $helper case 12 to 23 %pattern_1_data_track[$selected_track*128 + $a] := $helper case 24 to 35 %pattern_2_data_track[$selected_track*128 + $a] := $helper case 36 to 47 %pattern_3_data_track[$selected_track*128 + $a] := $helper case 48 to 59 %pattern_4_data_track[$selected_track*128 + $a] := $helper case 60 to 71 %pattern_5_data_track[$selected_track*128 + $a] := $helper case 72 to 83 %pattern_6_data_track[$selected_track*128 + $a] := $helper case 84 to 95 %pattern_7_data_track[$selected_track*128 + $a] := $helper case 96 to 107 %pattern_8_data_track[$selected_track*128 + $a] := $helper case 108 to 119 %pattern_9_data_track[$selected_track*128 + $a] := $helper case 120 to 131 %pattern_10_data_track[$selected_track*128 + $a] := $helper case 132 to 143 %pattern_11_data_track[$selected_track*128 + $a] := $helper end select inc($a) end while end select set_table_steps_shown(%veldisplay1, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay1, 16*($step_32_button+1)) set_table_steps_shown(%veldisplay2, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay2, 16*($step_32_button+1)) if ($edit_menu = 5) $a := 0 while($a < 16*(1+$step_32_button)) %veldisplay1[$a] := %helper_arr_track[$a*(2-$step_32_button)] %veldisplay2[$a] := %helper_arr_track[$a*(2-$step_32_button) +32] %pitchdisplay1[$a] := %helper_arr_track[$a*(2-$step_32_button) +64] %pitchdisplay2[$a] := %helper_arr_track[$a*(2-$step_32_button) +96] inc($a) end while end if if ($edit_menu = 6) $a := 0 while($a < 16*(1+$step_32_button)) %veldisplay1[$a] := 0 %pitchdisplay1[$a] := 0 %veldisplay2[$a] := 0 %pitchdisplay2[$a] := 0 inc($a) end while end if $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $edit_menu := 100 end on on ui_control ($step_32_button) if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if %stepnr_data[$pattern*12 + $selected_track] := $step_32_button set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control (%grid_table1) $a := 0 while($a < 16) %grid_table1[$a] := $NIX inc($a) end while end on on ui_control (%grid_table2) $a := 0 while($a < 16) %grid_table2[$a] := $NIX inc($a) end while end on on ui_control ($pattern) set_text ($lb_pattern,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) set_control_par_str(get_ui_id($pattern),$CONTROL_PAR_LABEL,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($trk_note_menu) %track_note[$selected_track] := $trk_note_menu end on on ui_control($remix_type) set_text($lb_remix_type,"TYPE "&$remix_type+1) set_control_par_str(get_ui_id($remix_type),$CONTROL_PAR_LABEL,"Type "&$remix_type+1) end on on ui_control ($track_1_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_1_button := 1 set_control_par(%track_button_id[0], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 0 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_2_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_2_button := 1 set_control_par(%track_button_id[1], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 1 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_3_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_3_button := 1 set_control_par(%track_button_id[2], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 2 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_4_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_4_button := 1 set_control_par(%track_button_id[3], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 3 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_5_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_5_button := 1 set_control_par(%track_button_id[4], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 4 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_6_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_6_button := 1 set_control_par(%track_button_id[5], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 5 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_7_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_7_button := 1 set_control_par(%track_button_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 6 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($track_8_button) $count := 0 while ($count < 8) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) set_control_par(%track_button_id[$count], $CONTROL_PAR_FONT_TYPE, $FONT_ID) inc($count) end while $track_8_button := 1 set_control_par(%track_button_id[7], $CONTROL_PAR_FONT_TYPE, $FONT_ID_4) $selected_track := 7 $trk_note_menu := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%veldisplay2, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay2, 16+($step_32_button*16)) $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $a := 0 while($a < 32) select($pattern) case 0 %veldisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_0_data_track[$selected_track*128 + $a +96] case 1 %veldisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_1_data_track[$selected_track*128 + $a +96] case 2 %veldisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_2_data_track[$selected_track*128 + $a +96] case 3 %veldisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_3_data_track[$selected_track*128 + $a +96] case 4 %veldisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_4_data_track[$selected_track*128 + $a +96] case 5 %veldisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_5_data_track[$selected_track*128 + $a +96] case 6 %veldisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_6_data_track[$selected_track*128 + $a +96] case 7 %veldisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_7_data_track[$selected_track*128 + $a +96] case 8 %veldisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_8_data_track[$selected_track*128 + $a +96] case 9 %veldisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_9_data_track[$selected_track*128 + $a +96] case 10 %veldisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_10_data_track[$selected_track*128 + $a +96] case 11 %veldisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a] %veldisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +32] %pitchdisplay1[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +64] %pitchdisplay2[$a/(2-$step_32_button)] := %pattern_11_data_track[$selected_track*128 + $a +96] end select $a := $a + (2-$step_32_button) end while end on on ui_control ($pattern_edit_menu) select($pattern_edit_menu) case 1 $a := 0 while($a < 12) %helper_stepnr[$a] := %stepnr_data[$pattern*12 + $a] inc($a) end while $a := 0 while($a < 1536) select($pattern) case 0 %helper_meas[$a] := %pattern_0_data_track[$a] case 1 %helper_meas[$a] := %pattern_1_data_track[$a] case 2 %helper_meas[$a] := %pattern_2_data_track[$a] case 3 %helper_meas[$a] := %pattern_3_data_track[$a] case 4 %helper_meas[$a] := %pattern_4_data_track[$a] case 5 %helper_meas[$a] := %pattern_5_data_track[$a] case 6 %helper_meas[$a] := %pattern_6_data_track[$a] case 7 %helper_meas[$a] := %pattern_7_data_track[$a] case 8 %helper_meas[$a] := %pattern_8_data_track[$a] case 9 %helper_meas[$a] := %pattern_9_data_track[$a] case 10 %helper_meas[$a] := %pattern_10_data_track[$a] case 11 %helper_meas[$a] := %pattern_11_data_track[$a] end select inc($a) end while case 2 $a := 0 while($a < 12) %stepnr_data[$pattern*12 + $a] := %helper_stepnr[$a] inc($a) end while $a := 0 while($a < 1536) select($pattern) case 0 %pattern_0_data_track[$a] := %helper_meas[$a] case 1 %pattern_1_data_track[$a] := %helper_meas[$a] case 2 %pattern_2_data_track[$a] := %helper_meas[$a] case 3 %pattern_3_data_track[$a] := %helper_meas[$a] case 4 %pattern_4_data_track[$a] := %helper_meas[$a] case 5 %pattern_5_data_track[$a] := %helper_meas[$a] case 6 %pattern_6_data_track[$a] := %helper_meas[$a] case 7 %pattern_7_data_track[$a] := %helper_meas[$a] case 8 %pattern_8_data_track[$a] := %helper_meas[$a] case 9 %pattern_9_data_track[$a] := %helper_meas[$a] case 10 %pattern_10_data_track[$a] := %helper_meas[$a] case 11 %pattern_11_data_track[$a] := %helper_meas[$a] end select inc($a) end while case 3 $a := 0 while($a < 1536) select($pattern) case 0 %pattern_0_data_track[$a] := 0 case 1 %pattern_1_data_track[$a] := 0 case 2 %pattern_2_data_track[$a] := 0 case 3 %pattern_3_data_track[$a] := 0 case 4 %pattern_4_data_track[$a] := 0 case 5 %pattern_5_data_track[$a] := 0 case 6 %pattern_6_data_track[$a] := 0 case 7 %pattern_7_data_track[$a] := 0 case 8 %pattern_8_data_track[$a] := 0 case 9 %pattern_9_data_track[$a] := 0 case 10 %pattern_10_data_track[$a] := 0 case 11 %pattern_11_data_track[$a] := 0 end select inc($a) end while case 4 $a := 0 while($a < 12) %helper_stepnr[$a] := %stepnr_data[$pattern*12 + $a] inc($a) end while $a := 0 while($a < 1536) select($pattern) case 0 %helper_meas[$a] := %pattern_0_data_track[$a] case 1 %helper_meas[$a] := %pattern_1_data_track[$a] case 2 %helper_meas[$a] := %pattern_2_data_track[$a] case 3 %helper_meas[$a] := %pattern_3_data_track[$a] case 4 %helper_meas[$a] := %pattern_4_data_track[$a] case 5 %helper_meas[$a] := %pattern_5_data_track[$a] case 6 %helper_meas[$a] := %pattern_6_data_track[$a] case 7 %helper_meas[$a] := %pattern_7_data_track[$a] case 8 %helper_meas[$a] := %pattern_8_data_track[$a] case 9 %helper_meas[$a] := %pattern_9_data_track[$a] case 10 %helper_meas[$a] := %pattern_10_data_track[$a] case 11 %helper_meas[$a] := %pattern_11_data_track[$a] end select inc($a) end while if($pattern_edit_menu = 4) $a := 0 while($a < 12*12) %stepnr_data[$a] := %helper_stepnr[$a mod 12] inc($a) end while $a := 0 while($a < 1536) %pattern_0_data_track[$a] := %helper_meas[$a] %pattern_1_data_track[$a] := %helper_meas[$a] %pattern_2_data_track[$a] := %helper_meas[$a] %pattern_3_data_track[$a] := %helper_meas[$a] %pattern_4_data_track[$a] := %helper_meas[$a] %pattern_5_data_track[$a] := %helper_meas[$a] %pattern_6_data_track[$a] := %helper_meas[$a] %pattern_7_data_track[$a] := %helper_meas[$a] %pattern_8_data_track[$a] := %helper_meas[$a] %pattern_9_data_track[$a] := %helper_meas[$a] %pattern_10_data_track[$a] := %helper_meas[$a] %pattern_11_data_track[$a] := %helper_meas[$a] inc($a) end while end if end select $step_32_button := %stepnr_data[$pattern*12 + $selected_track] if ($step_32_button = 1) set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[6], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if set_table_steps_shown(%veldisplay1, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay1, 16*($step_32_button+1)) set_table_steps_shown(%veldisplay2, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay2, 16*($step_32_button+1)) if ($pattern_edit_menu = 2 or $pattern_edit_menu = 4) $a := 0 while($a < 16*(1+$step_32_button)) %veldisplay1[$a] := %helper_meas[$selected_track*128 + $a*(2-$step_32_button)] %veldisplay2[$a] := %helper_meas[$selected_track*128 + $a*(2-$step_32_button) +32] %pitchdisplay1[$a] := %helper_meas[$selected_track*128 + $a*(2-$step_32_button) +64] %pitchdisplay2[$a] := %helper_meas[$selected_track*128 + $a*(2-$step_32_button) +96] inc($a) end while end if if ($pattern_edit_menu = 3) $a := 0 while($a < 16*(1+$step_32_button)) %veldisplay1[$a] := 0 %veldisplay2[$a] := 0 %pitchdisplay1[$a] := 0 %pitchdisplay2[$a] := 0 inc($a) end while end if $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while $pattern_edit_menu := 100 end on on ui_control($copy_1_2) $a := 0 while($a < 128) select($pattern) case 0 %helper_bar[$a] := %pattern_0_data_track[$selected_track*128 + $a] case 1 %helper_bar[$a] := %pattern_1_data_track[$selected_track*128 + $a] case 2 %helper_bar[$a] := %pattern_2_data_track[$selected_track*128 + $a] case 3 %helper_bar[$a] := %pattern_3_data_track[$selected_track*128 + $a] case 4 %helper_bar[$a] := %pattern_4_data_track[$selected_track*128 + $a] case 5 %helper_bar[$a] := %pattern_5_data_track[$selected_track*128 + $a] case 6 %helper_bar[$a] := %pattern_6_data_track[$selected_track*128 + $a] case 7 %helper_bar[$a] := %pattern_7_data_track[$selected_track*128 + $a] case 8 %helper_bar[$a] := %pattern_8_data_track[$selected_track*128 + $a] case 9 %helper_bar[$a] := %pattern_9_data_track[$selected_track*128 + $a] case 10 %helper_bar[$a] := %pattern_10_data_track[$selected_track*128 + $a] case 11 %helper_bar[$a] := %pattern_11_data_track[$selected_track*128 + $a] end select inc($a) end while $a := 0 while($a < 32) $helper := %helper_bar[$a] select($pattern) case 0 %pattern_0_data_track[$selected_track*128 + $a+32] := $helper case 1 %pattern_1_data_track[$selected_track*128 + $a+32] := $helper case 2 %pattern_2_data_track[$selected_track*128 + $a+32] := $helper case 3 %pattern_3_data_track[$selected_track*128 + $a+32] := $helper case 4 %pattern_4_data_track[$selected_track*128 + $a+32] := $helper case 5 %pattern_5_data_track[$selected_track*128 + $a+32] := $helper case 6 %pattern_6_data_track[$selected_track*128 + $a+32] := $helper case 7 %pattern_7_data_track[$selected_track*128 + $a+32] := $helper case 8 %pattern_8_data_track[$selected_track*128 + $a+32] := $helper case 9 %pattern_9_data_track[$selected_track*128 + $a+32] := $helper case 10 %pattern_10_data_track[$selected_track*128 + $a+32] := $helper case 11 %pattern_11_data_track[$selected_track*128 + $a+32] := $helper end select inc($a) end while $a := 64 while($a < 96) $helper := %helper_bar[$a] select($pattern) case 0 %pattern_0_data_track[$selected_track*128 + $a+32] := $helper case 1 %pattern_1_data_track[$selected_track*128 + $a+32] := $helper case 2 %pattern_2_data_track[$selected_track*128 + $a+32] := $helper case 3 %pattern_3_data_track[$selected_track*128 + $a+32] := $helper case 4 %pattern_4_data_track[$selected_track*128 + $a+32] := $helper case 5 %pattern_5_data_track[$selected_track*128 + $a+32] := $helper case 6 %pattern_6_data_track[$selected_track*128 + $a+32] := $helper case 7 %pattern_7_data_track[$selected_track*128 + $a+32] := $helper case 8 %pattern_8_data_track[$selected_track*128 + $a+32] := $helper case 9 %pattern_9_data_track[$selected_track*128 + $a+32] := $helper case 10 %pattern_10_data_track[$selected_track*128 + $a+32] := $helper case 11 %pattern_11_data_track[$selected_track*128 + $a+32] := $helper end select inc($a) end while set_table_steps_shown(%veldisplay1, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay1, 16*($step_32_button+1)) set_table_steps_shown(%veldisplay2, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay2, 16*($step_32_button+1)) $a := 0 while($a < 16*(1+$step_32_button)) %veldisplay1[$a] := %helper_bar[$a*(2-$step_32_button)] %veldisplay2[$a] := %helper_bar[$a*(2-$step_32_button)] %pitchdisplay1[$a] := %helper_bar[$a*(2-$step_32_button) +64] %pitchdisplay2[$a] := %helper_bar[$a*(2-$step_32_button) +64] inc($a) end while $a := 0 while($a < 16) %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX inc($a) end while wait(100000) $copy_1_2 := 0 end on on ui_control ($quantize_button) if ($quantize_button = 1) set_control_par(%ui_id[4], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[4], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if end on on ui_control ($latch_button) if ($latch_button = 1) set_control_par(%ui_id[5], $CONTROL_PAR_FONT_TYPE, $FONT_ID_3) else set_control_par(%ui_id[5], $CONTROL_PAR_FONT_TYPE, $FONT_ID_2) end if end on on ui_control ($swing) set_text($lb_swing,$swing) set_control_par_str(get_ui_id($swing),$CONTROL_PAR_LABEL,$swing & " %") $last_time := $ENGINE_UPTIME wait($wait_time * 1000) if($ENGINE_UPTIME - $last_time > $wait_time -5) set_text ($lb_swing,"SWING") end if end on on ui_control ($tuning_amount_knob) set_text($tuning_amount_label, $tuning_amount_knob&" STEPS") set_control_par_str(get_ui_id($tuning_amount_knob),$CONTROL_PAR_LABEL,$tuning_amount_knob & " st") end on