Several additions and fixes.

pull/112/head
Holger Wirtz 3 years ago
parent 8a4e5986ef
commit d2bb545e5d
  1. 189
      UI.hpp
  2. 135
      UI_FX_T4.h
  3. 4
      config.h

189
UI.hpp

@ -350,12 +350,17 @@ void UI_func_epiano_detune(uint8_t param);
void UI_func_epiano_pan_tremolo(uint8_t param);
void UI_func_epiano_pan_lfo(uint8_t param);
void UI_func_epiano_overdrive(uint8_t param);
void UI_func_epiano_reverb_send(uint8_t param);
void UI_func_epiano_midi_channel(uint8_t param);
void UI_func_epiano_lowest_note(uint8_t param);
void UI_func_epiano_highest_note(uint8_t param);
void UI_func_epiano_transpose(uint8_t param);
void UI_func_epiano_polyphony(uint8_t param);
void UI_func_epiano_velocity_sense(uint8_t param);
void UI_func_epiano_chorus_frequency(uint8_t param);
void UI_func_epiano_chorus_waveform(uint8_t param);
void UI_func_epiano_chorus_depth(uint8_t param);
void UI_func_epiano_chorus_level(uint8_t param);
void UI_update_instance_icons();
bool UI_select_name(uint8_t y, uint8_t x, char* edit_string, uint8_t len, bool init);
uint8_t search_accepted_char(uint8_t c);
@ -2468,7 +2473,7 @@ void UI_func_epiano_panorama(uint8_t param)
{
if (LCDML.BT_checkDown() && encoderDir[ENC_R].Down() && configuration.sys.mono == 0)
{
configuration.dexed[selected_instance_id].pan = constrain(configuration.epiano.pan + ENCODER[ENC_R].speed(), EP_PANORAMA_MIN, EP_PANORAMA_MAX);
configuration.epiano.pan = constrain(configuration.epiano.pan + ENCODER[ENC_R].speed(), EP_PANORAMA_MIN, EP_PANORAMA_MAX);
MD_sendControlChange(configuration.epiano.midi_channel, 10, map(configuration.epiano.pan, EP_PANORAMA_MIN, EP_PANORAMA_MAX, 0, 127));
}
else if (LCDML.BT_checkUp() && encoderDir[ENC_R].Up() && configuration.sys.mono == 0)
@ -2969,6 +2974,188 @@ void UI_func_epiano_velocity_sense(uint8_t param)
}
}
void UI_func_epiano_reverb_send(uint8_t param)
{
if (LCDML.FUNC_setup()) // ****** SETUP *********
{
encoderDir[ENC_R].reset();
lcd_special_chars(BLOCKBAR);
lcd_display_bar_int("EP Reverb Send", configuration.fx.ep_reverb_send, 1.0, EP_REVERB_SEND_MIN, EP_REVERB_SEND_MAX, 3, false, false, true);
}
if (LCDML.FUNC_loop()) // ****** LOOP *********
{
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort()))
{
if (LCDML.BT_checkDown())
{
configuration.fx.ep_reverb_send = constrain(configuration.fx.ep_reverb_send + ENCODER[ENC_R].speed(), EP_REVERB_SEND_MIN, EP_REVERB_SEND_MAX);
MD_sendControlChange(configuration.epiano.midi_channel, 91, configuration.fx.ep_reverb_send);
}
else if (LCDML.BT_checkUp())
{
configuration.fx.ep_reverb_send = constrain(configuration.fx.ep_reverb_send - ENCODER[ENC_R].speed(), EP_REVERB_SEND_MIN, EP_REVERB_SEND_MAX);
MD_sendControlChange(configuration.epiano.midi_channel, 91, configuration.fx.ep_reverb_send);
}
}
lcd_display_bar_int("EP Reverb Send", configuration.fx.ep_reverb_send, 1.0, EP_REVERB_SEND_MIN, EP_REVERB_SEND_MAX, 3, false, false, false);
reverb_mixer_r.gain(REVERB_MIX_CH_EPIANO, volume_transform(mapfloat(configuration.fx.ep_reverb_send, EP_REVERB_SEND_MIN, EP_REVERB_SEND_MAX, 0.0, VOL_MAX_FLOAT)));
reverb_mixer_l.gain(REVERB_MIX_CH_EPIANO, volume_transform(mapfloat(configuration.fx.ep_reverb_send, EP_REVERB_SEND_MIN, EP_REVERB_SEND_MAX, 0.0, VOL_MAX_FLOAT)));
}
if (LCDML.FUNC_close()) // ****** STABLE END *********
{
lcd_special_chars(SCROLLBAR);
encoderDir[ENC_R].reset();
}
}
void UI_func_epiano_chorus_frequency(uint8_t param)
{
if (LCDML.FUNC_setup()) // ****** SETUP *********
{
encoderDir[ENC_R].reset();
lcd_special_chars(BLOCKBAR);
lcd_display_bar_float("EP Chorus Frq.", configuration.fx.ep_chorus_frequency, 0.1, EP_CHORUS_FREQUENCY_MIN, EP_CHORUS_FREQUENCY_MAX, 2, 1, false, false, true);
}
if (LCDML.FUNC_loop()) // ****** LOOP *********
{
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort()))
{
if (LCDML.BT_checkDown())
configuration.fx.ep_chorus_frequency = constrain(configuration.fx.ep_chorus_frequency + ENCODER[ENC_R].speed(), EP_CHORUS_FREQUENCY_MIN, EP_CHORUS_FREQUENCY_MAX);
else if (LCDML.BT_checkUp())
configuration.fx.ep_chorus_frequency = constrain(configuration.fx.ep_chorus_frequency - ENCODER[ENC_R].speed(), EP_CHORUS_FREQUENCY_MIN, EP_CHORUS_FREQUENCY_MAX);
}
lcd_display_bar_float("EP Chorus Frq.", configuration.fx.ep_chorus_frequency, 0.1, EP_CHORUS_FREQUENCY_MIN, EP_CHORUS_FREQUENCY_MAX, 2, 1, false, false, false);
ep_chorus_modulator.frequency(configuration.fx.ep_chorus_frequency / 10.0);
}
if (LCDML.FUNC_close()) // ****** STABLE END *********
{
lcd_special_chars(SCROLLBAR);
encoderDir[ENC_R].reset();
}
}
void UI_func_epiano_chorus_waveform(uint8_t param)
{
if (LCDML.FUNC_setup()) // ****** SETUP *********
{
encoderDir[ENC_R].reset();
lcd.setCursor(0, 0);
lcd.print(F("EP Chorus Wavefrm"));
}
if (LCDML.FUNC_loop()) // ****** LOOP *********
{
if (LCDML.BT_checkDown() && encoderDir[ENC_R].Down())
configuration.fx.ep_chorus_waveform = constrain(configuration.fx.ep_chorus_waveform + 1, EP_CHORUS_WAVEFORM_MIN, EP_CHORUS_WAVEFORM_MAX);
else if (LCDML.BT_checkUp() && encoderDir[ENC_R].Up())
configuration.fx.ep_chorus_waveform = constrain(configuration.fx.ep_chorus_waveform - 1, EP_CHORUS_WAVEFORM_MIN, EP_CHORUS_WAVEFORM_MAX);
lcd.setCursor(0, 1);
switch (configuration.fx.ep_chorus_waveform)
{
case 0:
ep_chorus_modulator.begin(WAVEFORM_TRIANGLE);
lcd.print(F("[TRIANGLE]"));
break;
case 1:
ep_chorus_modulator.begin(WAVEFORM_SINE);
lcd.print(F("[SINE ]"));
break;
default:
ep_chorus_modulator.begin(WAVEFORM_TRIANGLE);
lcd.print(F("[TRIANGLE]"));
break;
}
}
if (LCDML.FUNC_close()) // ****** STABLE END *********
{
lcd_special_chars(SCROLLBAR);
encoderDir[ENC_R].reset();
}
}
void UI_func_epiano_chorus_depth(uint8_t param)
{
if (LCDML.FUNC_setup()) // ****** SETUP *********
{
encoderDir[ENC_R].reset();
lcd_special_chars(BLOCKBAR);
lcd_display_bar_int("EP Chorus Dpt.", configuration.fx.ep_chorus_depth, 1.0, EP_CHORUS_DEPTH_MIN, EP_CHORUS_DEPTH_MAX, 3, false, false, true);
}
if (LCDML.FUNC_loop()) // ****** LOOP *********
{
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort()))
{
if (LCDML.BT_checkDown())
configuration.fx.ep_chorus_depth = constrain(configuration.fx.ep_chorus_depth + ENCODER[ENC_R].speed(), EP_CHORUS_DEPTH_MIN, EP_CHORUS_DEPTH_MAX);
else if (LCDML.BT_checkUp())
configuration.fx.ep_chorus_depth = constrain(configuration.fx.ep_chorus_depth - ENCODER[ENC_R].speed(), EP_CHORUS_DEPTH_MIN, EP_CHORUS_DEPTH_MAX);
}
lcd_display_bar_int("Chorus Dpt.", configuration.fx.ep_chorus_depth, 1.0, EP_CHORUS_DEPTH_MIN, EP_CHORUS_DEPTH_MAX, 3, false, false, false);
ep_chorus_modulator.amplitude(configuration.fx.ep_chorus_depth / 100.0);
}
if (LCDML.FUNC_close()) // ****** STABLE END *********
{
lcd_special_chars(SCROLLBAR);
encoderDir[ENC_R].reset();
}
}
void UI_func_epiano_chorus_level(uint8_t param)
{
if (LCDML.FUNC_setup()) // ****** SETUP *********
{
encoderDir[ENC_R].reset();
lcd_special_chars(BLOCKBAR);
lcd_display_bar_int("Chorus Lvl.", configuration.fx.ep_chorus_level, 1.0, EP_CHORUS_LEVEL_MIN, EP_CHORUS_LEVEL_MAX, 3, false, false, true);
}
if (LCDML.FUNC_loop()) // ****** LOOP *********
{
if ((LCDML.BT_checkDown() && encoderDir[ENC_R].Down()) || (LCDML.BT_checkUp() && encoderDir[ENC_R].Up()) || (LCDML.BT_checkEnter() && encoderDir[ENC_R].ButtonShort()))
{
if (LCDML.BT_checkDown())
{
configuration.fx.ep_chorus_level = constrain(configuration.fx.ep_chorus_level + ENCODER[ENC_R].speed(), EP_CHORUS_LEVEL_MIN, EP_CHORUS_LEVEL_MAX);
MD_sendControlChange(configuration.epiano.midi_channel, 93, configuration.fx.ep_chorus_level);
}
else if (LCDML.BT_checkUp())
{
configuration.fx.ep_chorus_level = constrain(configuration.fx.ep_chorus_level - ENCODER[ENC_R].speed(), EP_CHORUS_LEVEL_MIN, EP_CHORUS_LEVEL_MAX);
MD_sendControlChange(configuration.epiano.midi_channel, 93, configuration.fx.ep_chorus_level);
}
}
lcd_display_bar_int("Chorus Lvl.", configuration.fx.ep_chorus_level, 1.0, EP_CHORUS_LEVEL_MIN, EP_CHORUS_LEVEL_MAX, 3, false, false, false);
ep_chorus_mixer_r.gain(1, mapfloat(configuration.fx.ep_chorus_level, EP_CHORUS_LEVEL_MIN, EP_CHORUS_LEVEL_MAX, 0.0, 0.5));
ep_chorus_mixer_l.gain(1, mapfloat(configuration.fx.ep_chorus_level, EP_CHORUS_LEVEL_MIN, EP_CHORUS_LEVEL_MAX, 0.0, 0.5));
}
if (LCDML.FUNC_close()) // ****** STABLE END *********
{
lcd_special_chars(SCROLLBAR);
encoderDir[ENC_R].reset();
}
}
void UI_func_stereo_mono(uint8_t param)
{
static uint8_t old_mono;

@ -103,68 +103,75 @@ LCDML_add(69, LCDML_0_1_6, 1, "Note Refresh", UI_func_note_refresh);
LCDML_add(70, LCDML_0_1_6, 2, "Velocity Lvl", UI_func_velocity_level);
LCDML_add(71, LCDML_0_1, 7, "Operator", UI_handle_OP);
LCDML_add(72, LCDML_0_1, 8, "Save Voice", UI_func_save_voice);
LCDML_add(73, LCDML_0, 2, "Load/Save", NULL);
LCDML_add(74, LCDML_0_2, 1, "Load Perf.", UI_func_load_performance);
LCDML_add(75, LCDML_0_2, 2, "Save Perf.", UI_func_save_performance);
LCDML_add(76, LCDML_0_2, 3, "Name Perf.", UI_func_set_performance_name);
LCDML_add(77, LCDML_0_2, 4, "MIDI", NULL);
LCDML_add(78, LCDML_0_2_4, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank);
LCDML_add(79, LCDML_0_2_4, 2, "MIDI Snd Bank", UI_func_sysex_send_bank);
LCDML_add(80, LCDML_0_2_4, 3, "MIDI Snd Voice", UI_func_sysex_send_voice);
LCDML_add(81, LCDML_0, 3, "Drums", NULL);
LCDML_add(82, LCDML_0_3, 1, "Drums Main Vol", UI_func_drums_main_volume);
LCDML_add(83, LCDML_0_3, 2, "Drum Volumes", UI_func_drum_volume);
LCDML_add(84, LCDML_0_3, 3, "Drum Pan", UI_func_drum_pan);
LCDML_add(85, LCDML_0_3, 4, "Drum Rev.Send", UI_func_drum_reverb_send);
LCDML_add(86, LCDML_0_3, 5, "Drum Pitch", UI_func_drum_pitch);
LCDML_add(87, LCDML_0_3, 6, "Drum Tune", UI_func_drum_tune_offset);
LCDML_add(88, LCDML_0_3, 7, "MIDI Channel", UI_func_drum_midi_channel);
LCDML_add(89, LCDML_0_3, 8, "Smart Filter", UI_func_smart_filter);
LCDML_add(90, LCDML_0, 4, "E-Piano", NULL);
LCDML_add(91, LCDML_0_4, 1, "Voice Level", UI_func_epiano_sound_intensity);
LCDML_add(92, LCDML_0_4, 2, "Panorama", UI_func_epiano_panorama);
LCDML_add(93, LCDML_0_4, 3, "Audio", NULL);
LCDML_add(94, LCDML_0_4_3, 1, "Decay", UI_func_epiano_decay); // uint8_t decay;
LCDML_add(95, LCDML_0_4_3, 2, "Release", UI_func_epiano_release); // uint8_t release;
LCDML_add(96, LCDML_0_4_3, 3, "Hardness", UI_func_epiano_hardness); // uint8_t hardness;
LCDML_add(97, LCDML_0_4_3, 4, "Treble", UI_func_epiano_treble); // uint8_t treble;
LCDML_add(98, LCDML_0_4_3, 5, "Stereo", UI_func_epiano_stereo); // uint8_t stereo;
LCDML_add(99, LCDML_0_4_3, 6, "Tune", UI_func_epiano_tune); // uint8_t tune;
LCDML_add(100, LCDML_0_4_3, 7, "Detune", UI_func_epiano_detune); // uint8_t detune;
LCDML_add(101, LCDML_0_4, 4, "Effects", NULL);
LCDML_add(102, LCDML_0_4_4, 1, "Pan Tremolo", UI_func_epiano_pan_tremolo); // uint8_t pan_tremolo;
LCDML_add(103, LCDML_0_4_4, 2, "Pan LFO", UI_func_epiano_pan_lfo); // uint8_t pan_lfo;
LCDML_add(104, LCDML_0_4_4, 3, "Overdrive", UI_func_epiano_overdrive); // uint8_t overdrive;
LCDML_add(105, LCDML_0_4, 5, "MIDI", NULL);
LCDML_add(106, LCDML_0_4_5, 1, "MIDI Channel", UI_func_epiano_midi_channel); // uint8_t midi_channel;
LCDML_add(107, LCDML_0_4_5, 2, "Lowest Note", UI_func_epiano_lowest_note); // uint8_t lowest_note;
LCDML_add(108, LCDML_0_4_5, 3, "Highest Note", UI_func_epiano_highest_note); // uint8_t highest_note;
LCDML_add(109, LCDML_0_4, 6, "Setup", NULL);
LCDML_add(110, LCDML_0_4_6, 4, "Transpose", UI_func_epiano_transpose); // uint8_t transpose;
LCDML_add(111, LCDML_0_4_6, 1, "Polyphony", UI_func_epiano_polyphony); // uint8_t polyphony;
LCDML_add(112, LCDML_0_4_6, 2, "Vel. Sense", UI_func_epiano_velocity_sense); // uint8_t velocity_sense;
LCDML_add(113, LCDML_0, 5, "Sequencer", NULL);
LCDML_add(114, LCDML_0_5, 1, "Pattern Editor", UI_func_seq_pattern_editor);
LCDML_add(115, LCDML_0_5, 2, "Vel./Chrd Edit", UI_func_seq_vel_editor);
LCDML_add(116, LCDML_0_5, 3, "Pattern Chain", UI_func_seq_pat_chain);
LCDML_add(117, LCDML_0_5, 4, "Arpeggio", UI_func_arpeggio);
LCDML_add(118, LCDML_0_5, 5, "Mute Matrix", UI_func_seq_mute_matrix);
LCDML_add(119, LCDML_0_5, 6, "Seq. Settings", NULL);
LCDML_add(120, LCDML_0_5_6, 1, "Tempo", UI_func_seq_tempo);
LCDML_add(121, LCDML_0_5_6, 2, "Seq. Length", UI_func_seq_lenght);
LCDML_add(122, LCDML_0_5_6, 3, "Track Setup", UI_func_seq_track_setup);
LCDML_add(123, LCDML_0_5_6, 4, "Seq.Disp.Style", UI_func_seq_display_style);
LCDML_add(124, LCDML_0_5_6, 5, "Dexed Assign", UI_func_dexed_assign);
LCDML_add(125, LCDML_0_5_6, 6, "Shift&Transp.", UI_func_arp_shift);
LCDML_add(126, LCDML_0_5_6, 7, "L.Transp.Key", UI_func_seq_live_transpose_oct);
LCDML_add(127, LCDML_0_5_6, 8, "ChordTrack Keys", UI_func_seq_chord_keys_ammount);
LCDML_add(128, LCDML_0_5_6, 9, "Smart Filter", UI_func_smart_filter);
LCDML_add(129, LCDML_0, 6, "System", NULL);
LCDML_add(130, LCDML_0_6, 1, "Stereo/Mono", UI_func_stereo_mono);
LCDML_add(131, LCDML_0_6, 2, "MIDI Soft THRU", UI_func_midi_soft_thru);
LCDML_add(132, LCDML_0_6, 3, "Favorites", UI_func_favorites);
LCDML_add(133, LCDML_0_6, 4, "Startup", UI_func_startup);
LCDML_add(134, LCDML_0, 7, "Info", UI_func_information);
LCDML_addAdvanced(135, LCDML_0, 8, COND_hide, "Volume", UI_func_volume, 0, _LCDML_TYPE_default);
#define _LCDML_DISP_cnt 135
LCDML_add(73, LCDML_0, 2, "Drums", NULL);
LCDML_add(74, LCDML_0_2, 1, "Drums Main Vol", UI_func_drums_main_volume);
LCDML_add(75, LCDML_0_2, 2, "Drum Volumes", UI_func_drum_volume);
LCDML_add(76, LCDML_0_2, 3, "Drum Pan", UI_func_drum_pan);
LCDML_add(77, LCDML_0_2, 4, "Drum Rev.Send", UI_func_drum_reverb_send);
LCDML_add(78, LCDML_0_2, 5, "Drum Pitch", UI_func_drum_pitch);
LCDML_add(79, LCDML_0_2, 6, "Drum Tune", UI_func_drum_tune_offset);
LCDML_add(80, LCDML_0_2, 7, "MIDI Channel", UI_func_drum_midi_channel);
LCDML_add(81, LCDML_0_2, 8, "Smart Filter", UI_func_smart_filter);
LCDML_add(82, LCDML_0, 3, "E-Piano", NULL);
LCDML_add(83, LCDML_0_3, 1, "Voice Level", UI_func_epiano_sound_intensity);
LCDML_add(84, LCDML_0_3, 2, "Panorama", UI_func_epiano_panorama);
LCDML_add(85, LCDML_0_3, 3, "Audio", NULL);
LCDML_add(86, LCDML_0_3_3, 1, "Decay", UI_func_epiano_decay); // uint8_t decay;
LCDML_add(87, LCDML_0_3_3, 2, "Release", UI_func_epiano_release); // uint8_t release;
LCDML_add(88, LCDML_0_3_3, 3, "Hardness", UI_func_epiano_hardness); // uint8_t hardness;
LCDML_add(89, LCDML_0_3_3, 4, "Treble", UI_func_epiano_treble); // uint8_t treble;
LCDML_add(90, LCDML_0_3_3, 5, "Stereo", UI_func_epiano_stereo); // uint8_t stereo;
LCDML_add(91, LCDML_0_3_3, 6, "Tune", UI_func_epiano_tune); // uint8_t tune;
LCDML_add(92, LCDML_0_3_3, 7, "Detune", UI_func_epiano_detune); // uint8_t detune;
LCDML_add(93, LCDML_0_3, 4, "Effects", NULL);
LCDML_add(94, LCDML_0_3_4, 3, "Overdrive", UI_func_epiano_overdrive); // uint8_t overdrive;
LCDML_add(95, LCDML_0_3_4, 4, "Tremolo", NULL);
LCDML_add(96, LCDML_0_3_4_4, 1, "Tremolo Panorama", UI_func_epiano_pan_tremolo); // uint8_t pan_tremolo;
LCDML_add(97, LCDML_0_3_4_4, 2, "Tremolo LFO", UI_func_epiano_pan_lfo); // uint8_t pan_lfo;
LCDML_add(98, LCDML_0_3_4, 5, "Chorus", NULL);
LCDML_add(99, LCDML_0_3_4_5, 1, "Frequency", UI_func_epiano_chorus_frequency);
LCDML_add(100, LCDML_0_3_4_5, 2, "Waveform", UI_func_epiano_chorus_waveform);
LCDML_add(101, LCDML_0_3_4_5, 3, "Depth", UI_func_epiano_chorus_depth);
LCDML_add(102, LCDML_0_3_4_5, 4, "Level", UI_func_epiano_chorus_level);
LCDML_add(103, LCDML_0_3_4, 6, "Reverb Send", UI_func_epiano_reverb_send);
LCDML_add(104, LCDML_0_3, 6, "MIDI", NULL);
LCDML_add(105, LCDML_0_3_6, 1, "MIDI Channel", UI_func_epiano_midi_channel); // uint8_t midi_channel;
LCDML_add(106, LCDML_0_3_6, 2, "Lowest Note", UI_func_epiano_lowest_note); // uint8_t lowest_note;
LCDML_add(107, LCDML_0_3_6, 3, "Highest Note", UI_func_epiano_highest_note); // uint8_t highest_note;
LCDML_add(108, LCDML_0_3, 7, "Setup", NULL);
LCDML_add(109, LCDML_0_3_7, 4, "Transpose", UI_func_epiano_transpose); // uint8_t transpose;
LCDML_add(110, LCDML_0_3_7, 1, "Polyphony", UI_func_epiano_polyphony); // uint8_t polyphony;
LCDML_add(111, LCDML_0_3_7, 2, "Vel. Sense", UI_func_epiano_velocity_sense); // uint8_t velocity_sense;
LCDML_add(112, LCDML_0, 4, "Sequencer", NULL);
LCDML_add(113, LCDML_0_4, 1, "Pattern Editor", UI_func_seq_pattern_editor);
LCDML_add(114, LCDML_0_4, 2, "Vel./Chrd Edit", UI_func_seq_vel_editor);
LCDML_add(115, LCDML_0_4, 3, "Pattern Chain", UI_func_seq_pat_chain);
LCDML_add(116, LCDML_0_4, 4, "Arpeggio", UI_func_arpeggio);
LCDML_add(117, LCDML_0_4, 5, "Mute Matrix", UI_func_seq_mute_matrix);
LCDML_add(118, LCDML_0_4, 6, "Seq. Settings", NULL);
LCDML_add(119, LCDML_0_4_6, 1, "Tempo", UI_func_seq_tempo);
LCDML_add(120, LCDML_0_4_6, 2, "Seq. Length", UI_func_seq_lenght);
LCDML_add(121, LCDML_0_4_6, 3, "Track Setup", UI_func_seq_track_setup);
LCDML_add(122, LCDML_0_4_6, 4, "Seq.Disp.Style", UI_func_seq_display_style);
LCDML_add(123, LCDML_0_4_6, 5, "Dexed Assign", UI_func_dexed_assign);
LCDML_add(124, LCDML_0_4_6, 6, "Shift&Transp.", UI_func_arp_shift);
LCDML_add(125, LCDML_0_4_6, 7, "L.Transp.Key", UI_func_seq_live_transpose_oct);
LCDML_add(126, LCDML_0_4_6, 8, "ChordTrack Keys", UI_func_seq_chord_keys_ammount);
LCDML_add(127, LCDML_0_4_6, 9, "Smart Filter", UI_func_smart_filter);
LCDML_add(128, LCDML_0, 5, "Load/Save", NULL);
LCDML_add(129, LCDML_0_5, 1, "Load Perf.", UI_func_load_performance);
LCDML_add(130, LCDML_0_5, 2, "Save Perf.", UI_func_save_performance);
LCDML_add(131, LCDML_0_5, 3, "Name Perf.", UI_func_set_performance_name);
LCDML_add(132, LCDML_0_5, 4, "MIDI", NULL);
LCDML_add(133, LCDML_0_5_4, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank);
LCDML_add(134, LCDML_0_5_4, 2, "MIDI Snd Bank", UI_func_sysex_send_bank);
LCDML_add(135, LCDML_0_5_4, 3, "MIDI Snd Voice", UI_func_sysex_send_voice);
LCDML_add(136, LCDML_0, 6, "System", NULL);
LCDML_add(137, LCDML_0_6, 1, "Stereo/Mono", UI_func_stereo_mono);
LCDML_add(138, LCDML_0_6, 2, "MIDI Soft THRU", UI_func_midi_soft_thru);
LCDML_add(139, LCDML_0_6, 3, "Favorites", UI_func_favorites);
LCDML_add(140, LCDML_0_6, 4, "Startup", UI_func_startup);
LCDML_add(141, LCDML_0, 7, "Info", UI_func_information);
LCDML_addAdvanced(142, LCDML_0, 8, COND_hide, "Volume", UI_func_volume, 0, _LCDML_TYPE_default);
#define _LCDML_DISP_cnt 142
#endif

@ -761,6 +761,10 @@
#define EP_OVERDRIVE_MAX 100
#define EP_OVERDRIVE_DEFAULT 0
#define EP_REVERB_SEND_MIN 0
#define EP_REVERB_SEND_MAX 100
#define EP_REVERB_SEND_DEFAULT 0
#define EP_LOWEST_NOTE_MIN 21
#define EP_LOWEST_NOTE_MAX 108
#define EP_LOWEST_NOTE_DEFAULT EP_LOWEST_NOTE_MIN

Loading…
Cancel
Save