{*********************************************** Drum Computer Author: Native Instruments Written by: Nicki Marinic, Josef Natterer Modified: Sep 21, 2009 *************************************************} on init set_script_title("Drum Computer") set_ui_height(7) message("") declare $count declare const $ROOT_X := 66 declare const $ROOT_Y := 2 declare const $GRID_X := 92 declare const $GRID_Y := 21 {Track Button Stuff} declare $selected_track {the currently selected track, from zero to 11} 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 ui_button $track_9_button declare ui_button $track_10_button declare ui_button $track_11_button declare ui_button $track_12_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) %track_button_id[8] := get_ui_id ($track_9_button) %track_button_id[9] := get_ui_id ($track_10_button) %track_button_id[10] := get_ui_id ($track_11_button) %track_button_id[11] := get_ui_id ($track_12_button) $count := 0 while ($count < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_WIDTH,45) set_control_par(%track_button_id[$count],$CONTROL_PAR_POS_X,$ROOT_X+($count*$GRID_X/2)) set_control_par(%track_button_id[$count],$CONTROL_PAR_POS_Y,13*$GRID_Y - 6) set_control_par_str(%track_button_id[$count],$CONTROL_PAR_TEXT,"Trk " & $count+1) set_control_par(%track_button_id[$count],$CONTROL_PAR_TEXT_ALIGNMENT,1) inc($count) end while set_control_par(%track_button_id[$selected_track], $CONTROL_PAR_VALUE, 1) {END Track Button Stuff} 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[12] := (36,37,38,39,40,41,42,43,44,45,46,47) make_persistent (%track_note) declare $bar_1_button make_persistent ($bar_1_button) declare $bar_2_button make_persistent ($bar_2_button) declare $cur_remix_onoff declare $cur_remix_type declare !note_class[12] !note_class[0] := "C" !note_class[1] := "C#" !note_class[2] := "D" !note_class[3] := "D#" !note_class[4] := "E" !note_class[5] := "F" !note_class[6] := "F#" !note_class[7] := "G" !note_class[8] := "G#" !note_class[9] := "A" !note_class[10] := "A#" !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_menu $pattern_edit_menu add_menu_item ($pattern_edit_menu, "Edit Pattern...",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) set_control_help ($pattern_edit_menu,"Edit Pattern: Commands for copying and pasting patterns.") declare ui_button $copy_1_2 set_text ($copy_1_2,"Copy 1 -> 2") make_persistent($copy_1_2) set_control_help ($copy_1_2,"Copy 1 -> 2: Click to copy the first measure and paste it into the second measure.") declare ui_switch $Remix_onoff set_text($Remix_onoff,"Remix!") set_control_par(get_ui_id($Remix_onoff),$CONTROL_PAR_TEXT_ALIGNMENT,1) make_persistent($Remix_onoff) set_control_help($Remix_onoff,"Remix: Turn on to activate the Remix function, which changes the beat based on the selected remix pattern.") declare ui_knob $Remix_type (0,31,1) set_text($Remix_type,"Type") make_persistent($Remix_type) set_control_help($Remix_type,"Remix Type: Select the remix pattern for the remix function.") declare ui_menu $length_menu add_menu_item($length_menu,"Length: 1 Bar",0) add_menu_item($length_menu,"Length: 2 Bars",1) $length_menu := 1 make_persistent($length_menu) set_control_help($length_menu,"Length: Changes the length of the pattern to 1 or 2 measures.") declare ui_table %grid_table1[32] (3,1,2) set_control_help(%grid_table1,"Indicates the current position of the playing beat.") declare ui_table %grid_table2[32] (3,1,2) set_control_help(%grid_table2,"Indicates the current position of the playing beat.") declare ui_knob $Pattern (0,11,1) 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.") declare ui_table %VelDisplay1[32] (3, 2, 127) make_persistent(%VelDisplay1) set_control_help(%VelDisplay1,"Velocity Grid: Adjusts the velocity per step of the selected track of the first measure. Cmd/Ctrl click to delete a step.") declare ui_table %VelDisplay2[32] (3, 2, 127) make_persistent(%VelDisplay2) set_control_help(%VelDisplay2,"Velocity Grid: Adjusts the velocity per step of the selected track of the second measure. Cmd/Ctrl click to delete a step.") declare ui_table %PitchDisplay1[32] (3, 2, -100) make_persistent(%PitchDisplay1) set_control_help (%PitchDisplay1,"Tuning Grid: Adjusts the tuning offset per step of the selected track of the first measure. The range is -100% to +100% of the range specified by the Amount knob. Cmd-Ctrl click to reset a step to 0%.") declare ui_table %PitchDisplay2[32] (3, 2, -100) make_persistent(%PitchDisplay2) set_control_help (%PitchDisplay2,"Tuning Grid: Adjusts the tuning offset per step of the selected track of the second measure. The range is -100% to +100% of the range specified by the Amount knob. Cmd-Ctrl click to reset a step to 0%.") declare ui_value_edit $trk_note_vedit (0,127,$VALUE_EDIT_MODE_NOTE_NAMES) set_text ($trk_note_vedit,"") set_control_par (get_ui_id($trk_note_vedit),$CONTROL_PAR_WIDTH,45) set_control_help ($trk_note_vedit,"Note: The MIDI note which is triggered by the selected track.") declare ui_value_edit $pattern_note_vedit (0,115,$VALUE_EDIT_MODE_NOTE_NAMES) set_text ($pattern_note_vedit,"") set_control_par (get_ui_id($pattern_note_vedit),$CONTROL_PAR_WIDTH,45) make_persistent ($pattern_note_vedit) set_control_help ($pattern_note_vedit,"The MIDI note which triggers the first pattern. The other patterns are triggered by the subsequent chromatic keys.") declare ui_label $pattern_label (1,1) set_text ($pattern_label,"1st at:") set_control_par (get_ui_id($pattern_label),$CONTROL_PAR_WIDTH,40) declare ui_label $NoteNr_Label (1,1) set_text ($NoteNr_Label,"Track Output:") declare ui_label $velocity_label (6,1) set_text ($velocity_label,"Tuning & Velocity") set_control_par(get_ui_id($velocity_label),$CONTROL_PAR_TEXT_ALIGNMENT,1) declare ui_label $Pattern_Settings_Label (2,1) set_text ($Pattern_Settings_Label,"Pattern Settings") set_control_par(get_ui_id($Pattern_Settings_Label),$CONTROL_PAR_TEXT_ALIGNMENT,1) declare ui_label $Global_Options_Label (2,1) set_text ($Global_Options_Label,"Global Options") set_control_par(get_ui_id($Global_Options_Label),$CONTROL_PAR_TEXT_ALIGNMENT,1) declare ui_label $tuning_range_label (1,1) set_text ($tuning_range_label,"Tune Grid Range") set_control_par(get_ui_id($tuning_range_label),$CONTROL_PAR_TEXT_ALIGNMENT,1) declare ui_switch $learn_pattern_note_button set_control_help ($learn_pattern_note_button,"Learn: Activates the learn mode for the Trigger Pattern Note. This note will trigger the first pattern, the other patterns are triggered by the subsequent chromatic keys.") set_text ($learn_pattern_note_button,"Learn") set_control_par(get_ui_id($learn_pattern_note_button),$CONTROL_PAR_WIDTH,40) declare ui_switch $learn_trk_note_button set_control_help($learn_trk_note_button,"Learn: Activates the learn mode for the note of the selected track. Press a key and the track will automatically trigger this note.") set_text ($learn_trk_note_button,"Learn") set_control_par(get_ui_id($learn_trk_note_button),$CONTROL_PAR_WIDTH,40) declare ui_knob $Swing (-50,50,1) set_knob_defval($Swing,0) make_persistent($Swing) 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.") declare ui_knob $tuning_amount_knob (0,36,1) set_text ($tuning_amount_knob,"Amount") set_knob_defval ($tuning_amount_knob,12) set_knob_unit ($tuning_amount_knob,$KNOB_UNIT_ST) make_persistent ($tuning_amount_knob) 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.") declare ui_menu $Edit_Menu 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 tracks.") declare ui_switch $step_32_button set_text ($step_32_button,"32nd Note Grid") make_persistent($step_32_button) set_control_help($step_32_button,"32nd Note Grid: Click to set the step grid of the selected track to 32nd notes.") declare ui_switch $latch_button make_persistent($latch_button) set_control_par (get_ui_id($latch_button),$CONTROL_PAR_WIDTH,43) set_text ($latch_button,"Latch") 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.") declare ui_switch $quantize_button set_text ($quantize_button,"Quant.") make_persistent($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_control_par (get_ui_id($quantize_button),$CONTROL_PAR_WIDTH,43) {******** END - GUI Settings - END ********} move_control($Pattern_Settings_Label,1,2) move_control($Pattern,1,3) move_control_px ($pattern_label,$ROOT_X + 1*$GRID_X,$ROOT_Y + 2*$GRID_Y) move_control ($learn_pattern_note_button,0,0) move_control_px($pattern_note_vedit,$ROOT_X + 1*$GRID_X + $GRID_X/2 - 4,$ROOT_Y + 2*$GRID_Y) move_control ($pattern_edit_menu,2,4) move_control($tuning_range_label,5,2) move_control($tuning_amount_knob,5,3) move_control_px($quantize_button,$ROOT_X + 3*$GRID_X,$ROOT_Y + 2*$GRID_Y) move_control_px($latch_button,$ROOT_X + 3*$GRID_X + $GRID_X/2-2,$ROOT_Y + 2*$GRID_Y) move_control($length_menu,4,4) move_control($Remix_onoff,6,2) move_control($Remix_type,6,3) move_control($Global_Options_Label,3,2) move_control($Swing,3,3) move_control($velocity_label,1,6) move_control($Edit_Menu,1,12) move_control($copy_1_2,3,12) move_control($step_32_button,4,12) move_control($NoteNr_Label,5,12) move_control_px ($learn_trk_note_button,$ROOT_X + 5*$GRID_X,$ROOT_Y + 11*$GRID_Y) move_control_px($trk_note_vedit,$ROOT_X + 5*$GRID_X+$GRID_X/2 - 4,$ROOT_Y + 11*$GRID_Y) move_control(%grid_table1,1,7) move_control(%PitchDisplay1,1,8) move_control(%VelDisplay1,1,10) move_control(%grid_table2,4,7) move_control(%PitchDisplay2,4,8) move_control(%VelDisplay2,4,10) {******** 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 $pattern_note_vedit := 60 $trk_note_vedit := 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(%grid_table1, 16) set_table_steps_shown(%veldisplay2, 16) set_table_steps_shown(%pitchdisplay2, 16) set_table_steps_shown(%grid_table2, 16) else set_table_steps_shown(%veldisplay1, 32) set_table_steps_shown(%pitchdisplay1, 32) set_table_steps_shown(%grid_table1, 32) set_table_steps_shown(%veldisplay2, 32) set_table_steps_shown(%pitchdisplay2, 32) set_table_steps_shown(%grid_table2, 32) end if _read_persistent_var($pattern_note_vedit) _read_persistent_var(%track_note) $trk_note_vedit := %track_note[$selected_track] set_knob_label ($Pattern,!note_names[$pattern_note_vedit + $new_pattern]) _read_persistent_var($Pattern) set_knob_label ($Pattern,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) declare %KEY_DOWN_OWN[128] if ($step_32_button = 1) $a := 0 while($a < 32) if ($a mod 8 = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if inc($a) end while else $a := 0 while($a < 16) if ($a mod 4 = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if inc($a) end while end if {*** neuer Bereich *******} _read_persistent_var($selected_track) _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_knob_label($Remix_type,"Nr: "&$Remix_type+1) end on on note %KEY_DOWN_OWN[$EVENT_NOTE] := 1 {********** Learn Note ON *********** Track Knob} if ($learn_trk_note_button = 1) $trk_note_vedit := $EVENT_NOTE %track_note[$selected_track] := $EVENT_NOTE $learn_trk_note_button := 0 exit end if {********** Learn PatternNote ON *********** Pattern Knob} if ($learn_pattern_note_button = 1) if ($EVENT_NOTE < 128 - 12) $pattern_note_vedit := $EVENT_NOTE $pattern := 0 set_knob_label ($Pattern,$pattern+1&": "&!note_names[$pattern_note_vedit]) $learn_pattern_note_button := 0 end if exit end if {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) ignore_event($EVENT_ID) 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_knob_label ($Pattern,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 $track_9_button := 0 $track_10_button := 0 $track_11_button := 0 $track_12_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 case 8 $track_9_button := 1 case 9 $track_10_button := 1 case 10 $track_11_button := 1 case 11 $track_12_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 case 8 $track_9_button := 0 case 9 $track_10_button := 0 case 10 $track_11_button := 0 case 11 $track_12_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 case 8 $track_9_button := 1 case 9 $track_10_button := 1 case 10 $track_11_button := 1 case 11 $track_12_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*($step_32_button+1)) if ($a = $cursor/(2-$step_32_button)) if($bar_1_button = 1) %grid_table1[$a] := 1 else %grid_table2[$a] := 1 end if else if ($a mod (4*($step_32_button+1)) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if end if inc($a) end while $cursor := $cursor + 1{(2-$step_32_button)} if ($cursor > 31 ) $cursor := 0 if ($length_menu = 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+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 $track_9_button := 0 $track_10_button := 0 $track_11_button := 0 $track_12_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 case 8 $track_9_button := 1 case 9 $track_10_button := 1 case 10 $track_11_button := 1 case 11 $track_12_button := 1 end select else $a := 0 while($a < 12) 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 case 8 $track_9_button := 1 wait(100000) $track_9_button := 0 case 9 $track_10_button := 1 wait(100000) $track_10_button := 0 case 10 $track_11_button := 1 wait(100000) $track_11_button := 0 case 11 $track_12_button := 1 wait(100000) $track_12_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 case 8 $track_9_button := 1 case 9 $track_10_button := 1 case 10 $track_11_button := 1 case 11 $track_12_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(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 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+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if inc($a) end while $Edit_Menu := 100 end on on ui_control ($step_32_button) %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(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER else %grid_table1[$a] := $NIX end if inc($a) end while end on on ui_control (%grid_table2) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table2[$a] := $QUARTER else %grid_table2[$a] := $NIX end if inc($a) end while end on on ui_control ($Pattern) set_knob_label ($Pattern,$pattern+1&": "&!note_names[$pattern_note_vedit + $pattern]) $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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_note_vedit) $pattern := 0 set_knob_label ($Pattern,$pattern+1&": "&!note_names[$pattern_note_vedit]) $learn_pattern_note_button := 0 end on on ui_control ($trk_note_vedit) %track_note[$selected_track] := $trk_note_vedit $learn_trk_note_button := 0 end on on ui_control($Remix_type) set_knob_label($Remix_type,"Nr: "&$Remix_type+1) end on on ui_control ($learn_trk_note_button) if ($learn_trk_note_button = 1) $learn_pattern_note_button := 0 end if end on on ui_control ($learn_pattern_note_button) if ($learn_pattern_note_button = 1) $learn_trk_note_button := 0 end if end on on ui_control ($track_1_button) $count := 0 while ($count < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_1_button := 1 $selected_track := 0 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_2_button := 1 $selected_track := 1 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_3_button := 1 $selected_track := 2 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_4_button := 1 $selected_track := 3 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_5_button := 1 $selected_track := 4 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_6_button := 1 $selected_track := 5 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_7_button := 1 $selected_track := 6 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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 < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_8_button := 1 $selected_track := 7 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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_9_button) $count := 0 while ($count < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_9_button := 1 $selected_track := 8 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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_10_button) $count := 0 while ($count < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_10_button := 1 $selected_track := 9 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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_11_button) $count := 0 while ($count < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_11_button := 1 $selected_track := 10 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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_12_button) $count := 0 while ($count < 12) set_control_par(%track_button_id[$count],$CONTROL_PAR_VALUE,0) inc($count) end while $track_12_button := 1 $selected_track := 11 $trk_note_vedit := %track_note[$selected_track] $step_32_button := %stepnr_data[$pattern*12 + $selected_track] set_table_steps_shown(%veldisplay1, 16+($step_32_button*16)) set_table_steps_shown(%pitchdisplay1, 16+($step_32_button*16)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 16+($step_32_button*16)) $a := 0 while($a < 16+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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] set_table_steps_shown(%veldisplay1, 16*($step_32_button+1)) set_table_steps_shown(%pitchdisplay1, 16*($step_32_button+1)) set_table_steps_shown(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 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+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if 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(%grid_table1, 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)) set_table_steps_shown(%grid_table2, 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+(16*$step_32_button)) if ($a mod (4+$step_32_button*4) = 0) %grid_table1[$a] := $QUARTER %grid_table2[$a] := $QUARTER else %grid_table1[$a] := $NIX %grid_table2[$a] := $NIX end if inc($a) end while $copy_1_2 := 0 end on