mirror of
https://github.com/cyberboy666/r_e_c_u_r.git
synced 2025-12-13 11:50:12 +01:00
Merge branch 'feature_plugins' of https://github.com/langolierz/r_e_c_u_r into feature_plugins
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Auto-generated Actions list
|
# Auto-generated Actions list
|
||||||
|
|
||||||
Tue 10 Mar 23:48:45 UTC 2020
|
Sat 14 Mar 23:19:42 UTC 2020
|
||||||
|
|
||||||
for branch=feature_plugins
|
for branch=feature_plugins
|
||||||
|
|
||||||
|
|||||||
@@ -2,153 +2,282 @@
|
|||||||
|
|
||||||
| Note/CC | Mode | Action (default) | Action (with FN) |
|
| Note/CC | Mode | Action (default) | Action (with FN) |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| control_change 0 | NAV_DETOUR | set_detour_mix_continuous | |
|
| control_change 0 | NAV_LFO | set_lfo_modulation_0_level | |
|
||||||
|
| control_change 0 | NAV_SND | sound_set_config_energy_gain | |
|
||||||
|
| control_change 0 | NAV_MANI | set_variable_A | |
|
||||||
| control_change 0 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | set_strobe_amount_continuous | |
|
| control_change 0 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | set_strobe_amount_continuous | |
|
||||||
| control_change 1 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
| control_change 0 | NAV_LPRC | set_automation_speed | |
|
||||||
|
| control_change 0 | NAV_WJMX | wj_set_position_N:x | |
|
||||||
|
| control_change 0 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
||||||
|
| control_change 1 | NAV_SND | sound_set_config_energy_threshold | |
|
||||||
|
| control_change 1 | NAV_WJMX | wj_set_position_N:y | |
|
||||||
|
| control_change 1 | NAV_MANI | f:sin(x*pi):|set_variable_SIN | |
|
||||||
|
| control_change 1 | NAV_LFO | set_lfo_modulation_1_level | |
|
||||||
| control_change 1 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | set_shader_speed_layer_0_amount | |
|
| control_change 1 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | set_shader_speed_layer_0_amount | |
|
||||||
|
| control_change 1 | NAV_DETOUR | set_detour_start_continuous | |
|
||||||
| control_change 10 | DEFAULT | set_the_shader_param_2_layer_offset_2_continuous | |
|
| control_change 10 | DEFAULT | set_the_shader_param_2_layer_offset_2_continuous | |
|
||||||
| control_change 11 | DEFAULT | set_the_shader_param_3_layer_offset_2_continuous | |
|
| control_change 11 | DEFAULT | set_the_shader_param_3_layer_offset_2_continuous | |
|
||||||
| control_change 12 | DEFAULT | set_strobe_amount_continuous | |
|
| control_change 12 | DEFAULT | set_strobe_amount_continuous | |
|
||||||
| control_change 2 | NAV_DETOUR | set_detour_start_continuous | |
|
| control_change 16 | DEFAULT | set_the_shader_param_0_layer_offset_2_continuous | |
|
||||||
|
| control_change 17 | DEFAULT | set_the_shader_param_1_layer_offset_2_continuous | |
|
||||||
|
| control_change 18 | DEFAULT | set_the_shader_param_2_layer_offset_2_continuous | |
|
||||||
|
| control_change 19 | DEFAULT | set_the_shader_param_3_layer_offset_2_continuous | |
|
||||||
|
| control_change 2 | NAV_LFO | set_lfo_modulation_2_level | |
|
||||||
| control_change 2 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | set_shader_speed_layer_1_amount | |
|
| control_change 2 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | set_shader_speed_layer_1_amount | |
|
||||||
| control_change 3 | NAV_DETOUR | set_detour_end_continuous | |
|
| control_change 2 | NAV_WJMX | wj_set_colour_T:x | |
|
||||||
|
| control_change 2 | NAV_DETOUR | set_detour_end_continuous | |
|
||||||
|
| control_change 20 | DEFAULT | set_strobe_amount_continuous | |
|
||||||
|
| control_change 3 | NAV_LFO | set_lfo_modulation_3_level | |
|
||||||
| control_change 3 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | set_shader_speed_layer_2_amount | |
|
| control_change 3 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | set_shader_speed_layer_2_amount | |
|
||||||
| control_change 4 | DEFAULT | set_the_shader_param_0_layer_offset_1_continuous | |
|
| control_change 3 | NAV_WJMX | wj_set_colour_T:y | |
|
||||||
| control_change 5 | DEFAULT | set_the_shader_param_1_layer_offset_1_continuous | |
|
| control_change 32 | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
||||||
| control_change 6 | DEFAULT | set_the_shader_param_2_layer_offset_1_continuous | |
|
| control_change 32 | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
||||||
| control_change 7 | DEFAULT | set_the_shader_param_3_layer_offset_1_continuous | |
|
| control_change 32 | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
||||||
|
| control_change 32 | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
||||||
|
| control_change 33 | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
||||||
|
| control_change 33 | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
||||||
|
| control_change 33 | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
||||||
|
| control_change 33 | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
||||||
|
| control_change 34 | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
||||||
|
| control_change 34 | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
||||||
|
| control_change 34 | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
||||||
|
| control_change 34 | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
||||||
|
| control_change 35 | DEFAULT | load_slot_3_into_next_player | |
|
||||||
|
| control_change 35 | PLAY_SHADER | play_shader_3 | |
|
||||||
|
| control_change 35 | NAV_DETOUR | switch_to_detour_3 | |
|
||||||
|
| control_change 36 | DEFAULT | load_slot_4_into_next_player | |
|
||||||
|
| control_change 36 | PLAY_SHADER | play_shader_4 | |
|
||||||
|
| control_change 37 | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
||||||
|
| control_change 37 | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
||||||
|
| control_change 38 | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
||||||
|
| control_change 38 | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
||||||
|
| control_change 39 | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
||||||
|
| control_change 39 | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
||||||
|
| control_change 4 | NAV_LFO | set_lfo_speed | |
|
||||||
|
| control_change 4 | DEFAULT | set_the_shader_param_0_layer_offset_1_continuous | set_param_0_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| control_change 4 | NAV_SND | sound_set_modulation_energy_slot_0_level | |
|
||||||
|
| control_change 4 | NAV_WJMX | wj_set_mix | wj_set_current_modulation_slot_0_level | |
|
||||||
|
| control_change 41 | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
||||||
|
| control_change 41 | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
||||||
|
| control_change 42 | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
||||||
|
| control_change 42 | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
||||||
|
| control_change 42 | NAV_SETTINGS | enter_on_settings_selection | |
|
||||||
|
| control_change 42 | CONFIRM | perform_confirm_action | |
|
||||||
|
| control_change 42 | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
||||||
|
| control_change 42 | SHADER_PARAM | return_to_default_control_mode | |
|
||||||
|
| control_change 42 | NAV_BROWSER | enter_on_browser_selection | |
|
||||||
|
| control_change 42 | LENGTH_SET | record_fixed_length | |
|
||||||
|
| control_change 42 | NAV_DETOUR | toggle_detour_play | |
|
||||||
|
| control_change 43 | NAV_SHADERS | move_shaders_selection_up | move_shaders_selection_page_up | |
|
||||||
|
| control_change 43 | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
||||||
|
| control_change 43 | NAV_SETTINGS | move_settings_selection_up | move_settings_selection_page_up | |
|
||||||
|
| control_change 43 | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
||||||
|
| control_change 43 | CONFIRM | return_to_default_control_mode | |
|
||||||
|
| control_change 43 | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
||||||
|
| control_change 43 | NAV_PLUGINS | enter_on_plugins_selection | |
|
||||||
|
| control_change 43 | NAV_BROWSER | move_browser_selection_up | move_browser_selection_page_up | |
|
||||||
|
| control_change 43 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| control_change 44 | NAV_SHADERS | move_shaders_selection_down | move_shaders_selection_page_down | |
|
||||||
|
| control_change 44 | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
||||||
|
| control_change 44 | NAV_SETTINGS | move_settings_selection_down | move_settings_selection_page_down | |
|
||||||
|
| control_change 44 | CONFIRM | return_to_default_control_mode | |
|
||||||
|
| control_change 44 | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
||||||
|
| control_change 44 | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
||||||
|
| control_change 44 | NAV_BROWSER | move_browser_selection_down | move_browser_selection_page_down | |
|
||||||
|
| control_change 44 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| control_change 45 | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
||||||
|
| control_change 46 | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
||||||
|
| control_change 48 | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
||||||
|
| control_change 48 | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
||||||
|
| control_change 49 | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
||||||
|
| control_change 49 | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
||||||
|
| control_change 5 | DEFAULT | set_the_shader_param_1_layer_offset_1_continuous | set_param_1_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| control_change 5 | NAV_SND | sound_set_modulation_energy_slot_1_level | |
|
||||||
|
| control_change 5 | NAV_WJMX | wj_set_back_colour:h | wj_set_current_modulation_slot_1_level | |
|
||||||
|
| control_change 51 | DEFAULT | toggle_x3_as_speed | |
|
||||||
|
| control_change 52 | DEFAULT | toggle_feedback | |
|
||||||
|
| control_change 53 | DEFAULT | toggle_shader_layer_0 | |
|
||||||
|
| control_change 54 | DEFAULT | toggle_shader_layer_1 | |
|
||||||
|
| control_change 55 | DEFAULT | toggle_shader_layer_2 | |
|
||||||
|
| control_change 58 | NAV_SHADERS | move_shaders_selection_up | move_shaders_selection_page_up | |
|
||||||
|
| control_change 58 | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
||||||
|
| control_change 58 | NAV_SETTINGS | move_settings_selection_up | move_settings_selection_page_up | |
|
||||||
|
| control_change 58 | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
||||||
|
| control_change 58 | CONFIRM | return_to_default_control_mode | |
|
||||||
|
| control_change 58 | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
||||||
|
| control_change 58 | NAV_PLUGINS | move_plugins_selection_up | move_plugins_selection_page_up | |
|
||||||
|
| control_change 58 | NAV_BROWSER | move_browser_selection_up | move_browser_selection_page_up | |
|
||||||
|
| control_change 58 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| control_change 59 | NAV_SHADERS | move_shaders_selection_down | move_shaders_selection_page_down | |
|
||||||
|
| control_change 59 | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
||||||
|
| control_change 59 | NAV_SETTINGS | move_settings_selection_down | move_settings_selection_page_down | |
|
||||||
|
| control_change 59 | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
||||||
|
| control_change 59 | CONFIRM | return_to_default_control_mode | |
|
||||||
|
| control_change 59 | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
||||||
|
| control_change 59 | NAV_PLUGINS | move_plugins_selection_down | move_plugins_selection_page_down | |
|
||||||
|
| control_change 59 | NAV_BROWSER | move_browser_selection_down | move_browser_selection_page_down | |
|
||||||
|
| control_change 59 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| control_change 6 | DEFAULT | set_the_shader_param_2_layer_offset_1_continuous | set_param_2_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| control_change 6 | NAV_SND | sound_set_modulation_energy_slot_2_level | |
|
||||||
|
| control_change 6 | NAV_WJMX | wj_set_back_colour:s | wj_set_current_modulation_slot_2_level | |
|
||||||
|
| control_change 60 | DEFAULT | toggle_function | |
|
||||||
|
| control_change 61 | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
||||||
|
| control_change 61 | SHADER_PARAM | decrease_param_focus | |
|
||||||
|
| control_change 61 | PLAY_SHADER | decrease_param_focus | |
|
||||||
|
| control_change 61 | NAV_DETOUR | decrease_mix_shader | |
|
||||||
|
| control_change 62 | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
||||||
|
| control_change 62 | SHADER_PARAM | increase_param_focus | |
|
||||||
|
| control_change 62 | PLAY_SHADER | increase_param_focus | |
|
||||||
|
| control_change 62 | NAV_DETOUR | increase_mix_shader | |
|
||||||
|
| control_change 64 | DEFAULT | play_shader_0 | |
|
||||||
|
| control_change 65 | DEFAULT | play_shader_1 | |
|
||||||
|
| control_change 66 | DEFAULT | play_shader_2 | |
|
||||||
|
| control_change 67 | DEFAULT | play_shader_3 | |
|
||||||
|
| control_change 68 | DEFAULT | play_shader_4 | |
|
||||||
|
| control_change 69 | DEFAULT | play_shader_5 | |
|
||||||
|
| control_change 7 | DEFAULT | set_the_shader_param_3_layer_offset_1_continuous | set_param_3_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| control_change 7 | NAV_SND | sound_set_modulation_energy_slot_3_level | |
|
||||||
|
| control_change 7 | NAV_WJMX | wj_set_back_colour:v | wj_set_current_modulation_slot_3_level | |
|
||||||
|
| control_change 70 | DEFAULT | play_shader_6 | |
|
||||||
|
| control_change 71 | DEFAULT | play_shader_7 | |
|
||||||
| control_change 8 | DEFAULT | set_the_shader_param_0_layer_offset_2_continuous | |
|
| control_change 8 | DEFAULT | set_the_shader_param_0_layer_offset_2_continuous | |
|
||||||
| control_change 9 | DEFAULT | set_the_shader_param_1_layer_offset_2_continuous | |
|
| control_change 9 | DEFAULT | set_the_shader_param_1_layer_offset_2_continuous | |
|
||||||
| note_on 36 | LENGTH_SET | return_to_default_control_mode | |
|
| note_on 36 | NAV_SHADERS | move_shaders_selection_up | move_shaders_selection_page_up | |
|
||||||
| note_on 36 | CONFIRM | return_to_default_control_mode | |
|
|
||||||
| note_on 36 | NAV_BROWSER | move_browser_selection_up | |
|
|
||||||
| note_on 36 | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
| note_on 36 | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
||||||
| note_on 36 | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
| note_on 36 | NAV_SETTINGS | move_settings_selection_up | move_settings_selection_page_up | |
|
||||||
| note_on 36 | NAV_SHADERS | move_shaders_selection_up | |
|
|
||||||
| note_on 36 | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
| note_on 36 | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
||||||
| note_on 36 | NAV_SETTINGS | move_settings_selection_up | |
|
| note_on 36 | CONFIRM | return_to_default_control_mode | |
|
||||||
| note_on 37 | LENGTH_SET | return_to_default_control_mode | |
|
| note_on 36 | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
||||||
| note_on 37 | CONFIRM | return_to_default_control_mode | |
|
| note_on 36 | NAV_PLUGINS | move_plugins_selection_up | move_plugins_selection_page_up | |
|
||||||
| note_on 37 | NAV_BROWSER | move_browser_selection_down | |
|
| note_on 36 | NAV_BROWSER | move_browser_selection_up | move_browser_selection_page_up | |
|
||||||
|
| note_on 36 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| note_on 37 | NAV_SHADERS | move_shaders_selection_down | move_shaders_selection_page_down | |
|
||||||
| note_on 37 | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
| note_on 37 | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
||||||
| note_on 37 | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
| note_on 37 | NAV_SETTINGS | move_settings_selection_down | move_settings_selection_page_down | |
|
||||||
| note_on 37 | NAV_SHADERS | move_shaders_selection_down | |
|
|
||||||
| note_on 37 | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
| note_on 37 | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
||||||
| note_on 37 | NAV_SETTINGS | move_settings_selection_down | |
|
| note_on 37 | CONFIRM | return_to_default_control_mode | |
|
||||||
| note_on 38 | LENGTH_SET | record_fixed_length | |
|
| note_on 37 | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
||||||
| note_on 38 | CONFIRM | perform_confirm_action | |
|
| note_on 37 | NAV_PLUGINS | move_plugins_selection_down | move_plugins_selection_page_down | |
|
||||||
| note_on 38 | NAV_DETOUR | toggle_detour_play | |
|
| note_on 37 | NAV_BROWSER | move_browser_selection_down | move_browser_selection_page_down | |
|
||||||
| note_on 38 | NAV_BROWSER | enter_on_browser_selection | |
|
| note_on 37 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
| note_on 38 | SHADER_PARAM | return_to_default_control_mode | |
|
|
||||||
| note_on 38 | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
|
||||||
| note_on 38 | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
| note_on 38 | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
||||||
| note_on 38 | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
| note_on 38 | SHADER_PARAM | return_to_default_control_mode | |
|
||||||
| note_on 38 | NAV_SETTINGS | enter_on_settings_selection | |
|
| note_on 38 | NAV_SETTINGS | enter_on_settings_selection | |
|
||||||
| note_on 39 | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
| note_on 38 | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
||||||
|
| note_on 38 | CONFIRM | perform_confirm_action | |
|
||||||
|
| note_on 38 | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
||||||
|
| note_on 38 | NAV_PLUGINS | enter_on_plugins_selection | |
|
||||||
|
| note_on 38 | NAV_BROWSER | enter_on_browser_selection | |
|
||||||
|
| note_on 38 | LENGTH_SET | record_fixed_length | |
|
||||||
|
| note_on 38 | NAV_DETOUR | toggle_detour_play | |
|
||||||
| note_on 39 | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
| note_on 39 | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
||||||
| note_on 40 | SHADER_PARAM | decrease_param_focus | |
|
| note_on 39 | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
||||||
| note_on 40 | NAV_DETOUR | decrease_mix_shader | |
|
|
||||||
| note_on 40 | PLAY_SHADER | decrease_param_focus | |
|
|
||||||
| note_on 40 | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
| note_on 40 | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
||||||
| note_on 41 | SHADER_PARAM | increase_param_focus | |
|
| note_on 40 | SHADER_PARAM | decrease_param_focus | |
|
||||||
| note_on 41 | NAV_DETOUR | increase_mix_shader | |
|
| note_on 40 | PLAY_SHADER | decrease_param_focus | |
|
||||||
| note_on 41 | PLAY_SHADER | increase_param_focus | |
|
| note_on 40 | NAV_DETOUR | decrease_mix_shader | |
|
||||||
| note_on 41 | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
| note_on 41 | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
||||||
|
| note_on 41 | SHADER_PARAM | increase_param_focus | |
|
||||||
|
| note_on 41 | PLAY_SHADER | increase_param_focus | |
|
||||||
|
| note_on 41 | NAV_DETOUR | increase_mix_shader | |
|
||||||
| note_on 42 | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
| note_on 42 | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
||||||
| note_on 43 | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
| note_on 43 | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
||||||
| note_on 44 | DEFAULT | toggle_function | |
|
| note_on 44 | DEFAULT | toggle_function | |
|
||||||
| note_on 45 | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
| note_on 45 | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
||||||
| note_on 45 | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
|
||||||
| note_on 45 | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
|
||||||
| note_on 45 | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
| note_on 45 | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
||||||
|
| note_on 45 | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
||||||
|
| note_on 45 | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
||||||
| note_on 46 | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
| note_on 46 | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
||||||
| note_on 46 | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
|
||||||
| note_on 46 | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
|
||||||
| note_on 46 | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
| note_on 46 | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
||||||
|
| note_on 46 | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
||||||
|
| note_on 46 | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
||||||
| note_on 47 | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
| note_on 47 | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
||||||
| note_on 47 | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
|
||||||
| note_on 47 | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
|
||||||
| note_on 47 | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
| note_on 47 | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
||||||
| note_on 48 | NAV_DETOUR | switch_to_detour_3 | |
|
| note_on 47 | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
||||||
| note_on 48 | PLAY_SHADER | play_shader_3 | |
|
| note_on 47 | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
||||||
| note_on 48 | DEFAULT | load_slot_3_into_next_player | |
|
| note_on 48 | DEFAULT | load_slot_3_into_next_player | |
|
||||||
| note_on 49 | PLAY_SHADER | play_shader_4 | |
|
| note_on 48 | PLAY_SHADER | play_shader_3 | |
|
||||||
|
| note_on 48 | NAV_DETOUR | switch_to_detour_3 | |
|
||||||
| note_on 49 | DEFAULT | load_slot_4_into_next_player | |
|
| note_on 49 | DEFAULT | load_slot_4_into_next_player | |
|
||||||
| note_on 50 | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
| note_on 49 | PLAY_SHADER | play_shader_4 | |
|
||||||
| note_on 50 | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
| note_on 50 | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
||||||
| note_on 51 | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
| note_on 50 | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
||||||
| note_on 51 | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
| note_on 51 | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
||||||
| note_on 52 | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
| note_on 51 | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
||||||
| note_on 52 | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
| note_on 52 | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
||||||
| note_on 53 | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
| note_on 52 | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
||||||
| note_on 53 | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
| note_on 53 | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
||||||
| note_on 54 | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
| note_on 53 | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
||||||
| note_on 54 | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
| note_on 54 | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
||||||
| note_on 72 | LENGTH_SET | return_to_default_control_mode | |
|
| note_on 54 | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
||||||
| note_on 72 | CONFIRM | return_to_default_control_mode | |
|
| note_on 72 | NAV_SHADERS | move_shaders_selection_up | move_shaders_selection_page_up | |
|
||||||
| note_on 72 | NAV_BROWSER | move_browser_selection_up | |
|
|
||||||
| note_on 72 | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
| note_on 72 | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
||||||
| note_on 72 | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
| note_on 72 | NAV_SETTINGS | move_settings_selection_up | move_settings_selection_page_up | |
|
||||||
| note_on 72 | NAV_SHADERS | move_shaders_selection_up | |
|
|
||||||
| note_on 72 | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
| note_on 72 | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
||||||
| note_on 72 | NAV_SETTINGS | move_settings_selection_up | |
|
| note_on 72 | CONFIRM | return_to_default_control_mode | |
|
||||||
| note_on 73 | LENGTH_SET | return_to_default_control_mode | |
|
| note_on 72 | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
||||||
| note_on 73 | CONFIRM | return_to_default_control_mode | |
|
| note_on 72 | NAV_PLUGINS | move_plugins_selection_up | move_plugins_selection_page_up | |
|
||||||
| note_on 73 | NAV_BROWSER | move_browser_selection_down | |
|
| note_on 72 | NAV_BROWSER | move_browser_selection_up | move_browser_selection_page_up | |
|
||||||
|
| note_on 72 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| note_on 73 | NAV_SHADERS | move_shaders_selection_down | move_shaders_selection_page_down | |
|
||||||
| note_on 73 | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
| note_on 73 | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
||||||
| note_on 73 | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
| note_on 73 | NAV_SETTINGS | move_settings_selection_down | move_settings_selection_page_down | |
|
||||||
| note_on 73 | NAV_SHADERS | move_shaders_selection_down | |
|
|
||||||
| note_on 73 | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
| note_on 73 | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
||||||
| note_on 73 | NAV_SETTINGS | move_settings_selection_down | |
|
| note_on 73 | CONFIRM | return_to_default_control_mode | |
|
||||||
| note_on 74 | LENGTH_SET | record_fixed_length | |
|
| note_on 73 | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
||||||
| note_on 74 | CONFIRM | perform_confirm_action | |
|
| note_on 73 | NAV_PLUGINS | move_plugins_selection_down | move_plugins_selection_page_down | |
|
||||||
| note_on 74 | NAV_DETOUR | toggle_detour_play | |
|
| note_on 73 | NAV_BROWSER | move_browser_selection_down | move_browser_selection_page_down | |
|
||||||
| note_on 74 | NAV_BROWSER | enter_on_browser_selection | |
|
| note_on 73 | LENGTH_SET | return_to_default_control_mode | |
|
||||||
| note_on 74 | SHADER_PARAM | return_to_default_control_mode | |
|
|
||||||
| note_on 74 | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
|
||||||
| note_on 74 | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
| note_on 74 | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
||||||
| note_on 74 | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
| note_on 74 | SHADER_PARAM | return_to_default_control_mode | |
|
||||||
| note_on 74 | NAV_SETTINGS | enter_on_settings_selection | |
|
| note_on 74 | NAV_SETTINGS | enter_on_settings_selection | |
|
||||||
| note_on 75 | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
| note_on 74 | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
||||||
|
| note_on 74 | CONFIRM | perform_confirm_action | |
|
||||||
|
| note_on 74 | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
||||||
|
| note_on 74 | NAV_PLUGINS | enter_on_plugins_selection | |
|
||||||
|
| note_on 74 | NAV_BROWSER | enter_on_browser_selection | |
|
||||||
|
| note_on 74 | LENGTH_SET | record_fixed_length | |
|
||||||
|
| note_on 74 | NAV_DETOUR | toggle_detour_play | |
|
||||||
| note_on 75 | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
| note_on 75 | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
||||||
| note_on 76 | SHADER_PARAM | decrease_param_focus | |
|
| note_on 75 | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
||||||
| note_on 76 | NAV_DETOUR | decrease_mix_shader | |
|
|
||||||
| note_on 76 | PLAY_SHADER | decrease_param_focus | |
|
|
||||||
| note_on 76 | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
| note_on 76 | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
||||||
| note_on 77 | SHADER_PARAM | increase_param_focus | |
|
| note_on 76 | SHADER_PARAM | decrease_param_focus | |
|
||||||
| note_on 77 | NAV_DETOUR | increase_mix_shader | |
|
| note_on 76 | PLAY_SHADER | decrease_param_focus | |
|
||||||
| note_on 77 | PLAY_SHADER | increase_param_focus | |
|
| note_on 76 | NAV_DETOUR | decrease_mix_shader | |
|
||||||
| note_on 77 | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
| note_on 77 | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
||||||
|
| note_on 77 | SHADER_PARAM | increase_param_focus | |
|
||||||
|
| note_on 77 | PLAY_SHADER | increase_param_focus | |
|
||||||
|
| note_on 77 | NAV_DETOUR | increase_mix_shader | |
|
||||||
| note_on 78 | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
| note_on 78 | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
||||||
| note_on 79 | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
| note_on 79 | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
||||||
| note_on 80 | DEFAULT | toggle_function | |
|
| note_on 80 | DEFAULT | toggle_function | |
|
||||||
| note_on 81 | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
| note_on 81 | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
||||||
| note_on 81 | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
|
||||||
| note_on 81 | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
|
||||||
| note_on 81 | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
| note_on 81 | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
||||||
|
| note_on 81 | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
||||||
|
| note_on 81 | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
||||||
| note_on 82 | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
| note_on 82 | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
||||||
| note_on 82 | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
|
||||||
| note_on 82 | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
|
||||||
| note_on 82 | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
| note_on 82 | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
||||||
|
| note_on 82 | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
||||||
|
| note_on 82 | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
||||||
| note_on 83 | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
| note_on 83 | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
||||||
| note_on 83 | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
|
||||||
| note_on 83 | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
|
||||||
| note_on 83 | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
| note_on 83 | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
||||||
| note_on 84 | NAV_DETOUR | switch_to_detour_3 | |
|
| note_on 83 | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
||||||
| note_on 84 | PLAY_SHADER | play_shader_3 | |
|
| note_on 83 | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
||||||
| note_on 84 | DEFAULT | load_slot_3_into_next_player | |
|
| note_on 84 | DEFAULT | load_slot_3_into_next_player | |
|
||||||
| note_on 85 | PLAY_SHADER | play_shader_4 | |
|
| note_on 84 | PLAY_SHADER | play_shader_3 | |
|
||||||
|
| note_on 84 | NAV_DETOUR | switch_to_detour_3 | |
|
||||||
| note_on 85 | DEFAULT | load_slot_4_into_next_player | |
|
| note_on 85 | DEFAULT | load_slot_4_into_next_player | |
|
||||||
| note_on 86 | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
| note_on 85 | PLAY_SHADER | play_shader_4 | |
|
||||||
| note_on 86 | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
| note_on 86 | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
||||||
| note_on 87 | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
| note_on 86 | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
||||||
| note_on 87 | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
| note_on 87 | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
||||||
| note_on 88 | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
| note_on 87 | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
||||||
| note_on 88 | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
| note_on 88 | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
||||||
| note_on 89 | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
| note_on 88 | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
||||||
| note_on 89 | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
| note_on 89 | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
||||||
| note_on 90 | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
| note_on 89 | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
||||||
| note_on 90 | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
| note_on 90 | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
||||||
|
| note_on 90 | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -159,80 +288,128 @@
|
|||||||
| /high | DEFAULT | modulate_param_3_to_amount_continuous | |
|
| /high | DEFAULT | modulate_param_3_to_amount_continuous | |
|
||||||
| /himid | DEFAULT | modulate_param_2_to_amount_continuous | |
|
| /himid | DEFAULT | modulate_param_2_to_amount_continuous | |
|
||||||
| /kick | DEFAULT | modulate_param_1_to_amount_continuous | |
|
| /kick | DEFAULT | modulate_param_1_to_amount_continuous | |
|
||||||
| /shaderparam0 | NAV_DETOUR | set_detour_mix_continuous | |
|
| /shaderparam0 | NAV_LFO | set_lfo_modulation_0_level | |
|
||||||
| /shaderparam0 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | |
|
| /shaderparam0 | NAV_SND | sound_set_config_energy_gain | |
|
||||||
| /shaderparam1 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
| /shaderparam0 | NAV_MANI | set_variable_A | |
|
||||||
| /shaderparam1 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | |
|
| /shaderparam0 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | set_strobe_amount_continuous | |
|
||||||
| /shaderparam2 | NAV_DETOUR | set_detour_start_continuous | |
|
| /shaderparam0 | NAV_LPRC | set_automation_speed | |
|
||||||
| /shaderparam2 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | |
|
| /shaderparam0 | NAV_WJMX | wj_set_position_N:x | |
|
||||||
| /shaderparam3 | NAV_DETOUR | set_detour_end_continuous | |
|
| /shaderparam0 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
||||||
| /shaderparam3 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | |
|
| /shaderparam04 | NAV_LFO | set_lfo_speed | |
|
||||||
|
| /shaderparam04 | DEFAULT | set_the_shader_param_0_layer_offset_1_continuous | set_param_0_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| /shaderparam04 | NAV_SND | sound_set_modulation_energy_slot_0_level | |
|
||||||
|
| /shaderparam04 | NAV_WJMX | wj_set_mix | wj_set_current_modulation_slot_0_level | |
|
||||||
|
| /shaderparam1 | NAV_SND | sound_set_config_energy_threshold | |
|
||||||
|
| /shaderparam1 | NAV_WJMX | wj_set_position_N:y | |
|
||||||
|
| /shaderparam1 | NAV_MANI | f:sin(x*pi):|set_variable_SIN | |
|
||||||
|
| /shaderparam1 | NAV_LFO | set_lfo_modulation_1_level | |
|
||||||
|
| /shaderparam1 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | set_shader_speed_layer_0_amount | |
|
||||||
|
| /shaderparam1 | NAV_DETOUR | set_detour_start_continuous | |
|
||||||
|
| /shaderparam10 | DEFAULT | set_the_shader_param_2_layer_offset_2_continuous | |
|
||||||
|
| /shaderparam11 | DEFAULT | set_the_shader_param_3_layer_offset_2_continuous | |
|
||||||
|
| /shaderparam12 | DEFAULT | set_strobe_amount_continuous | |
|
||||||
|
| /shaderparam2 | NAV_LFO | set_lfo_modulation_2_level | |
|
||||||
|
| /shaderparam2 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | set_shader_speed_layer_1_amount | |
|
||||||
|
| /shaderparam2 | NAV_WJMX | wj_set_colour_T:x | |
|
||||||
|
| /shaderparam2 | NAV_DETOUR | set_detour_end_continuous | |
|
||||||
|
| /shaderparam3 | NAV_LFO | set_lfo_modulation_3_level | |
|
||||||
|
| /shaderparam3 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | set_shader_speed_layer_2_amount | |
|
||||||
|
| /shaderparam3 | NAV_WJMX | wj_set_colour_T:y | |
|
||||||
|
| /shaderparam5 | DEFAULT | set_the_shader_param_1_layer_offset_1_continuous | set_param_1_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| /shaderparam5 | NAV_SND | sound_set_modulation_energy_slot_1_level | |
|
||||||
|
| /shaderparam5 | NAV_WJMX | wj_set_back_colour:h | wj_set_current_modulation_slot_1_level | |
|
||||||
|
| /shaderparam6 | DEFAULT | set_the_shader_param_2_layer_offset_1_continuous | set_param_2_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| /shaderparam6 | NAV_SND | sound_set_modulation_energy_slot_2_level | |
|
||||||
|
| /shaderparam6 | NAV_WJMX | wj_set_back_colour:s | wj_set_current_modulation_slot_2_level | |
|
||||||
|
| /shaderparam7 | DEFAULT | set_the_shader_param_3_layer_offset_1_continuous | set_param_3_layer_offset_0_modulation_level_continuous | |
|
||||||
|
| /shaderparam7 | NAV_SND | sound_set_modulation_energy_slot_3_level | |
|
||||||
|
| /shaderparam7 | NAV_WJMX | wj_set_back_colour:v | wj_set_current_modulation_slot_3_level | |
|
||||||
|
| /shaderparam8 | DEFAULT | set_the_shader_param_0_layer_offset_2_continuous | |
|
||||||
|
| /shaderparam9 | DEFAULT | set_the_shader_param_1_layer_offset_2_continuous | |
|
||||||
| /volume | DEFAULT | modulate_param_0_to_amount_continuous | |
|
| /volume | DEFAULT | modulate_param_0_to_amount_continuous | |
|
||||||
| a | LENGTH_SET | return_to_default_control_mode | |
|
| a | NAV_SHADERS | move_shaders_selection_up | move_shaders_selection_page_up | |
|
||||||
| a | CONFIRM | return_to_default_control_mode | |
|
|
||||||
| a | NAV_BROWSER | move_browser_selection_up | |
|
|
||||||
| a | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
| a | SHADER_PARAM | decrease_this_param | decrease_shader_param | |
|
||||||
| a | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
| a | NAV_SETTINGS | move_settings_selection_up | move_settings_selection_page_up | |
|
||||||
| a | NAV_SHADERS | move_shaders_selection_up | |
|
|
||||||
| a | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
| a | PLAY_SHADER | decrease_this_param | decrease_shader_param | |
|
||||||
| a | NAV_SETTINGS | move_settings_selection_up | |
|
| a | CONFIRM | return_to_default_control_mode | |
|
||||||
| b | LENGTH_SET | return_to_default_control_mode | |
|
| a | DEFAULT | seek_back_on_player | decrease_seek_time | |
|
||||||
| b | CONFIRM | return_to_default_control_mode | |
|
| a | NAV_PLUGINS | move_plugins_selection_up | move_plugins_selection_page_up | |
|
||||||
| b | NAV_BROWSER | move_browser_selection_down | |
|
| a | NAV_BROWSER | move_browser_selection_up | move_browser_selection_page_up | |
|
||||||
|
| a | LENGTH_SET | return_to_default_control_mode | |
|
||||||
|
| b | NAV_SHADERS | move_shaders_selection_down | move_shaders_selection_page_down | |
|
||||||
| b | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
| b | SHADER_PARAM | increase_this_param | increase_shader_param | |
|
||||||
| b | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
| b | NAV_SETTINGS | move_settings_selection_down | move_settings_selection_page_down | |
|
||||||
| b | NAV_SHADERS | move_shaders_selection_down | |
|
|
||||||
| b | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
| b | PLAY_SHADER | increase_this_param | increase_shader_param | |
|
||||||
| b | NAV_SETTINGS | move_settings_selection_down | |
|
| b | CONFIRM | return_to_default_control_mode | |
|
||||||
| c | LENGTH_SET | record_fixed_length | |
|
| b | DEFAULT | seek_forward_on_player | increase_seek_time | |
|
||||||
| c | CONFIRM | perform_confirm_action | |
|
| b | NAV_PLUGINS | move_plugins_selection_down | move_plugins_selection_page_down | |
|
||||||
| c | NAV_DETOUR | toggle_detour_play | |
|
| b | NAV_BROWSER | move_browser_selection_down | move_browser_selection_page_down | |
|
||||||
| c | NAV_BROWSER | enter_on_browser_selection | |
|
| b | LENGTH_SET | return_to_default_control_mode | |
|
||||||
| c | SHADER_PARAM | return_to_default_control_mode | |
|
|
||||||
| c | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
|
||||||
| c | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
| c | NAV_SHADERS | enter_on_shaders_selection | map_on_shaders_selection | |
|
||||||
| c | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
| c | SHADER_PARAM | return_to_default_control_mode | |
|
||||||
| c | NAV_SETTINGS | enter_on_settings_selection | |
|
| c | NAV_SETTINGS | enter_on_settings_selection | |
|
||||||
| d | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
| c | PLAY_SHADER | toggle_shaders | toggle_shader_speed | |
|
||||||
|
| c | CONFIRM | perform_confirm_action | |
|
||||||
|
| c | DEFAULT | toggle_action_on_player | toggle_show_on_player | |
|
||||||
|
| c | NAV_PLUGINS | enter_on_plugins_selection | |
|
||||||
|
| c | NAV_BROWSER | enter_on_browser_selection | |
|
||||||
|
| c | LENGTH_SET | record_fixed_length | |
|
||||||
|
| c | NAV_DETOUR | toggle_detour_play | |
|
||||||
| d | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
| d | DEFAULT | switch_to_next_player | toggle_player_mode | |
|
||||||
| e | SHADER_PARAM | decrease_param_focus | |
|
| d | NAV_DETOUR | toggle_detour_record | toggle_detour_record_loop | |
|
||||||
| e | NAV_DETOUR | decrease_mix_shader | |
|
|
||||||
| e | PLAY_SHADER | decrease_param_focus | |
|
|
||||||
| e | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
| e | DEFAULT | set_playing_sample_start_to_current_duration | clear_playing_sample_start_time | |
|
||||||
| f | SHADER_PARAM | increase_param_focus | |
|
| e | SHADER_PARAM | decrease_param_focus | |
|
||||||
| f | NAV_DETOUR | increase_mix_shader | |
|
| e | PLAY_SHADER | decrease_param_focus | |
|
||||||
| f | PLAY_SHADER | increase_param_focus | |
|
| e | NAV_DETOUR | decrease_mix_shader | |
|
||||||
| f | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
| f | DEFAULT | set_playing_sample_end_to_current_duration | clear_playing_sample_end_time | |
|
||||||
|
| f | SHADER_PARAM | increase_param_focus | |
|
||||||
|
| f | PLAY_SHADER | increase_param_focus | |
|
||||||
|
| f | NAV_DETOUR | increase_mix_shader | |
|
||||||
|
| feedback | DEFAULT | toggle_feedback | |
|
||||||
| g | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
| g | DEFAULT | toggle_capture_preview | toggle_capture_recording | |
|
||||||
| h | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
| h | DEFAULT | cycle_display_mode | cycle_display_mode_back | |
|
||||||
| i | DEFAULT | toggle_function | |
|
| i | DEFAULT | toggle_function | |
|
||||||
| j | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
| j | NAV_SHADERS | play_shader_0 | previous_shader_layer | |
|
||||||
| j | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
|
||||||
| j | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
|
||||||
| j | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
| j | DEFAULT | load_slot_0_into_next_player | previous_bank | |
|
||||||
|
| j | PLAY_SHADER | play_shader_0 | previous_shader_layer | |
|
||||||
|
| j | NAV_DETOUR | switch_to_detour_0 | set_the_detour_mix_0 | |
|
||||||
| k | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
| k | NAV_SHADERS | play_shader_1 | next_shader_layer | |
|
||||||
| k | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
|
||||||
| k | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
|
||||||
| k | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
| k | DEFAULT | load_slot_1_into_next_player | next_bank | |
|
||||||
|
| k | PLAY_SHADER | play_shader_1 | next_shader_layer | |
|
||||||
|
| k | NAV_DETOUR | switch_to_detour_1 | set_the_detour_mix_1 | |
|
||||||
| l | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
| l | NAV_SHADERS | play_shader_2 | clear_shader_bank | |
|
||||||
| l | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
|
||||||
| l | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
|
||||||
| l | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
| l | DEFAULT | load_slot_2_into_next_player | clear_all_slots | |
|
||||||
| m | NAV_DETOUR | switch_to_detour_3 | |
|
| l | PLAY_SHADER | play_shader_2 | clear_shader_bank | |
|
||||||
| m | PLAY_SHADER | play_shader_3 | |
|
| l | NAV_DETOUR | switch_to_detour_2 | clear_this_detour | |
|
||||||
| m | DEFAULT | load_slot_3_into_next_player | |
|
| m | DEFAULT | load_slot_3_into_next_player | |
|
||||||
| n | PLAY_SHADER | play_shader_4 | |
|
| m | PLAY_SHADER | play_shader_3 | |
|
||||||
|
| m | NAV_DETOUR | switch_to_detour_3 | |
|
||||||
| n | DEFAULT | load_slot_4_into_next_player | |
|
| n | DEFAULT | load_slot_4_into_next_player | |
|
||||||
| o | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
| n | PLAY_SHADER | play_shader_4 | |
|
||||||
| o | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
| o | DEFAULT | load_slot_5_into_next_player | toggle_screen_mirror | |
|
||||||
| p | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
| o | PLAY_SHADER | play_shader_5 | toggle_screen_mirror | |
|
||||||
| p | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
| p | DEFAULT | load_slot_6_into_next_player | toggle_shaders | |
|
||||||
| q | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
| p | PLAY_SHADER | play_shader_6 | toggle_shaders | |
|
||||||
|
| play_shader_0 | DEFAULT | play_shader_0 | |
|
||||||
|
| play_shader_1 | DEFAULT | play_shader_1 | |
|
||||||
|
| play_shader_2 | DEFAULT | play_shader_2 | |
|
||||||
|
| play_shader_3 | DEFAULT | play_shader_3 | |
|
||||||
|
| play_shader_4 | DEFAULT | play_shader_4 | |
|
||||||
|
| play_shader_5 | DEFAULT | play_shader_5 | |
|
||||||
|
| play_shader_6 | DEFAULT | play_shader_6 | |
|
||||||
|
| play_shader_7 | DEFAULT | play_shader_7 | |
|
||||||
|
| play_shader_8 | DEFAULT | play_shader_8 | |
|
||||||
|
| play_shader_9 | DEFAULT | play_shader_9 | |
|
||||||
| q | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
| q | DEFAULT | load_slot_7_into_next_player | toggle_detour_mode | |
|
||||||
| r | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
| q | PLAY_SHADER | play_shader_7 | toggle_detour_mode | |
|
||||||
| r | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
| r | DEFAULT | load_slot_8_into_next_player | toggle_feedback | |
|
||||||
| s | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
| r | PLAY_SHADER | play_shader_8 | toggle_feedback | |
|
||||||
| s | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
| s | DEFAULT | load_slot_9_into_next_player | confirm_shutdown | |
|
||||||
|
| s | PLAY_SHADER | play_shader_9 | confirm_shutdown | |
|
||||||
|
| shader_layer_0 | DEFAULT | toggle_shader_layer_0 | |
|
||||||
|
| shader_layer_1 | DEFAULT | toggle_shader_layer_1 | |
|
||||||
|
| shader_layer_2 | DEFAULT | toggle_shader_layer_2 | |
|
||||||
|
| toggle_x3 | DEFAULT | toggle_x3_as_speed | |
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@@ -240,21 +417,46 @@
|
|||||||
|
|
||||||
| Analogue input | Mode | Action (default) | Action (with FN) |
|
| Analogue input | Mode | Action (default) | Action (with FN) |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| 0 | NAV_DETOUR | set_detour_mix_continuous | |
|
| 0 | NAV_LFO | set_lfo_modulation_0_level | |
|
||||||
| 0 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | |
|
| 0 | NAV_SND | sound_set_config_energy_gain | |
|
||||||
| 1 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
| 0 | NAV_MANI | set_variable_A | |
|
||||||
| 1 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | |
|
| 0 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | set_strobe_amount_continuous | |
|
||||||
| 2 | NAV_DETOUR | set_detour_start_continuous | |
|
| 0 | NAV_LPRC | set_automation_speed | |
|
||||||
| 2 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | |
|
| 0 | NAV_WJMX | wj_set_position_N:x | |
|
||||||
| 3 | NAV_DETOUR | set_detour_end_continuous | |
|
| 0 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
||||||
| 3 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | |
|
| 1 | NAV_SND | sound_set_config_energy_threshold | |
|
||||||
| 4 | NAV_DETOUR | set_detour_mix_continuous | |
|
| 1 | NAV_WJMX | wj_set_position_N:y | |
|
||||||
| 4 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | |
|
| 1 | NAV_MANI | f:sin(x*pi):|set_variable_SIN | |
|
||||||
| 5 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
| 1 | NAV_LFO | set_lfo_modulation_1_level | |
|
||||||
| 5 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | |
|
| 1 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | set_shader_speed_layer_0_amount | |
|
||||||
| 6 | NAV_DETOUR | set_detour_start_continuous | |
|
| 1 | NAV_DETOUR | set_detour_start_continuous | |
|
||||||
| 6 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | |
|
| 2 | NAV_LFO | set_lfo_modulation_2_level | |
|
||||||
| 7 | NAV_DETOUR | set_detour_end_continuous | |
|
| 2 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | set_shader_speed_layer_1_amount | |
|
||||||
| 7 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | |
|
| 2 | NAV_WJMX | wj_set_colour_T:x | |
|
||||||
|
| 2 | NAV_DETOUR | set_detour_end_continuous | |
|
||||||
|
| 3 | NAV_LFO | set_lfo_modulation_3_level | |
|
||||||
|
| 3 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | set_shader_speed_layer_2_amount | |
|
||||||
|
| 3 | NAV_WJMX | wj_set_colour_T:y | |
|
||||||
|
| 4 | NAV_LFO | set_lfo_modulation_0_level | |
|
||||||
|
| 4 | NAV_SND | sound_set_config_energy_gain | |
|
||||||
|
| 4 | NAV_MANI | set_variable_A | |
|
||||||
|
| 4 | DEFAULT | set_the_shader_param_0_layer_offset_0_continuous | set_strobe_amount_continuous | |
|
||||||
|
| 4 | NAV_LPRC | set_automation_speed | |
|
||||||
|
| 4 | NAV_WJMX | wj_set_position_N:x | |
|
||||||
|
| 4 | NAV_DETOUR | set_detour_speed_position_continuous | |
|
||||||
|
| 5 | NAV_SND | sound_set_config_energy_threshold | |
|
||||||
|
| 5 | NAV_WJMX | wj_set_position_N:y | |
|
||||||
|
| 5 | NAV_MANI | f:sin(x*pi):|set_variable_SIN | |
|
||||||
|
| 5 | NAV_LFO | set_lfo_modulation_1_level | |
|
||||||
|
| 5 | DEFAULT | set_the_shader_param_1_layer_offset_0_continuous | set_shader_speed_layer_0_amount | |
|
||||||
|
| 5 | NAV_DETOUR | set_detour_start_continuous | |
|
||||||
|
| 6 | NAV_LFO | set_lfo_modulation_2_level | |
|
||||||
|
| 6 | DEFAULT | set_the_shader_param_2_layer_offset_0_continuous | set_shader_speed_layer_1_amount | |
|
||||||
|
| 6 | NAV_WJMX | wj_set_colour_T:x | |
|
||||||
|
| 6 | NAV_DETOUR | set_detour_end_continuous | |
|
||||||
|
| 7 | NAV_LFO | set_lfo_modulation_3_level | |
|
||||||
|
| 7 | DEFAULT | set_the_shader_param_3_layer_offset_0_continuous | set_shader_speed_layer_2_amount | |
|
||||||
|
| 7 | NAV_WJMX | wj_set_colour_T:y | |
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|||||||
@@ -468,7 +468,7 @@ class Data(object):
|
|||||||
if self.settings['shader']['USE_SHADER_BANK']['value'] == 'enabled' and ["SHADERS",'NAV_SHADERS'] in display_modes:
|
if self.settings['shader']['USE_SHADER_BANK']['value'] == 'enabled' and ["SHADERS",'NAV_SHADERS'] in display_modes:
|
||||||
display_modes.append(["SHDR_BNK",'PLAY_SHADER'])
|
display_modes.append(["SHDR_BNK",'PLAY_SHADER'])
|
||||||
if self.settings['shader']['USE_SHADER_MOD']['value'] == 'enabled' and ["SHADERS",'NAV_SHADERS'] in display_modes:
|
if self.settings['shader']['USE_SHADER_MOD']['value'] == 'enabled' and ["SHADERS",'NAV_SHADERS'] in display_modes:
|
||||||
display_modes.append(["SHDR_MOD","NAV_MOD"]) ## allow override, but fall back to PLAY_SHADER controls
|
display_modes.append(["SHDR_MOD",["NAV_MOD","PLAY_SHADER"]]) ## allow override, but fall back to PLAY_SHADER controls
|
||||||
if self.settings['detour']['TRY_DEMO']['value'] == 'enabled':
|
if self.settings['detour']['TRY_DEMO']['value'] == 'enabled':
|
||||||
display_modes.append(["FRAMES",'NAV_DETOUR'])
|
display_modes.append(["FRAMES",'NAV_DETOUR'])
|
||||||
if self.settings['system'].setdefault('USE_PLUGINS',
|
if self.settings['system'].setdefault('USE_PLUGINS',
|
||||||
|
|||||||
@@ -225,6 +225,10 @@ class AutomationSourcePlugin(Plugin):
|
|||||||
def recall_frame_data(self, data):
|
def recall_frame_data(self, data):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def get_frame_summary(self, data):
|
||||||
|
line = self.__class__.name + "%s: %s"%(self.__class__.name,data)
|
||||||
|
return line
|
||||||
|
|
||||||
# these frame stubs deal with the simplest case of a frame being a dict of values
|
# these frame stubs deal with the simplest case of a frame being a dict of values
|
||||||
# if its anything more complicated than that (like lists) then that will need to be
|
# if its anything more complicated than that (like lists) then that will need to be
|
||||||
# handled in the plugin by overriding these methods
|
# handled in the plugin by overriding these methods
|
||||||
@@ -286,7 +290,7 @@ class AutomationSourcePlugin(Plugin):
|
|||||||
# else,
|
# else,
|
||||||
# store as last value
|
# store as last value
|
||||||
|
|
||||||
print("WJSEND got pre-interpolated clip: %s" % [ f.f for f in frames if f is not None])
|
print("AutomationSourcePlugin[%s] got pre-interpolated clip: %s" % ( type(self), [ f.f for f in frames if f is not None]) )
|
||||||
|
|
||||||
#last = [ [None]*4, [None]*4, [None]*4 ]
|
#last = [ [None]*4, [None]*4, [None]*4 ]
|
||||||
last = {}
|
last = {}
|
||||||
@@ -358,7 +362,7 @@ class AutomationSourcePlugin(Plugin):
|
|||||||
|
|
||||||
process(self,findex,frame)
|
process(self,findex,frame)
|
||||||
|
|
||||||
print("\nWJSEND got interpolated clip: %s" % [ f.f for f in frames if f is not None ])
|
print("\nAutomationSourcePlugin got interpolated clip: %s" % [ f.f for f in frames if f is not None ])
|
||||||
|
|
||||||
self.distance_cache = {}
|
self.distance_cache = {}
|
||||||
|
|
||||||
@@ -482,6 +486,13 @@ class PluginCollection(object):
|
|||||||
else:
|
else:
|
||||||
return [c for c in self.plugins if include_disabled or not c.disabled]
|
return [c for c in self.plugins if include_disabled or not c.disabled]
|
||||||
|
|
||||||
|
def get_plugin_for_class_name(self, class_name):
|
||||||
|
for plugin in self.get_plugins():
|
||||||
|
#print("got class name %s" % type(plugin).__name__==class_name)
|
||||||
|
if type(plugin).__name__==class_name == class_name:
|
||||||
|
return plugin
|
||||||
|
return None
|
||||||
|
|
||||||
def walk_package(self, package):
|
def walk_package(self, package):
|
||||||
"""Recursively walk the supplied package to retrieve all plugins
|
"""Recursively walk the supplied package to retrieve all plugins
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -479,6 +479,12 @@ class Display(object):
|
|||||||
g = '%s'%bar[int(value*(len(bar)-1))]
|
g = '%s'%bar[int(value*(len(bar)-1))]
|
||||||
return g
|
return g
|
||||||
|
|
||||||
|
def get_mod_slot_label(self, slot):
|
||||||
|
sl = 'ABCD'[slot]
|
||||||
|
if slot != self.shaders.selected_modulation_slot:
|
||||||
|
sl = sl.lower()
|
||||||
|
return sl
|
||||||
|
|
||||||
def get_speed_indicator(self, value, convert = True):
|
def get_speed_indicator(self, value, convert = True):
|
||||||
if convert:
|
if convert:
|
||||||
value = (value * 2.0) - 1.0 # convert 0 to 1 to -1 to +1
|
value = (value * 2.0) - 1.0 # convert 0 to 1 to -1 to +1
|
||||||
|
|||||||
6
dotfiles/profiler.sh
Executable file
6
dotfiles/profiler.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# launcher.sh
|
||||||
|
sleep 2
|
||||||
|
xmodmap ~/r_e_c_u_r/dotfiles/.remap &
|
||||||
|
python3 -m cProfile ~/r_e_c_u_r/r_e_c_u_r.py | tee profile.output
|
||||||
|
|
||||||
@@ -9,7 +9,8 @@
|
|||||||
"CONFIRM": ["return_to_default_control_mode"],
|
"CONFIRM": ["return_to_default_control_mode"],
|
||||||
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"],
|
"SHADER_PARAM": ["decrease_this_param", "decrease_shader_param"],
|
||||||
"PLAY_SHADER": ["decrease_this_param", "decrease_shader_param"],
|
"PLAY_SHADER": ["decrease_this_param", "decrease_shader_param"],
|
||||||
"NAV_WJMX": ["wj_select_previous_command"]
|
"NAV_WJMX": ["wj_select_previous_command"],
|
||||||
|
"NAV_MOD": ["previous_shader_layer"]
|
||||||
},
|
},
|
||||||
"b": {
|
"b": {
|
||||||
"NAV_BROWSER": ["move_browser_selection_down", "move_browser_selection_page_down"],
|
"NAV_BROWSER": ["move_browser_selection_down", "move_browser_selection_page_down"],
|
||||||
@@ -21,7 +22,8 @@
|
|||||||
"CONFIRM": ["return_to_default_control_mode"],
|
"CONFIRM": ["return_to_default_control_mode"],
|
||||||
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"],
|
"SHADER_PARAM": ["increase_this_param", "increase_shader_param"],
|
||||||
"PLAY_SHADER": ["increase_this_param", "increase_shader_param"],
|
"PLAY_SHADER": ["increase_this_param", "increase_shader_param"],
|
||||||
"NAV_WJMX": ["wj_select_next_command"]
|
"NAV_WJMX": ["wj_select_next_command"],
|
||||||
|
"NAV_MOD": ["next_shader_layer"]
|
||||||
},
|
},
|
||||||
"c": {
|
"c": {
|
||||||
"NAV_BROWSER": ["enter_on_browser_selection"],
|
"NAV_BROWSER": ["enter_on_browser_selection"],
|
||||||
|
|||||||
@@ -13,7 +13,13 @@ class LFOModulationPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin, Automation
|
|||||||
active = False
|
active = False
|
||||||
|
|
||||||
# for keeping track of LFO levels
|
# for keeping track of LFO levels
|
||||||
level = [0.0]*MAX_LFOS #, 0.0, 0.0, 0.0]
|
level = [0.0]*MAX_LFOS
|
||||||
|
speed = 0.5
|
||||||
|
|
||||||
|
# TODO: enable assigning of LFOs to mod slots
|
||||||
|
# with combination/averaging...
|
||||||
|
# needs UI to control it and [ [ 0.0 ] * 4 ] * 4 to handle the mappings?
|
||||||
|
# currently each LFO maps directly to mod slot
|
||||||
|
|
||||||
stop_flag = False
|
stop_flag = False
|
||||||
pause_flag = False
|
pause_flag = False
|
||||||
@@ -22,8 +28,9 @@ class LFOModulationPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin, Automation
|
|||||||
|
|
||||||
#self.PRESET_FILE_NAME = "ShaderLoopRecordPlugin/frames.json"
|
#self.PRESET_FILE_NAME = "ShaderLoopRecordPlugin/frames.json"
|
||||||
self.presets = self.load_presets()
|
self.presets = self.load_presets()
|
||||||
self.level = self.presets.get('levels', [0.0]*self.MAX_LFOS)
|
self.level = self.presets.get('levels', [0.0]*self.MAX_LFOS).copy()
|
||||||
self.active = self.presets.get('active', False)
|
self.active = self.presets.get('active', False)
|
||||||
|
self.set_lfo_speed_direct(self.presets.get('speed', self.speed))
|
||||||
|
|
||||||
self.pc.shaders.root.after(1000, self.start_plugin)
|
self.pc.shaders.root.after(1000, self.start_plugin)
|
||||||
|
|
||||||
@@ -42,7 +49,7 @@ class LFOModulationPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin, Automation
|
|||||||
def save_presets(self):
|
def save_presets(self):
|
||||||
#for cmd,struct in self.commands.items():
|
#for cmd,struct in self.commands.items():
|
||||||
# self.presets.setdefault('modulation_levels',{})[cmd] = struct.get('modulation',[{},{},{},{}])
|
# self.presets.setdefault('modulation_levels',{})[cmd] = struct.get('modulation',[{},{},{},{}])
|
||||||
self.pc.update_json(self.PRESET_FILE_NAME, { 'levels': self.level.copy(), 'active': self.active } )
|
self.pc.update_json(self.PRESET_FILE_NAME, { 'levels': self.level.copy(), 'active': self.active, 'speed': self.speed } )
|
||||||
|
|
||||||
# DisplayPlugin methods
|
# DisplayPlugin methods
|
||||||
def get_display_modes(self):
|
def get_display_modes(self):
|
||||||
@@ -52,22 +59,24 @@ class LFOModulationPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin, Automation
|
|||||||
from tkinter import Text, END
|
from tkinter import Text, END
|
||||||
#super(DisplayPlugin).show_plugin(display, display_mode)
|
#super(DisplayPlugin).show_plugin(display, display_mode)
|
||||||
display.display_text.insert(END, '{} \n'.format(display.body_title))
|
display.display_text.insert(END, '{} \n'.format(display.body_title))
|
||||||
display.display_text.insert(END, "LFOModulationPlugin ")
|
display.display_text.insert(END, "LFOModulation is ")
|
||||||
|
|
||||||
display.display_text.insert(END, "ACTIVE" if self.active else "not active")
|
display.display_text.insert(END, "ACTIVE" if self.active else "not active")
|
||||||
|
|
||||||
display.display_text.insert(END, "\tSpeed: {:4.2f}% {}\n\n".format(self.speed*100, display.get_speed_indicator(self.speed/2.0, convert=False)))
|
display.display_text.insert(END, "\tSpeed: {:4.1f}% {}\n\n".format(self.speed*100, display.get_speed_indicator(self.speed/2.0, convert=False)))
|
||||||
|
|
||||||
for lfo,value in enumerate(self.level):
|
for lfo,value in enumerate(self.level):
|
||||||
display.display_text.insert(END, "lfo {} level: {:4.2f}% {}\t".format(lfo,value*100,display.get_bar(value)))
|
display.display_text.insert(END, "lfo {} level: {:4.2f}% {}\t".format(lfo,value*100,display.get_bar(value)))
|
||||||
display.display_text.insert(END, "{}\t{}\n".format(self.last_lfo_status[lfo], display.get_bar(self.last_lfo_value[lfo])))
|
display.display_text.insert(END, "{}\t{}\n".format(self.last_lfo_status[lfo], display.get_bar(self.last_lfo_value[lfo])))
|
||||||
display.display_text.insert(END, "\t%s\n" % self.formula[lfo])
|
display.display_text.insert(END, "\tslot %s\t%s\n" % (display.get_mod_slot_label(lfo), self.formula[lfo]))
|
||||||
|
|
||||||
|
display.display_text.insert(END, "\n")
|
||||||
|
|
||||||
# AutomationSourcePlugin methods
|
# AutomationSourcePlugin methods
|
||||||
# methods/vars for AutomationSourcePlugin
|
# methods/vars for AutomationSourcePlugin
|
||||||
# a lot of the nitty-gritty handled in parent class, these are for interfacing to the plugin
|
# a lot of the nitty-gritty handled in parent class, these are for interfacing to the plugin
|
||||||
def get_frame_data(self):
|
def get_frame_data(self):
|
||||||
diff = { 'levels': self.level, 'speed': self.speed }
|
diff = { 'levels': self.level.copy(), 'speed': self.speed, 'active': self.active }
|
||||||
#self.last_record = {}
|
#self.last_record = {}
|
||||||
#print(">>> reporting frame data for rec\n\t%s" % diff)
|
#print(">>> reporting frame data for rec\n\t%s" % diff)
|
||||||
return diff
|
return diff
|
||||||
@@ -76,15 +85,28 @@ class LFOModulationPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin, Automation
|
|||||||
if data is None:
|
if data is None:
|
||||||
return
|
return
|
||||||
# print(">>>>recall from data:\n\t%s\n" %data)
|
# print(">>>>recall from data:\n\t%s\n" %data)
|
||||||
"""for queue, item in data.items():
|
|
||||||
if item is not None:
|
|
||||||
self.send_buffered(queue, item[0], item[1], record = False)"""
|
|
||||||
if data.get('levels') is not None:
|
if data.get('levels') is not None:
|
||||||
for slot,level in enumerate(data.get('levels')):
|
for slot,level in enumerate(data.get('levels')):
|
||||||
self.set_lfo_modulation_level(slot, level)
|
self.set_lfo_modulation_level(slot, level)
|
||||||
|
if data.get('active') is not None:
|
||||||
|
self.active = data.get('active')
|
||||||
if data.get('speed') is not None:
|
if data.get('speed') is not None:
|
||||||
self.set_lfo_speed_direct(data.get('speed'))
|
self.set_lfo_speed_direct(data.get('speed'))
|
||||||
|
|
||||||
|
def get_frame_summary(self, data):
|
||||||
|
line = ""
|
||||||
|
if data.get('levels') is not None:
|
||||||
|
line += "LFO levels ["
|
||||||
|
for i in range(4):
|
||||||
|
line += self.pc.display.get_bar(data['levels'][i])
|
||||||
|
line += "] "
|
||||||
|
if data.get('active') is not None:
|
||||||
|
line += "active " if data.get('active') else 'inactive '
|
||||||
|
if data.get('speed') is not None:
|
||||||
|
line += self.pc.display.get_speed_indicator(data.get('speed'))
|
||||||
|
#print ("returning %s from %s" %(line, data))
|
||||||
|
return line
|
||||||
|
|
||||||
# ActionsPlugin methods
|
# ActionsPlugin methods
|
||||||
@property
|
@property
|
||||||
def parserlist(self):
|
def parserlist(self):
|
||||||
@@ -163,6 +185,7 @@ class LFOModulationPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin, Automation
|
|||||||
return
|
return
|
||||||
|
|
||||||
for lfo in range(0,self.MAX_LFOS):
|
for lfo in range(0,self.MAX_LFOS):
|
||||||
|
# TODO: this is where would use assignable amounts and average across multiple inputs
|
||||||
if self.level[lfo]>0.0:
|
if self.level[lfo]>0.0:
|
||||||
self.pc.actions.call_method_name(
|
self.pc.actions.call_method_name(
|
||||||
"modulate_param_%s_to_amount_continuous"%lfo,
|
"modulate_param_%s_to_amount_continuous"%lfo,
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ class SoundReactPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin):
|
|||||||
for sourcename in sorted(self.sources):
|
for sourcename in sorted(self.sources):
|
||||||
value = "{:8}:\t".format(sourcename)
|
value = "{:8}:\t".format(sourcename)
|
||||||
for i,level in enumerate(self.levels[sourcename]):
|
for i,level in enumerate(self.levels[sourcename]):
|
||||||
g = "ABCD"[i]+'%s '%self.pc.display.get_bar(level)
|
g = self.pc.display.get_mod_slot_label(i)+'%s '%self.pc.display.get_bar(level)
|
||||||
value += g
|
value += g
|
||||||
value += "\t"
|
value += "\t"
|
||||||
value += self.display_values.get(sourcename) or "{:4.2f}%".format(self.values.get(sourcename,0)*100) or "None"
|
value += self.display_values.get(sourcename) or "{:4.2f}%".format(self.values.get(sourcename,0)*100) or "None"
|
||||||
@@ -164,7 +164,7 @@ class SoundReactPlugin(ActionsPlugin,SequencePlugin,DisplayPlugin):
|
|||||||
|
|
||||||
|
|
||||||
config.setdefault('energy',{})['gain'] = 0.5 # how much to multiply signal by
|
config.setdefault('energy',{})['gain'] = 0.5 # how much to multiply signal by
|
||||||
config.setdefault('energy',{})['threshold'] = 0.5 # subtract from post-gain signal (hence ignore all values below)
|
config.setdefault('energy',{})['threshold'] = 0.5 # subtract from post-gain signal (hence ignore all values below this value)
|
||||||
GAIN_MULT = 1.0
|
GAIN_MULT = 1.0
|
||||||
def energy(self,data):
|
def energy(self,data):
|
||||||
peak=np.average(np.abs(data))*2
|
peak=np.average(np.abs(data))*2
|
||||||
|
|||||||
@@ -3,6 +3,48 @@ from serial import Serial
|
|||||||
import data_centre.plugin_collection
|
import data_centre.plugin_collection
|
||||||
from data_centre.plugin_collection import ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationReceiverPlugin, AutomationSourcePlugin
|
from data_centre.plugin_collection import ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationReceiverPlugin, AutomationSourcePlugin
|
||||||
import threading
|
import threading
|
||||||
|
import time
|
||||||
|
|
||||||
|
class AsyncWriter(threading.Thread):
|
||||||
|
queue = []
|
||||||
|
quit_flag = False
|
||||||
|
def __init__(self, plugin):
|
||||||
|
super().__init__()
|
||||||
|
self.plugin = plugin
|
||||||
|
|
||||||
|
def write(self, data):
|
||||||
|
self.queue.append(data)
|
||||||
|
|
||||||
|
def ready(self):
|
||||||
|
return len(self.queue)>0
|
||||||
|
|
||||||
|
def quit(self):
|
||||||
|
self.quit_flag = True
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
while not self.quit_flag:
|
||||||
|
#print("AsyncWriter looping..")
|
||||||
|
if not self.plugin.active or self.plugin.disabled:
|
||||||
|
#print("plugin active or disabled - exiting!")
|
||||||
|
return
|
||||||
|
if self.plugin.ser is None or not self.plugin.ser:
|
||||||
|
#print("no stream - skipping")
|
||||||
|
time.sleep(0.5)
|
||||||
|
continue
|
||||||
|
if not self.ready():
|
||||||
|
#print("not ready - skipping")
|
||||||
|
time.sleep(0.005)
|
||||||
|
continue
|
||||||
|
item = self.queue.pop(0)
|
||||||
|
if item is not None:
|
||||||
|
#print("sending %s" % item)
|
||||||
|
self.plugin.ser.write(item)
|
||||||
|
time.sleep(len(item)*0.005)
|
||||||
|
else:
|
||||||
|
time.sleep(0.01)
|
||||||
|
if len(self.queue)>4:
|
||||||
|
self.queue = self.queue[-4:4]
|
||||||
|
|
||||||
|
|
||||||
class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationReceiverPlugin, AutomationSourcePlugin):
|
class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationReceiverPlugin, AutomationSourcePlugin):
|
||||||
DEBUG = False #True
|
DEBUG = False #True
|
||||||
@@ -10,6 +52,8 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
|
|
||||||
active = True
|
active = True
|
||||||
|
|
||||||
|
asyncwriter = None
|
||||||
|
|
||||||
sleep = 0.0
|
sleep = 0.0
|
||||||
|
|
||||||
PRESET_FILE_NAME = "WJSendPlugin/presets.json"
|
PRESET_FILE_NAME = "WJSendPlugin/presets.json"
|
||||||
@@ -23,7 +67,7 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
rtscts=True, # TODO : test without this one
|
rtscts=True, # TODO : test without this one
|
||||||
timeout=timeout)"""
|
timeout=timeout)"""
|
||||||
|
|
||||||
THROTTLE = 10 # milliseconds to wait between refreshing parameters
|
THROTTLE = 20 # milliseconds to wait between refreshing parameters
|
||||||
|
|
||||||
selected_command_name = None
|
selected_command_name = None
|
||||||
selected_argument_index = 0
|
selected_argument_index = 0
|
||||||
@@ -39,7 +83,7 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
print("read presets:\n%s\n" % self.presets)
|
print("read presets:\n%s\n" % self.presets)
|
||||||
# load the stored modulation levels into the current config
|
# load the stored modulation levels into the current config
|
||||||
for cmd,levels in self.presets['modulation_levels'].items():
|
for cmd,levels in self.presets['modulation_levels'].items():
|
||||||
self.commands[cmd]['modulation'] = levels
|
self.commands[cmd]['modulation'] = levels.copy()
|
||||||
|
|
||||||
# build a reverse map of friendly name -> command struct for later use
|
# build a reverse map of friendly name -> command struct for later use
|
||||||
for cmd,struct in self.commands.items():
|
for cmd,struct in self.commands.items():
|
||||||
@@ -63,6 +107,8 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
|
|
||||||
def stop_plugin(self):
|
def stop_plugin(self):
|
||||||
super().stop_plugin()
|
super().stop_plugin()
|
||||||
|
self.asyncwriter.quit()
|
||||||
|
self.asyncwriter = None
|
||||||
self.save_presets()
|
self.save_presets()
|
||||||
|
|
||||||
|
|
||||||
@@ -83,6 +129,12 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
if item is not None:
|
if item is not None:
|
||||||
self.send_buffered(queue, item[0], item[1], record = False)
|
self.send_buffered(queue, item[0], item[1], record = False)
|
||||||
|
|
||||||
|
def get_frame_summary(self, data):
|
||||||
|
line = "WJMX: "
|
||||||
|
for key, value in data.items():
|
||||||
|
line += key + ", "
|
||||||
|
print("returning line %s" % line)
|
||||||
|
return line
|
||||||
|
|
||||||
# methods for ModulationReceiverPlugin - receives changes to the in-built modulation levels (-1 to +1)
|
# methods for ModulationReceiverPlugin - receives changes to the in-built modulation levels (-1 to +1)
|
||||||
# experimental & hardcoded !
|
# experimental & hardcoded !
|
||||||
@@ -147,7 +199,7 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
#if arg_name in mods:
|
#if arg_name in mods:
|
||||||
v = mods.get(arg_name,0.0)
|
v = mods.get(arg_name,0.0)
|
||||||
g = '%s'%self.pc.display.get_bar(v)
|
g = '%s'%self.pc.display.get_bar(v)
|
||||||
output += "{}:{}|".format('ABCD'[slot],g)
|
output += "{}:{}|".format(self.pc.display.get_mod_slot_label(slot),g)
|
||||||
if is_selected:
|
if is_selected:
|
||||||
output+="]"
|
output+="]"
|
||||||
output += "\n"
|
output += "\n"
|
||||||
@@ -184,6 +236,7 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
import threading
|
import threading
|
||||||
serial_lock = threading.Lock()
|
serial_lock = threading.Lock()
|
||||||
def send_serial_string(self, string):
|
def send_serial_string(self, string):
|
||||||
|
# TODO: thread this so can implement throttling and reduce bottleneck...
|
||||||
if not self.active:
|
if not self.active:
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
@@ -192,14 +245,18 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
output = b'\2' + string.encode('ascii') + b'\3'
|
output = b'\2' + string.encode('ascii') + b'\3'
|
||||||
#with self.serial_lock:
|
#with self.serial_lock:
|
||||||
#self.ser.write(b'\2\2\2\2\3\3\3\3')
|
#self.ser.write(b'\2\2\2\2\3\3\3\3')
|
||||||
self.ser.write(output) #.encode())
|
if self.asyncwriter is None:
|
||||||
|
self.asyncwriter = AsyncWriter(self)
|
||||||
|
self.asyncwriter.start()
|
||||||
|
self.asyncwriter.write(output)
|
||||||
|
#self.ser.write(output) #.encode())
|
||||||
# TODO: sleeping here seems to help serial response lag problem?
|
# TODO: sleeping here seems to help serial response lag problem?
|
||||||
self.sleep = 0.2 #self.pc.get_variable('A')
|
"""self.sleep = 0.2 #self.pc.get_variable('A')
|
||||||
#print ("got sleep %s" % self.sleep)
|
#print ("got sleep %s" % self.sleep)
|
||||||
if self.sleep>=0.1:
|
if self.sleep>=0.1:
|
||||||
#print("using sleep %s" % self.sleep)
|
#print("using sleep %s" % self.sleep)
|
||||||
import time
|
import time
|
||||||
time.sleep(self.sleep/10.0)
|
time.sleep(self.sleep/10.0)"""
|
||||||
#yield from self.ser.drain()
|
#yield from self.ser.drain()
|
||||||
if self.DEBUG:
|
if self.DEBUG:
|
||||||
print("send_serial_string: sent string '%s'" % output) #.encode('ascii'))
|
print("send_serial_string: sent string '%s'" % output) #.encode('ascii'))
|
||||||
@@ -220,9 +277,8 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
# sorting the commands that are sent seems to fix jerk and lag that is otherwise pretty horrendous
|
# sorting the commands that are sent seems to fix jerk and lag that is otherwise pretty horrendous
|
||||||
with self.queue_lock:
|
with self.queue_lock:
|
||||||
for queue, command in sorted(self.queue.items()):
|
for queue, command in sorted(self.queue.items()):
|
||||||
# TODO: modulate the parameters
|
|
||||||
self.send_buffered(queue, command[0], command[1])
|
self.send_buffered(queue, command[0], command[1])
|
||||||
#self.queue.clear()
|
#self.queue.clear()
|
||||||
except Exception:
|
except Exception:
|
||||||
print ("WJSendPlugin>>> !!! CAUGHT EXCEPTION running queue %s!!!" % queue)
|
print ("WJSendPlugin>>> !!! CAUGHT EXCEPTION running queue %s!!!" % queue)
|
||||||
import traceback
|
import traceback
|
||||||
@@ -294,6 +350,8 @@ class WJSendPlugin(ActionsPlugin, SequencePlugin, DisplayPlugin, ModulationRecei
|
|||||||
|
|
||||||
def toggle_active(self):
|
def toggle_active(self):
|
||||||
self.active = not self.active
|
self.active = not self.active
|
||||||
|
if not self.active:
|
||||||
|
self.asyncwriter = None
|
||||||
|
|
||||||
def reset_modulation_levels(self):
|
def reset_modulation_levels(self):
|
||||||
for cmd,struct in self.commands.items():
|
for cmd,struct in self.commands.items():
|
||||||
|
|||||||
@@ -83,25 +83,27 @@ class Frame:
|
|||||||
count = 0
|
count = 0
|
||||||
line = ""
|
line = ""
|
||||||
for key,d in sorted(self.f.items()):
|
for key,d in sorted(self.f.items()):
|
||||||
|
#print ("get_frame_summary: checking %s value %s" % (key,d))
|
||||||
|
if type(d) is dict and len(d)==0: # skip empty dicts
|
||||||
|
continue
|
||||||
if key in ["selected_shader","layer_active_status","shader_params","shader_speeds","selected_shader_slots"]:
|
if key in ["selected_shader","layer_active_status","shader_params","shader_speeds","selected_shader_slots"]:
|
||||||
# skip these as dealt with above
|
# skip these as dealt with below
|
||||||
pass
|
pass
|
||||||
elif key in ['shader_modulation_levels']:
|
elif key in ['shader_modulation_levels']:
|
||||||
for layer in range(3):
|
for layer in range(3):
|
||||||
o = ""
|
o = ""
|
||||||
for slot in range(4):
|
for slot in range(4):
|
||||||
sl = 'ABCD'[slot]
|
sl = self.pc.display.get_mod_slot_label(slot)
|
||||||
if slot != self.pc.shaders.selected_modulation_slot:
|
|
||||||
sl = sl.lower()
|
|
||||||
o+= sl + "["
|
o+= sl + "["
|
||||||
for param in range(4):
|
for param in range(4):
|
||||||
o += self.pc.display.get_bar(d[layer][param][slot])
|
o += self.pc.display.get_bar(d[layer][param][slot])
|
||||||
o+= "] "
|
o+= "] "
|
||||||
summary.append("Shader layer %s: %s"%(layer,o))
|
summary.append("Shader layer %s: %s"%(layer,o))
|
||||||
elif key in ["WJSendPlugin"]:
|
elif self.pc.get_plugin_for_class_name(key) is not None:
|
||||||
# tends to be heavy so save it for later
|
summary.append(self.pc.get_plugin_for_class_name(key).get_frame_summary(d))
|
||||||
# TODO: ask plugin to format the data for summary?
|
"""elif key in ["WJSendPlugin"]:
|
||||||
not_shown[key] = d
|
# for things that tend to be heavy so dont show
|
||||||
|
not_shown[key] = d"""
|
||||||
else:
|
else:
|
||||||
line += "%s: %s" % (key, d)
|
line += "%s: %s" % (key, d)
|
||||||
count += 1
|
count += 1
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ import string
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
class NumpadInput(object):
|
class NumpadInput(object):
|
||||||
|
KEY_000_DELAY = 100
|
||||||
|
|
||||||
def __init__(self, root, message_handler, display, actions, data):
|
def __init__(self, root, message_handler, display, actions, data):
|
||||||
self.root = root
|
self.root = root
|
||||||
self.message_handler = message_handler
|
self.message_handler = message_handler
|
||||||
@@ -22,7 +24,13 @@ class NumpadInput(object):
|
|||||||
numpad = list(string.ascii_lowercase[0:19])
|
numpad = list(string.ascii_lowercase[0:19])
|
||||||
|
|
||||||
if event.char is 'h': # DISP button
|
if event.char is 'h': # DISP button
|
||||||
|
#self.root.after(60, lambda:self.on_key_press_delay(event.char))
|
||||||
|
#return
|
||||||
|
if self.data.is_display_held:
|
||||||
|
return # ignore spurious message if already held"""
|
||||||
self.data.is_display_held = True
|
self.data.is_display_held = True
|
||||||
|
if self.in_0_event:
|
||||||
|
return
|
||||||
|
|
||||||
if event.char is '.' or event.char is 'z':
|
if event.char is '.' or event.char is 'z':
|
||||||
self.actions.quit_the_program()
|
self.actions.quit_the_program()
|
||||||
@@ -30,7 +38,11 @@ class NumpadInput(object):
|
|||||||
event.char = self.on_0_key_press()
|
event.char = self.on_0_key_press()
|
||||||
|
|
||||||
if event.char in numpad:
|
if event.char in numpad:
|
||||||
self.run_action_for_mapped_key(event.char)
|
numbers = "jklmnopqrs"
|
||||||
|
if self.data.is_display_held and event.char in numbers:
|
||||||
|
self.select_display_mode_index(numbers.index(event.char))
|
||||||
|
else:
|
||||||
|
self.run_action_for_mapped_key(event.char)
|
||||||
else:
|
else:
|
||||||
print('{} is not in keypad map'.format(event.char))
|
print('{} is not in keypad map'.format(event.char))
|
||||||
|
|
||||||
@@ -39,8 +51,11 @@ class NumpadInput(object):
|
|||||||
if event.char in numpad:
|
if event.char in numpad:
|
||||||
self.check_key_release_settings(event.char)
|
self.check_key_release_settings(event.char)
|
||||||
|
|
||||||
if event.char is 'h':
|
##print ("--- releasing %s" % event.char)
|
||||||
self.data.is_display_held = False
|
# lag for 60ms to check that this is not a 'stream of 000' bullshit job from the keypad
|
||||||
|
if event.char is 'h' and not self.in_0_event:
|
||||||
|
self.root.after(self.KEY_000_DELAY+5, self.on_key_disp_release_delay)
|
||||||
|
#self.data.is_display_held = False
|
||||||
|
|
||||||
def on_mouse_move(self, event):
|
def on_mouse_move(self, event):
|
||||||
if self.data.settings['user_input'].setdefault(
|
if self.data.settings['user_input'].setdefault(
|
||||||
@@ -56,6 +71,12 @@ class NumpadInput(object):
|
|||||||
self.root.after(0, self.run_action_for_mapped_key, 'y_m', event.y / height)
|
self.root.after(0, self.run_action_for_mapped_key, 'y_m', event.y / height)
|
||||||
#self.run_action_for_mapped_key(event.char)
|
#self.run_action_for_mapped_key(event.char)
|
||||||
|
|
||||||
|
def select_display_mode_index(self, index):
|
||||||
|
if index >= len(self.data.get_display_modes_list()):
|
||||||
|
self.message_handler.set_message('ERROR', 'No page %s to display!' % index)
|
||||||
|
else:
|
||||||
|
self.actions.call_method_name("set_display_mode_%s"%self.data.get_display_modes_list()[index])
|
||||||
|
|
||||||
def run_action_for_mapped_key(self, key, value=-1):
|
def run_action_for_mapped_key(self, key, value=-1):
|
||||||
this_mapping = self.key_mappings[key]
|
this_mapping = self.key_mappings[key]
|
||||||
if type(self.data.control_mode) is list:
|
if type(self.data.control_mode) is list:
|
||||||
@@ -76,13 +97,13 @@ class NumpadInput(object):
|
|||||||
|
|
||||||
numbers = "jklmnopqrs"
|
numbers = "jklmnopqrs"
|
||||||
if self.data.is_display_held and key in numbers:
|
if self.data.is_display_held and key in numbers:
|
||||||
return self.actions.call_method_name("set_display_mode_%s"%self.data.get_display_modes_list()[numbers.index(key)])
|
self.select_display_mode_index(numbers.index(key))
|
||||||
|
|
||||||
print('the numpad action being called is {} (mode is {})'.format(this_mapping[mode][is_function], mode))
|
|
||||||
if value != -1:
|
|
||||||
self.actions.call_method_name(this_mapping[mode][is_function],value)
|
|
||||||
else:
|
else:
|
||||||
self.actions.call_method_name(this_mapping[mode][is_function])
|
print('the numpad action being called for \'{}\' is {} (mode is {})'.format(key, this_mapping[mode][is_function], mode))
|
||||||
|
if value != -1:
|
||||||
|
self.actions.call_method_name(this_mapping[mode][is_function],value)
|
||||||
|
else:
|
||||||
|
self.actions.call_method_name(this_mapping[mode][is_function])
|
||||||
|
|
||||||
if is_function and self.data.settings['sampler']['FUNC_GATED']['value'] == 'off':
|
if is_function and self.data.settings['sampler']['FUNC_GATED']['value'] == 'off':
|
||||||
self.data.function_on = False
|
self.data.function_on = False
|
||||||
@@ -104,28 +125,47 @@ class NumpadInput(object):
|
|||||||
if 'DEFAULT' in this_mapping:
|
if 'DEFAULT' in this_mapping:
|
||||||
if this_mapping['DEFAULT'][0] == 'toggle_function':
|
if this_mapping['DEFAULT'][0] == 'toggle_function':
|
||||||
self.run_action_for_mapped_key(key)
|
self.run_action_for_mapped_key(key)
|
||||||
|
|
||||||
|
def on_key_disp_release_delay(self):
|
||||||
|
if not self.in_0_event:# and self.additional_0_in_event==0:
|
||||||
|
print("releasing !")
|
||||||
|
self.data.is_display_held = False
|
||||||
|
else:
|
||||||
|
print("ignoring release !")
|
||||||
|
|
||||||
|
"""def on_key_disp_press_delay(self):
|
||||||
|
if not self.in_0_event and self.additional_0_in_event==0:
|
||||||
|
print("pressing!")
|
||||||
|
self.data.is_display_held = True
|
||||||
|
else:
|
||||||
|
print("ignoring press!")"""
|
||||||
|
|
||||||
def on_0_key_press(self) :
|
def on_0_key_press(self) :
|
||||||
|
print ("on_0_key_press!")
|
||||||
if(not self.in_0_event ):
|
if(not self.in_0_event ):
|
||||||
|
print (" first 0 received!")
|
||||||
self.in_0_event = True
|
self.in_0_event = True
|
||||||
self.additional_0_in_event = 0
|
self.additional_0_in_event = 0
|
||||||
self.root.after(60, self.check_event_outcome)
|
self.root.after(self.KEY_000_DELAY, self.check_event_outcome)
|
||||||
else:
|
else:
|
||||||
|
print (" additional 0 received making %s!" % str(self.additional_0_in_event + 1))
|
||||||
self.additional_0_in_event = self.additional_0_in_event + 1
|
self.additional_0_in_event = self.additional_0_in_event + 1
|
||||||
|
|
||||||
def check_event_outcome(self):
|
def check_event_outcome(self):
|
||||||
if(self.additional_0_in_event == 0 ):
|
if(self.additional_0_in_event == 0 ):
|
||||||
|
print (" no additional events, sending s")
|
||||||
self.in_0_event = False
|
self.in_0_event = False
|
||||||
self.run_action_for_mapped_key('s')
|
self.run_action_for_mapped_key('s')
|
||||||
elif(self.additional_0_in_event > 1):
|
elif(self.additional_0_in_event > 1):
|
||||||
|
print (" %s additional events, sending n"%self.additional_0_in_event)
|
||||||
self.in_0_event = False
|
self.in_0_event = False
|
||||||
self.run_action_for_mapped_key('n')
|
self.run_action_for_mapped_key('n')
|
||||||
elif(self.additional_0_in_event == 1):
|
elif(self.additional_0_in_event == 1):
|
||||||
print('this doesnt happen - may not be needed')
|
print('this doesnt happen - may not be needed')
|
||||||
self.root.after(60, self.second_check_event_outcome)
|
self.root.after(self.KEY_000_DELAY, self.second_check_event_outcome)
|
||||||
|
|
||||||
def second_check_event_outcome(self):
|
def second_check_event_outcome(self):
|
||||||
|
print("not supposed to happen?")
|
||||||
if(self.additional_0_in_event == 1 ):
|
if(self.additional_0_in_event == 1 ):
|
||||||
self.in_0_event = False
|
self.in_0_event = False
|
||||||
self.run_action_for_mapped_key('s')
|
self.run_action_for_mapped_key('s')
|
||||||
|
|||||||
Reference in New Issue
Block a user