Re-enabling "Reverb send" in single voice mode.

pull/32/head
Holger Wirtz 5 years ago
parent 350568d2ca
commit 4daefb5020
  1. 6
      MicroDexed.ino
  2. 2
      UI.hpp
  3. 145
      UI_1_FX.h
  4. 2
      config.h

@ -1396,13 +1396,9 @@ void initial_values_from_eeprom(bool init)
MicroDexed[instance_id]->fx.Gain = 1.0; MicroDexed[instance_id]->fx.Gain = 1.0;
MicroDexed[instance_id]->fx.Reso = mapfloat(configuration.dexed[instance_id].filter_resonance, FILTER_RESONANCE_MIN, FILTER_RESONANCE_MAX, 1.0, 0.0); MicroDexed[instance_id]->fx.Reso = mapfloat(configuration.dexed[instance_id].filter_resonance, FILTER_RESONANCE_MIN, FILTER_RESONANCE_MAX, 1.0, 0.0);
MicroDexed[instance_id]->fx.Cutoff = mapfloat(configuration.dexed[instance_id].filter_cutoff, FILTER_CUTOFF_MIN, FILTER_CUTOFF_MAX, 1.0, 0.0); MicroDexed[instance_id]->fx.Cutoff = mapfloat(configuration.dexed[instance_id].filter_cutoff, FILTER_CUTOFF_MIN, FILTER_CUTOFF_MAX, 1.0, 0.0);
#if NUM_DEXED >1
reverb_mixer_r.gain(instance_id, configuration.fx.reverb_send[instance_id] / 100.0); reverb_mixer_r.gain(instance_id, configuration.fx.reverb_send[instance_id] / 100.0);
reverb_mixer_l.gain(instance_id, configuration.fx.reverb_send[instance_id] / 100.0); reverb_mixer_l.gain(instance_id, configuration.fx.reverb_send[instance_id] / 100.0);
#else
reverb_mixer_r.gain(instance_id, 1.0);
reverb_mixer_l.gain(instance_id, 1.0);
#endif
#endif #endif
MicroDexed[instance_id]->setOPs(configuration.dexed[instance_id].op_enabled); MicroDexed[instance_id]->setOPs(configuration.dexed[instance_id].op_enabled);
dexed_level[instance_id]->gain(mapfloat(configuration.dexed[instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX)); dexed_level[instance_id]->gain(mapfloat(configuration.dexed[instance_id].sound_intensity, SOUND_INTENSITY_MIN, SOUND_INTENSITY_MAX, 0.0, SOUND_INTENSITY_AMP_MAX));

@ -1296,7 +1296,6 @@ void UI_func_delay_level(uint8_t param)
} }
} }
#if NUM_DEXED > 1
void UI_func_reverb_send(uint8_t param) void UI_func_reverb_send(uint8_t param)
{ {
uint8_t instance_id = 0; uint8_t instance_id = 0;
@ -1340,7 +1339,6 @@ void UI_func_reverb_send(uint8_t param)
#endif #endif
} }
} }
#endif
void UI_func_filter_cutoff(uint8_t param) void UI_func_filter_cutoff(uint8_t param)
{ {

@ -43,77 +43,78 @@ LCDML_add(14, LCDML_0_1_2_3_2, 3, "Level", UI_func_delay_level);
LCDML_add(15, LCDML_0_1_2_3, 3, "Filter", NULL); LCDML_add(15, LCDML_0_1_2_3, 3, "Filter", NULL);
LCDML_add(16, LCDML_0_1_2_3_3, 1, "Cutoff", UI_func_filter_cutoff); LCDML_add(16, LCDML_0_1_2_3_3, 1, "Cutoff", UI_func_filter_cutoff);
LCDML_add(17, LCDML_0_1_2_3_3, 2, "Resonance", UI_func_filter_resonance); LCDML_add(17, LCDML_0_1_2_3_3, 2, "Resonance", UI_func_filter_resonance);
LCDML_add(18, LCDML_0_1, 3, "Controller", NULL); LCDML_add(18, LCDML_0_1_2_3, 4, "Reverb Send", UI_func_reverb_send);
LCDML_add(19, LCDML_0_1_3, 1, "Pitchbend", NULL); LCDML_add(19, LCDML_0_1, 3, "Controller", NULL);
LCDML_add(20, LCDML_0_1_3_1, 1, "PB Range", UI_func_pb_range); LCDML_add(20, LCDML_0_1_3, 1, "Pitchbend", NULL);
LCDML_add(21, LCDML_0_1_3_1, 2, "PB Step", UI_func_pb_step); LCDML_add(21, LCDML_0_1_3_1, 1, "PB Range", UI_func_pb_range);
LCDML_add(22, LCDML_0_1_3, 2, "Mod Wheel", NULL); LCDML_add(22, LCDML_0_1_3_1, 2, "PB Step", UI_func_pb_step);
LCDML_add(23, LCDML_0_1_3_2, 1, "MW Range", UI_func_mw_range); LCDML_add(23, LCDML_0_1_3, 2, "Mod Wheel", NULL);
LCDML_add(24, LCDML_0_1_3_2, 2, "MW Assign", UI_func_mw_assign); LCDML_add(24, LCDML_0_1_3_2, 1, "MW Range", UI_func_mw_range);
LCDML_add(25, LCDML_0_1_3_2, 3, "MW Mode", UI_func_mw_mode); LCDML_add(25, LCDML_0_1_3_2, 2, "MW Assign", UI_func_mw_assign);
LCDML_add(26, LCDML_0_1_3, 3, "Aftertouch", NULL); LCDML_add(26, LCDML_0_1_3_2, 3, "MW Mode", UI_func_mw_mode);
LCDML_add(27, LCDML_0_1_3_3, 1, "AT Range", UI_func_at_range); LCDML_add(27, LCDML_0_1_3, 3, "Aftertouch", NULL);
LCDML_add(28, LCDML_0_1_3_3, 2, "AT Assign", UI_func_at_assign); LCDML_add(28, LCDML_0_1_3_3, 1, "AT Range", UI_func_at_range);
LCDML_add(29, LCDML_0_1_3_3, 3, "AT Mode", UI_func_at_mode); LCDML_add(29, LCDML_0_1_3_3, 2, "AT Assign", UI_func_at_assign);
LCDML_add(30, LCDML_0_1_3, 4, "Foot Ctrl", NULL); LCDML_add(30, LCDML_0_1_3_3, 3, "AT Mode", UI_func_at_mode);
LCDML_add(31, LCDML_0_1_3_4, 1, "FC Range", UI_func_fc_range); LCDML_add(31, LCDML_0_1_3, 4, "Foot Ctrl", NULL);
LCDML_add(32, LCDML_0_1_3_4, 2, "FC Assign", UI_func_fc_assign); LCDML_add(32, LCDML_0_1_3_4, 1, "FC Range", UI_func_fc_range);
LCDML_add(33, LCDML_0_1_3_4, 3, "FC Mode", UI_func_fc_mode); LCDML_add(33, LCDML_0_1_3_4, 2, "FC Assign", UI_func_fc_assign);
LCDML_add(34, LCDML_0_1_3, 5, "Breath Ctrl", NULL); LCDML_add(34, LCDML_0_1_3_4, 3, "FC Mode", UI_func_fc_mode);
LCDML_add(35, LCDML_0_1_3_5, 1, "BC Range", UI_func_bc_range); LCDML_add(35, LCDML_0_1_3, 5, "Breath Ctrl", NULL);
LCDML_add(36, LCDML_0_1_3_5, 2, "BC Assign", UI_func_bc_assign); LCDML_add(36, LCDML_0_1_3_5, 1, "BC Range", UI_func_bc_range);
LCDML_add(37, LCDML_0_1_3_5, 3, "BC Mode", UI_func_bc_mode); LCDML_add(37, LCDML_0_1_3_5, 2, "BC Assign", UI_func_bc_assign);
LCDML_add(38, LCDML_0_1, 4, "MIDI", NULL); LCDML_add(38, LCDML_0_1_3_5, 3, "BC Mode", UI_func_bc_mode);
LCDML_add(39, LCDML_0_1_4, 1, "MIDI Channel", UI_func_midi_channel); LCDML_add(39, LCDML_0_1, 4, "MIDI", NULL);
LCDML_add(40, LCDML_0_1_4, 2, "Lowest Note", UI_func_lowest_note); LCDML_add(40, LCDML_0_1_4, 1, "MIDI Channel", UI_func_midi_channel);
LCDML_add(41, LCDML_0_1_4, 3, "Highest Note", UI_func_highest_note); LCDML_add(41, LCDML_0_1_4, 2, "Lowest Note", UI_func_lowest_note);
LCDML_add(42, LCDML_0_1_4, 4, "Send Voice", UI_func_sysex_send_voice); LCDML_add(42, LCDML_0_1_4, 3, "Highest Note", UI_func_highest_note);
LCDML_add(43, LCDML_0_1_4, 5, "Receive Voice", UI_func_sysex_receive_voice); LCDML_add(43, LCDML_0_1_4, 4, "Send Voice", UI_func_sysex_send_voice);
LCDML_add(44, LCDML_0_1, 5, "Setup", NULL); LCDML_add(44, LCDML_0_1_4, 5, "Receive Voice", UI_func_sysex_receive_voice);
LCDML_add(45, LCDML_0_1_5, 1, "Portamento", NULL); LCDML_add(45, LCDML_0_1, 5, "Setup", NULL);
LCDML_add(46, LCDML_0_1_5_1, 1, "Port. Mode", UI_func_portamento_mode); LCDML_add(46, LCDML_0_1_5, 1, "Portamento", NULL);
LCDML_add(47, LCDML_0_1_5_1, 2, "Port. Gliss", UI_func_portamento_glissando); LCDML_add(47, LCDML_0_1_5_1, 1, "Port. Mode", UI_func_portamento_mode);
LCDML_add(48, LCDML_0_1_5_1, 3, "Port. Time", UI_func_portamento_time); LCDML_add(48, LCDML_0_1_5_1, 2, "Port. Gliss", UI_func_portamento_glissando);
LCDML_add(49, LCDML_0_1_5, 2, "Polyphony", UI_func_polyphony); LCDML_add(49, LCDML_0_1_5_1, 3, "Port. Time", UI_func_portamento_time);
LCDML_add(50, LCDML_0_1_5, 3, "Transpose", UI_func_transpose); LCDML_add(50, LCDML_0_1_5, 2, "Polyphony", UI_func_polyphony);
LCDML_add(51, LCDML_0_1_5, 4, "Fine Tune", UI_func_tune); LCDML_add(51, LCDML_0_1_5, 3, "Transpose", UI_func_transpose);
LCDML_add(52, LCDML_0_1_5, 5, "Mono/Poly", UI_func_mono_poly); LCDML_add(52, LCDML_0_1_5, 4, "Fine Tune", UI_func_tune);
LCDML_add(53, LCDML_0_1, 6, "Internal", NULL); LCDML_add(53, LCDML_0_1_5, 5, "Mono/Poly", UI_func_mono_poly);
LCDML_add(54, LCDML_0_1_6, 1, "Note Refresh", UI_func_note_refresh); LCDML_add(54, LCDML_0_1, 6, "Internal", NULL);
LCDML_add(55, LCDML_0_1_6, 2, "Velocity Lvl", UI_func_velocity_level); LCDML_add(55, LCDML_0_1_6, 1, "Note Refresh", UI_func_note_refresh);
LCDML_add(56, LCDML_0_1_6, 3, "Engine", UI_func_engine); LCDML_add(56, LCDML_0_1_6, 2, "Velocity Lvl", UI_func_velocity_level);
LCDML_add(57, LCDML_0_1, 7, "Operator", NULL); LCDML_add(57, LCDML_0_1_6, 3, "Engine", UI_func_engine);
LCDML_add(58, LCDML_0_1_7, 1, "OP1", UI_func_OP1); LCDML_add(58, LCDML_0_1, 7, "Operator", NULL);
LCDML_add(59, LCDML_0_1_7, 2, "OP2", UI_func_OP2); LCDML_add(59, LCDML_0_1_7, 1, "OP1", UI_func_OP1);
LCDML_add(60, LCDML_0_1_7, 3, "OP3", UI_func_OP3); LCDML_add(60, LCDML_0_1_7, 2, "OP2", UI_func_OP2);
LCDML_add(61, LCDML_0_1_7, 4, "OP4", UI_func_OP4); LCDML_add(61, LCDML_0_1_7, 3, "OP3", UI_func_OP3);
LCDML_add(62, LCDML_0_1_7, 5, "OP5", UI_func_OP5); LCDML_add(62, LCDML_0_1_7, 4, "OP4", UI_func_OP4);
LCDML_add(63, LCDML_0_1_7, 6, "OP6", UI_func_OP6); LCDML_add(63, LCDML_0_1_7, 5, "OP5", UI_func_OP5);
LCDML_add(64, LCDML_0_1, 8, "Save Voice", UI_func_save_voice); LCDML_add(64, LCDML_0_1_7, 6, "OP6", UI_func_OP6);
LCDML_add(65, LCDML_0, 2, "Master Effects", NULL); LCDML_add(65, LCDML_0_1, 8, "Save Voice", UI_func_save_voice);
LCDML_add(66, LCDML_0_2, 1, "Reverb", NULL); LCDML_add(66, LCDML_0, 2, "Master Effects", NULL);
LCDML_add(67, LCDML_0_2_1, 1, "Roomsize", UI_func_reverb_roomsize); LCDML_add(67, LCDML_0_2, 1, "Reverb", NULL);
LCDML_add(68, LCDML_0_2_1, 2, "Damping", UI_func_reverb_damping); LCDML_add(68, LCDML_0_2_1, 1, "Roomsize", UI_func_reverb_roomsize);
LCDML_add(69, LCDML_0_2_1, 3, "Level", UI_func_reverb_level); LCDML_add(69, LCDML_0_2_1, 2, "Damping", UI_func_reverb_damping);
LCDML_add(70, LCDML_0, 3, "Load/Save", NULL); LCDML_add(70, LCDML_0_2_1, 3, "Level", UI_func_reverb_level);
LCDML_add(71, LCDML_0_3, 1, "Performance", NULL); LCDML_add(71, LCDML_0, 3, "Load/Save", NULL);
LCDML_add(72, LCDML_0_3_1, 1, "Load Perf.", UI_func_load_performance); LCDML_add(72, LCDML_0_3, 1, "Performance", NULL);
LCDML_add(73, LCDML_0_3_1, 2, "Save Perf.", UI_func_save_performance); LCDML_add(73, LCDML_0_3_1, 1, "Load Perf.", UI_func_load_performance);
LCDML_add(74, LCDML_0_3, 2, "Voice Config", NULL); LCDML_add(74, LCDML_0_3_1, 2, "Save Perf.", UI_func_save_performance);
LCDML_add(75, LCDML_0_3_2, 1, "Load Voice Cfg", UI_func_load_voiceconfig); LCDML_add(75, LCDML_0_3, 2, "Voice Config", NULL);
LCDML_add(76, LCDML_0_3_2, 2, "Save Voice Cfg", UI_func_save_voiceconfig); LCDML_add(76, LCDML_0_3_2, 1, "Load Voice Cfg", UI_func_load_voiceconfig);
LCDML_add(77, LCDML_0_3, 3, "Effects", NULL); LCDML_add(77, LCDML_0_3_2, 2, "Save Voice Cfg", UI_func_save_voiceconfig);
LCDML_add(78, LCDML_0_3_3, 1, "Load Effects", UI_func_load_fx); LCDML_add(78, LCDML_0_3, 3, "Effects", NULL);
LCDML_add(79, LCDML_0_3_3, 2, "Save Effects", UI_func_save_fx); LCDML_add(79, LCDML_0_3_3, 1, "Load Effects", UI_func_load_fx);
LCDML_add(80, LCDML_0_3, 5, "MIDI", NULL); LCDML_add(80, LCDML_0_3_3, 2, "Save Effects", UI_func_save_fx);
LCDML_add(81, LCDML_0_3_5, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank); LCDML_add(81, LCDML_0_3, 5, "MIDI", NULL);
LCDML_add(82, LCDML_0_3_5, 2, "MIDI Send Bank", UI_func_sysex_send_bank); LCDML_add(82, LCDML_0_3_5, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank);
LCDML_add(83, LCDML_0, 4, "System", NULL); LCDML_add(83, LCDML_0_3_5, 2, "MIDI Send Bank", UI_func_sysex_send_bank);
LCDML_add(84, LCDML_0_4, 1, "Volume", UI_func_volume); LCDML_add(84, LCDML_0, 4, "System", NULL);
LCDML_add(85, LCDML_0_4, 2, "Stereo/Mono", UI_func_stereo_mono); LCDML_add(85, LCDML_0_4, 1, "Volume", UI_func_volume);
LCDML_add(86, LCDML_0_4, 3, "MIDI Soft THRU", UI_func_midi_soft_thru); LCDML_add(86, LCDML_0_4, 2, "Stereo/Mono", UI_func_stereo_mono);
LCDML_add(87, LCDML_0_4, 4, "EEPROM Reset", UI_func_eeprom_reset); LCDML_add(87, LCDML_0_4, 3, "MIDI Soft THRU", UI_func_midi_soft_thru);
LCDML_add(88, LCDML_0, 6, "Info", UI_func_information); LCDML_add(88, LCDML_0_4, 4, "EEPROM Reset", UI_func_eeprom_reset);
#define _LCDML_DISP_cnt 88 LCDML_add(89, LCDML_0, 6, "Info", UI_func_information);
#define _LCDML_DISP_cnt 89
#define MENU_ID_OF_INSTANCE_2 65 #define MENU_ID_OF_INSTANCE_2 65
#endif #endif

@ -240,7 +240,7 @@
//************************************************************************************************* //*************************************************************************************************
//* DO NO CHANGE ANYTHING BEYOND IF YOU DON'T KNOW WHAT YOU ARE DOING !!! //* DO NO CHANGE ANYTHING BEYOND IF YOU DON'T KNOW WHAT YOU ARE DOING !!!
//************************************************************************************************* //*************************************************************************************************
#define NUM_DEXED 2 #define NUM_DEXED 1
#define MAX_DEXED 2 #define MAX_DEXED 2
//#define CPU_OVERLOAD_THROTTLE 95.0 // Level (in percent) when throttling should start //#define CPU_OVERLOAD_THROTTLE 95.0 // Level (in percent) when throttling should start
#define CPU_OVERLOAD_THROTTLE_TIMER 100 // timer (in ms) when next throttling is possible #define CPU_OVERLOAD_THROTTLE_TIMER 100 // timer (in ms) when next throttling is possible

Loading…
Cancel
Save