Added menu stumbs for custom MIDI-CC and custom drummap.

Added initial drmmap.json file.
dev
Holger Wirtz 3 years ago
parent a2c442b12b
commit 09c4feb592
  1. 2
      UI.hpp
  2. 160
      UI_FX_T4.h
  3. 86
      addon/SD/PERFORMANCE/0/drmmap.json

@ -399,6 +399,8 @@ void UI_func_drum_volume(uint8_t param);
void UI_func_drum_pan(uint8_t param); void UI_func_drum_pan(uint8_t param);
void UI_func_drum_pitch(uint8_t param); void UI_func_drum_pitch(uint8_t param);
void UI_func_drum_tune_offset(uint8_t param); void UI_func_drum_tune_offset(uint8_t param);
void UI_func_custom_mappings(uint8_t param);
void UI_func_cc_mappings(uint8_t param);
char* basename(const char* filename); char* basename(const char* filename);
char* strip_extension(char* filename); char* strip_extension(char* filename);

@ -97,83 +97,85 @@ LCDML_add(62, LCDML_0_2, 5, "Drum Pitch", UI_func_drum_pitch);
LCDML_add(63, LCDML_0_2, 6, "Drum Tune", UI_func_drum_tune_offset); LCDML_add(63, LCDML_0_2, 6, "Drum Tune", UI_func_drum_tune_offset);
LCDML_add(64, LCDML_0_2, 7, "MIDI Channel", UI_func_drum_midi_channel); LCDML_add(64, LCDML_0_2, 7, "MIDI Channel", UI_func_drum_midi_channel);
LCDML_add(65, LCDML_0_2, 8, "Smart Filter", UI_func_smart_filter); LCDML_add(65, LCDML_0_2, 8, "Smart Filter", UI_func_smart_filter);
LCDML_add(66, LCDML_0, 3, "E-Piano", NULL); LCDML_add(66, LCDML_0_2, 9, "Cust.DrumMap", UI_func_custom_mappings);
LCDML_add(67, LCDML_0_3, 1, "Voice Level", UI_func_epiano_sound_intensity); LCDML_add(67, LCDML_0, 3, "E-Piano", NULL);
LCDML_add(68, LCDML_0_3, 2, "Panorama", UI_func_epiano_panorama); LCDML_add(68, LCDML_0_3, 1, "Voice Level", UI_func_epiano_sound_intensity);
LCDML_add(69, LCDML_0_3, 3, "Sound", NULL); LCDML_add(69, LCDML_0_3, 2, "Panorama", UI_func_epiano_panorama);
LCDML_add(70, LCDML_0_3_3, 1, "Decay", UI_func_epiano_decay); // uint8_t decay; LCDML_add(70, LCDML_0_3, 3, "Sound", NULL);
LCDML_add(71, LCDML_0_3_3, 2, "Release", UI_func_epiano_release); // uint8_t release; LCDML_add(71, LCDML_0_3_3, 1, "Decay", UI_func_epiano_decay); // uint8_t decay;
LCDML_add(72, LCDML_0_3_3, 3, "Hardness", UI_func_epiano_hardness); // uint8_t hardness; LCDML_add(72, LCDML_0_3_3, 2, "Release", UI_func_epiano_release); // uint8_t release;
LCDML_add(73, LCDML_0_3_3, 4, "Treble", UI_func_epiano_treble); // uint8_t treble; LCDML_add(73, LCDML_0_3_3, 3, "Hardness", UI_func_epiano_hardness); // uint8_t hardness;
LCDML_add(74, LCDML_0_3_3, 5, "Stereo", UI_func_epiano_stereo); // uint8_t stereo; LCDML_add(74, LCDML_0_3_3, 4, "Treble", UI_func_epiano_treble); // uint8_t treble;
LCDML_add(75, LCDML_0_3_3, 6, "Tune", UI_func_epiano_tune); // uint8_t tune; LCDML_add(75, LCDML_0_3_3, 5, "Stereo", UI_func_epiano_stereo); // uint8_t stereo;
LCDML_add(76, LCDML_0_3_3, 7, "Detune", UI_func_epiano_detune); // uint8_t detune; LCDML_add(76, LCDML_0_3_3, 6, "Tune", UI_func_epiano_tune); // uint8_t tune;
LCDML_add(77, LCDML_0_3, 4, "Effects", NULL); LCDML_add(77, LCDML_0_3_3, 7, "Detune", UI_func_epiano_detune); // uint8_t detune;
LCDML_add(78, LCDML_0_3_4, 1, "Overdrive", UI_func_epiano_overdrive); // uint8_t overdrive; LCDML_add(78, LCDML_0_3, 4, "Effects", NULL);
LCDML_add(79, LCDML_0_3_4, 2, "Tremolo", NULL); LCDML_add(79, LCDML_0_3_4, 1, "Overdrive", UI_func_epiano_overdrive); // uint8_t overdrive;
LCDML_add(80, LCDML_0_3_4_2, 1, "Width", UI_func_epiano_pan_tremolo); // uint8_t pan_tremolo; LCDML_add(80, LCDML_0_3_4, 2, "Tremolo", NULL);
LCDML_add(81, LCDML_0_3_4_2, 2, "LFO", UI_func_epiano_pan_lfo); // uint8_t pan_lfo; LCDML_add(81, LCDML_0_3_4_2, 1, "Width", UI_func_epiano_pan_tremolo); // uint8_t pan_tremolo;
LCDML_add(82, LCDML_0_3_4, 3, "Chorus", NULL); LCDML_add(82, LCDML_0_3_4_2, 2, "LFO", UI_func_epiano_pan_lfo); // uint8_t pan_lfo;
LCDML_add(83, LCDML_0_3_4_3, 1, "Frequency", UI_func_epiano_chorus_frequency); LCDML_add(83, LCDML_0_3_4, 3, "Chorus", NULL);
LCDML_add(84, LCDML_0_3_4_3, 2, "Waveform", UI_func_epiano_chorus_waveform); LCDML_add(84, LCDML_0_3_4_3, 1, "Frequency", UI_func_epiano_chorus_frequency);
LCDML_add(85, LCDML_0_3_4_3, 3, "Depth", UI_func_epiano_chorus_depth); LCDML_add(85, LCDML_0_3_4_3, 2, "Waveform", UI_func_epiano_chorus_waveform);
LCDML_add(86, LCDML_0_3_4_3, 4, "Level", UI_func_epiano_chorus_level); LCDML_add(86, LCDML_0_3_4_3, 3, "Depth", UI_func_epiano_chorus_depth);
LCDML_add(87, LCDML_0_3_4, 4, "Reverb Send", UI_func_epiano_reverb_send); LCDML_add(87, LCDML_0_3_4_3, 4, "Level", UI_func_epiano_chorus_level);
LCDML_add(88, LCDML_0_3, 6, "MIDI", NULL); LCDML_add(88, LCDML_0_3_4, 4, "Reverb Send", UI_func_epiano_reverb_send);
LCDML_add(89, LCDML_0_3_6, 1, "MIDI Channel", UI_func_epiano_midi_channel); // uint8_t midi_channel; LCDML_add(89, LCDML_0_3, 6, "MIDI", NULL);
LCDML_add(90, LCDML_0_3_6, 2, "Lowest Note", UI_func_epiano_lowest_note); // uint8_t lowest_note; LCDML_add(90, LCDML_0_3_6, 1, "MIDI Channel", UI_func_epiano_midi_channel); // uint8_t midi_channel;
LCDML_add(91, LCDML_0_3_6, 3, "Highest Note", UI_func_epiano_highest_note); // uint8_t highest_note; LCDML_add(91, LCDML_0_3_6, 2, "Lowest Note", UI_func_epiano_lowest_note); // uint8_t lowest_note;
LCDML_add(92, LCDML_0_3, 7, "Setup", NULL); LCDML_add(92, LCDML_0_3_6, 3, "Highest Note", UI_func_epiano_highest_note); // uint8_t highest_note;
LCDML_add(93, LCDML_0_3_7, 4, "Transpose", UI_func_epiano_transpose); // uint8_t transpose; LCDML_add(93, LCDML_0_3, 7, "Setup", NULL);
LCDML_add(94, LCDML_0_3_7, 1, "Polyphony", UI_func_epiano_polyphony); // uint8_t polyphony; LCDML_add(94, LCDML_0_3_7, 4, "Transpose", UI_func_epiano_transpose); // uint8_t transpose;
LCDML_add(95, LCDML_0_3_7, 2, "Vel. Sense", UI_func_epiano_velocity_sense); // uint8_t velocity_sense; LCDML_add(95, LCDML_0_3_7, 1, "Polyphony", UI_func_epiano_polyphony); // uint8_t polyphony;
LCDML_add(96, LCDML_0, 4, "Master Effects", NULL); LCDML_add(96, LCDML_0_3_7, 2, "Vel. Sense", UI_func_epiano_velocity_sense); // uint8_t velocity_sense;
LCDML_add(97, LCDML_0_4, 1, "Reverb", NULL); LCDML_add(97, LCDML_0, 4, "Master Effects", NULL);
LCDML_add(98, LCDML_0_4_1, 1, "Roomsize", UI_func_reverb_roomsize); LCDML_add(98, LCDML_0_4, 1, "Reverb", NULL);
LCDML_add(99, LCDML_0_4_1, 2, "Lowpass", UI_func_reverb_lowpass); LCDML_add(99, LCDML_0_4_1, 1, "Roomsize", UI_func_reverb_roomsize);
LCDML_add(100, LCDML_0_4_1, 3, "Lodamp", UI_func_reverb_lodamp); LCDML_add(100, LCDML_0_4_1, 2, "Lowpass", UI_func_reverb_lowpass);
LCDML_add(101, LCDML_0_4_1, 4, "Hidamp", UI_func_reverb_hidamp); LCDML_add(101, LCDML_0_4_1, 3, "Lodamp", UI_func_reverb_lodamp);
LCDML_add(102, LCDML_0_4_1, 5, "Diffusion", UI_func_reverb_diffusion); LCDML_add(102, LCDML_0_4_1, 4, "Hidamp", UI_func_reverb_hidamp);
LCDML_add(103, LCDML_0_4_1, 6, "Level", UI_func_reverb_level); LCDML_add(103, LCDML_0_4_1, 5, "Diffusion", UI_func_reverb_diffusion);
LCDML_add(104, LCDML_0_4_1, 7, "Reverb Send", UI_func_reverb_send); LCDML_add(104, LCDML_0_4_1, 6, "Level", UI_func_reverb_level);
LCDML_add(105, LCDML_0_4, 2, "EQ", NULL); LCDML_add(105, LCDML_0_4_1, 7, "Reverb Send", UI_func_reverb_send);
LCDML_add(106, LCDML_0_4_2, 1, "Low-Cut", UI_func_eq_1); LCDML_add(106, LCDML_0_4, 2, "EQ", NULL);
LCDML_add(107, LCDML_0_4_2, 2, "110Hz", UI_func_eq_2); LCDML_add(107, LCDML_0_4_2, 1, "Low-Cut", UI_func_eq_1);
LCDML_add(108, LCDML_0_4_2, 3, "220Hz", UI_func_eq_3); LCDML_add(108, LCDML_0_4_2, 2, "110Hz", UI_func_eq_2);
LCDML_add(109, LCDML_0_4_2, 4, "1000Hz", UI_func_eq_4); LCDML_add(109, LCDML_0_4_2, 3, "220Hz", UI_func_eq_3);
LCDML_add(110, LCDML_0_4_2, 5, "2000Hz", UI_func_eq_5); LCDML_add(110, LCDML_0_4_2, 4, "1000Hz", UI_func_eq_4);
LCDML_add(111, LCDML_0_4_2, 6, "7000Hz", UI_func_eq_6); LCDML_add(111, LCDML_0_4_2, 5, "2000Hz", UI_func_eq_5);
LCDML_add(112, LCDML_0_4_2, 7, "High-Cut", UI_func_eq_7) LCDML_add(112, LCDML_0_4_2, 6, "7000Hz", UI_func_eq_6);
LCDML_add(113, LCDML_0, 5, "Sequencer", NULL); LCDML_add(113, LCDML_0_4_2, 7, "High-Cut", UI_func_eq_7)
LCDML_add(114, LCDML_0_5, 1, "Pattern Editor", UI_func_seq_pattern_editor); LCDML_add(114, LCDML_0, 5, "Sequencer", NULL);
LCDML_add(115, LCDML_0_5, 2, "Vel./Chrd Edit", UI_func_seq_vel_editor); LCDML_add(115, LCDML_0_5, 1, "Pattern Editor", UI_func_seq_pattern_editor);
LCDML_add(116, LCDML_0_5, 3, "Pattern Chain", UI_func_seq_pat_chain); LCDML_add(116, LCDML_0_5, 2, "Vel./Chrd Edit", UI_func_seq_vel_editor);
LCDML_add(117, LCDML_0_5, 4, "Arpeggio", UI_func_arpeggio); LCDML_add(117, LCDML_0_5, 3, "Pattern Chain", UI_func_seq_pat_chain);
LCDML_add(118, LCDML_0_5, 5, "Mute Matrix", UI_func_seq_mute_matrix); LCDML_add(118, LCDML_0_5, 4, "Arpeggio", UI_func_arpeggio);
LCDML_add(119, LCDML_0_5, 6, "Seq. Settings", NULL); LCDML_add(119, LCDML_0_5, 5, "Mute Matrix", UI_func_seq_mute_matrix);
LCDML_add(120, LCDML_0_5_6, 1, "Tempo", UI_func_seq_tempo); LCDML_add(120, LCDML_0_5, 6, "Seq. Settings", NULL);
LCDML_add(121, LCDML_0_5_6, 2, "Seq. Length", UI_func_seq_lenght); LCDML_add(121, LCDML_0_5_6, 1, "Tempo", UI_func_seq_tempo);
LCDML_add(122, LCDML_0_5_6, 3, "Track Setup", UI_func_seq_track_setup); LCDML_add(122, LCDML_0_5_6, 2, "Seq. Length", UI_func_seq_lenght);
LCDML_add(123, LCDML_0_5_6, 4, "Seq.Disp.Style", UI_func_seq_display_style); LCDML_add(123, LCDML_0_5_6, 3, "Track Setup", UI_func_seq_track_setup);
LCDML_add(124, LCDML_0_5_6, 5, "Dexed Assign", UI_func_dexed_assign); LCDML_add(124, LCDML_0_5_6, 4, "Seq.Disp.Style", UI_func_seq_display_style);
LCDML_add(125, LCDML_0_5_6, 6, "Shift&Transp.", UI_func_arp_shift); LCDML_add(125, LCDML_0_5_6, 5, "Dexed Assign", UI_func_dexed_assign);
LCDML_add(126, LCDML_0_5_6, 7, "L.Transp.Key", UI_func_seq_live_transpose_oct); LCDML_add(126, LCDML_0_5_6, 6, "Shift&Transp.", UI_func_arp_shift);
LCDML_add(127, LCDML_0_5_6, 8, "ChordTrack Keys", UI_func_seq_chord_keys_ammount); LCDML_add(127, LCDML_0_5_6, 7, "L.Transp.Key", UI_func_seq_live_transpose_oct);
LCDML_add(128, LCDML_0_5_6, 9, "Smart Filter", UI_func_smart_filter); LCDML_add(128, LCDML_0_5_6, 8, "ChordTrack Keys", UI_func_seq_chord_keys_ammount);
LCDML_add(129, LCDML_0, 6, "Load/Save", NULL); LCDML_add(129, LCDML_0_5_6, 9, "Smart Filter", UI_func_smart_filter);
LCDML_add(130, LCDML_0_6, 1, "Load Perf.", UI_func_load_performance); LCDML_add(130, LCDML_0, 6, "Load/Save", NULL);
LCDML_add(131, LCDML_0_6, 2, "Save Perf.", UI_func_save_performance); LCDML_add(131, LCDML_0_6, 1, "Load Perf.", UI_func_load_performance);
LCDML_add(132, LCDML_0_6, 3, "Name Perf.", UI_func_set_performance_name); LCDML_add(132, LCDML_0_6, 2, "Save Perf.", UI_func_save_performance);
LCDML_add(133, LCDML_0_6, 4, "MIDI", NULL); LCDML_add(133, LCDML_0_6, 3, "Name Perf.", UI_func_set_performance_name);
LCDML_add(134, LCDML_0_6_4, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank); LCDML_add(134, LCDML_0_6, 4, "MIDI", NULL);
LCDML_add(135, LCDML_0_6_4, 2, "MIDI Snd Bank", UI_func_sysex_send_bank); LCDML_add(135, LCDML_0_6_4, 1, "MIDI Recv Bank", UI_func_sysex_receive_bank);
LCDML_add(136, LCDML_0_6_4, 3, "MIDI Snd Voice", UI_func_sysex_send_voice); LCDML_add(136, LCDML_0_6_4, 2, "MIDI Snd Bank", UI_func_sysex_send_bank);
LCDML_add(137, LCDML_0, 7, "System", NULL); LCDML_add(137, LCDML_0_6_4, 3, "MIDI Snd Voice", UI_func_sysex_send_voice);
LCDML_add(138, LCDML_0_7, 1, "Stereo/Mono", UI_func_stereo_mono); LCDML_add(138, LCDML_0, 7, "System", NULL);
LCDML_add(139, LCDML_0_7, 2, "MIDI Soft THRU", UI_func_midi_soft_thru); LCDML_add(139, LCDML_0_7, 1, "Stereo/Mono", UI_func_stereo_mono);
LCDML_add(140, LCDML_0_7, 3, "Favorites", UI_func_favorites); LCDML_add(140, LCDML_0_7, 2, "MIDI Soft THRU", UI_func_midi_soft_thru);
LCDML_add(141, LCDML_0_7, 4, "Startup", UI_func_startup); LCDML_add(141, LCDML_0_7, 3, "Cust. CC Map", UI_func_cc_mappings);
LCDML_add(142, LCDML_0, 8, "Info", UI_func_information); LCDML_add(142, LCDML_0_7, 4, "Favorites", UI_func_favorites);
LCDML_addAdvanced(143, LCDML_0, 9, COND_hide, "Volume", UI_func_volume, 0, _LCDML_TYPE_default); LCDML_add(143, LCDML_0_7, 5, "Startup", UI_func_startup);
#define _LCDML_DISP_cnt 143 LCDML_add(144, LCDML_0, 8, "Info", UI_func_information);
LCDML_addAdvanced(145, LCDML_0, 9, COND_hide, "Volume", UI_func_volume, 0, _LCDML_TYPE_default);
#define _LCDML_DISP_cnt 145
#endif #endif

@ -0,0 +1,86 @@
{
"type": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"in": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"out": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"channel": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
Loading…
Cancel
Save