diff --git a/MicroDexed.ino b/MicroDexed.ino index 5c22454..f244f92 100644 --- a/MicroDexed.ino +++ b/MicroDexed.ino @@ -932,9 +932,9 @@ void loop() ******************************************************************************/ void handleNoteOn(byte inChannel, byte inNumber, byte inVelocity) { - // - // Drum Sampler - // + // + // Drum Sampler + // #if NUM_DRUMS > 0 if (activesample < 6 && seq.seq_running == false && LCDML.FUNC_getID() == LCDML.OTHER_getIDFromFunction(UI_func_seq_pattern_editor) ) // live play pitched sample { @@ -1057,9 +1057,9 @@ void handleNoteOn(byte inChannel, byte inNumber, byte inVelocity) #endif } -// -// E-Piano -// + // + // E-Piano + // #if defined(USE_EPIANO) if (configuration.epiano.midi_channel == MIDI_CHANNEL_OMNI || configuration.epiano.midi_channel == inChannel) { @@ -2626,6 +2626,9 @@ void set_voiceconfig_params(uint8_t instance_id) void set_epiano_params(void) { #if defined(USE_EPIANO) +#ifdef DEBUG + Serial.print(F("Setting EPiano parameters... ")); +#endif ep.setDecay(mapfloat(configuration.epiano.decay, EP_DECAY_MIN, EP_DECAY_MAX, 0, 1.0)); ep.setRelease(mapfloat(configuration.epiano.release, EP_RELEASE_MIN, EP_RELEASE_MAX, 0, 1.0)); ep.setHardness(mapfloat(configuration.epiano.hardness, EP_HARDNESS_MIN, EP_HARDNESS_MAX, 0, 1.0)); @@ -2639,6 +2642,9 @@ void set_epiano_params(void) ep.setDetune(mapfloat(configuration.epiano.detune, EP_DETUNE_MIN, EP_DETUNE_MAX, 0, 1.0)); ep.setOverdrive(mapfloat(configuration.epiano.overdrive, EP_OVERDRIVE_MIN, EP_OVERDRIVE_MAX, 0, 1.0)); ep.setVolume(mapfloat(configuration.epiano.sound_intensity, EP_SOUND_INTENSITY_MIN, EP_SOUND_INTENSITY_MAX, 0, 1.0)); +#ifdef DEBUG + Serial.println(F("done.")); +#endif #else ; #endif diff --git a/UI.hpp b/UI.hpp index c62c124..a274bfe 100644 --- a/UI.hpp +++ b/UI.hpp @@ -7213,7 +7213,7 @@ void UI_func_save_performance(uint8_t param) static uint8_t mode; if (LCDML.FUNC_setup()) // ****** SETUP ********* { - char tmp[FILENAME_LEN]; + char tmp[CONFIG_FILENAME_LEN]; yesno = false; if (seq.seq_state_last_loadsave != 200) temp_int = seq.seq_state_last_loadsave; @@ -7273,7 +7273,7 @@ void UI_func_save_performance(uint8_t param) { if (yesno == true) { - char tmp[FILENAME_LEN]; + char tmp[CONFIG_FILENAME_LEN]; sprintf(tmp, "/%s/%d/%s.json", PERFORMANCE_CONFIG_PATH, temp_int, SEQUENCER_CONFIG_NAME); SD.remove(tmp); } @@ -7295,8 +7295,9 @@ void UI_func_save_performance(uint8_t param) } if (mode == 0) { - char tmp[FILENAME_LEN]; + char tmp[CONFIG_FILENAME_LEN]; sprintf(tmp, "/%s/%d/%s.json", PERFORMANCE_CONFIG_PATH, temp_int, SEQUENCER_CONFIG_NAME); + if (SD.exists(tmp)) overwrite = true; else @@ -7321,13 +7322,16 @@ void UI_func_save_performance(uint8_t param) { lcd.setCursor(12, 1); if (yesno == true) + { lcd.print(F("YES")); + } else lcd.print(F("NO ")); } } encoderDir[ENC_R].reset(); } + if (LCDML.FUNC_close()) // ****** STABLE END ********* { if (mode < 0xff) @@ -7335,6 +7339,9 @@ void UI_func_save_performance(uint8_t param) lcd.show(1, 0, 16, "Canceled."); delay(MESSAGE_WAIT_TIME); } + else + save_sd_performance_json(temp_int); + encoderDir[ENC_R].reset(); } } @@ -8276,7 +8283,7 @@ void UI_func_sysex_receive_bank(uint8_t param) Serial.print(receive_bank_filename); Serial.println(F("]")); #endif - char tmp[FILENAME_LEN]; + char tmp[CONFIG_FILENAME_LEN]; strcpy(tmp, receive_bank_filename); sprintf(receive_bank_filename, "/%d/%s.syx", bank_number, tmp); #ifdef DEBUG diff --git a/addon/SD/PERFORMANCE/0/epiano.json b/addon/SD/PERFORMANCE/0/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/0/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/0/fx.json b/addon/SD/PERFORMANCE/0/fx.json index e860a8e..7b2a3c9 100644 --- a/addon/SD/PERFORMANCE/0/fx.json +++ b/addon/SD/PERFORMANCE/0/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": -2, - "eq_7": 8 -} \ No newline at end of file + "eq_7": 8, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/1/epiano.json b/addon/SD/PERFORMANCE/1/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/1/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/1/fx.json b/addon/SD/PERFORMANCE/1/fx.json index 20a4bda..49a599c 100644 --- a/addon/SD/PERFORMANCE/1/fx.json +++ b/addon/SD/PERFORMANCE/1/fx.json @@ -56,5 +56,17 @@ "eq_4": -8, "eq_5": 0, "eq_6": -2, - "eq_7": 0 -} \ No newline at end of file + "eq_7": 0, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/2/epiano.json b/addon/SD/PERFORMANCE/2/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/2/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/2/fx.json b/addon/SD/PERFORMANCE/2/fx.json index 4392561..8ab09f6 100644 --- a/addon/SD/PERFORMANCE/2/fx.json +++ b/addon/SD/PERFORMANCE/2/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": 0, - "eq_7": 0 -} \ No newline at end of file + "eq_7": 0, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/3/epiano.json b/addon/SD/PERFORMANCE/3/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/3/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/3/fx.json b/addon/SD/PERFORMANCE/3/fx.json index f452185..61b7797 100644 --- a/addon/SD/PERFORMANCE/3/fx.json +++ b/addon/SD/PERFORMANCE/3/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": 0, - "eq_7": 0 -} \ No newline at end of file + "eq_7": 0, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/4/epiano.json b/addon/SD/PERFORMANCE/4/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/4/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/4/fx.json b/addon/SD/PERFORMANCE/4/fx.json index 46f1f05..ea6460d 100644 --- a/addon/SD/PERFORMANCE/4/fx.json +++ b/addon/SD/PERFORMANCE/4/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": 0, - "eq_7": 0 -} \ No newline at end of file + "eq_7": 0, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/5/epiano.json b/addon/SD/PERFORMANCE/5/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/5/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/5/fx.json b/addon/SD/PERFORMANCE/5/fx.json index b5c1d2e..06f956b 100644 --- a/addon/SD/PERFORMANCE/5/fx.json +++ b/addon/SD/PERFORMANCE/5/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": 0, - "eq_7": 0 -} \ No newline at end of file + "eq_7": 0, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/6/epiano.json b/addon/SD/PERFORMANCE/6/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/6/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/6/fx.json b/addon/SD/PERFORMANCE/6/fx.json index e75adf9..a8829a6 100644 --- a/addon/SD/PERFORMANCE/6/fx.json +++ b/addon/SD/PERFORMANCE/6/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": -2, - "eq_7": 8 -} \ No newline at end of file + "eq_7": 8, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/7/epiano.json b/addon/SD/PERFORMANCE/7/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/7/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/7/fx.json b/addon/SD/PERFORMANCE/7/fx.json index 130d719..d7384ab 100644 --- a/addon/SD/PERFORMANCE/7/fx.json +++ b/addon/SD/PERFORMANCE/7/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": -2, - "eq_7": 8 -} \ No newline at end of file + "eq_7": 8, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/addon/SD/PERFORMANCE/8/epiano.json b/addon/SD/PERFORMANCE/8/epiano.json new file mode 100755 index 0000000..9829464 --- /dev/null +++ b/addon/SD/PERFORMANCE/8/epiano.json @@ -0,0 +1,20 @@ +{ + "decay": 50, + "release": 50, + "hardness": 50, + "treble": 50, + "pan_tremolo": 65, + "pan_lfo": 25, + "velocity_sense": 50, + "stereo": 100, + "polyphony": 16, + "tune": 50, + "detune": 15, + "overdrive": 0, + "lowest_note": 21, + "highest_note": 108, + "transpose": 0, + "sound_intensity": 100, + "pan": 20, + "midi_channel": 1 +} diff --git a/addon/SD/PERFORMANCE/8/fx.json b/addon/SD/PERFORMANCE/8/fx.json index c93990b..099a84b 100644 --- a/addon/SD/PERFORMANCE/8/fx.json +++ b/addon/SD/PERFORMANCE/8/fx.json @@ -56,5 +56,17 @@ "eq_4": 0, "eq_5": 0, "eq_6": -2, - "eq_7": 8 -} \ No newline at end of file + "eq_7": 8, + "eq_1": 15, + "eq_2": 0, + "eq_3": 1, + "eq_4": 0, + "eq_5": 0, + "eq_6": -2, + "eq_7": 8, + "ep_chorus_frequency": 0, + "ep_chorus_waveform": 0, + "ep_chorus_dept": 0, + "ep_chorus_level": 0, + "ep_reverb_send": 0 +} diff --git a/dexed_sd.cpp b/dexed_sd.cpp index 9be8d89..34eb617 100644 --- a/dexed_sd.cpp +++ b/dexed_sd.cpp @@ -1008,10 +1008,10 @@ bool load_sd_epiano_json(uint8_t number) configuration.epiano.overdrive = data_json["overdrive"]; configuration.epiano.lowest_note = data_json["lowest_note"]; configuration.epiano.highest_note = data_json["highest_note"]; - configuration.epiano.transpose = data_json["transpo"]; - configuration.epiano.sound_intensity = data_json["sound_int"]; - configuration.epiano.pan = data_json["pa"]; - configuration.epiano.midi_channel = data_json["midi_ch"]; + configuration.epiano.transpose = data_json["transpose"]; + configuration.epiano.sound_intensity = data_json["sound_intensity"]; + configuration.epiano.pan = data_json["pan"]; + configuration.epiano.midi_channel = data_json["midi_channel"]; check_configuration_epiano(); set_epiano_params(); diff --git a/effect_stereo_panorama.cpp b/effect_stereo_panorama.cpp index 846142f..ab9aee2 100644 --- a/effect_stereo_panorama.cpp +++ b/effect_stereo_panorama.cpp @@ -68,7 +68,6 @@ inline float mapfloat(float val, float in_min, float in_max, float out_min, floa void AudioEffectStereoPanorama::panorama(float p) { - //pan = mapfloat(p, -1.0, 1.0, 1.0, 0.0); if (p == 0.5) pan_l = pan_r = 1.0; else if (p > 0.5)