From 46c6e3b1f0d4aae8ed61ba4200260d61ed79fc2f Mon Sep 17 00:00:00 2001 From: Holger Wirtz Date: Tue, 30 Jun 2020 13:23:36 +0200 Subject: [PATCH] Fixes for loading setups/performances. --- MicroDexed.ino | 4 ++-- UI.hpp | 2 +- dexed_sd.cpp | 10 ++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/MicroDexed.ino b/MicroDexed.ino index a1d13ae..c7c3d64 100644 --- a/MicroDexed.ino +++ b/MicroDexed.ino @@ -2157,6 +2157,8 @@ void show_configuration(void) Serial.print(F(" MIDI-Channel ")); Serial.println(configuration.dexed[instance_id].midi_channel, DEC); Serial.print(F(" Lowest Note ")); Serial.println(configuration.dexed[instance_id].lowest_note, DEC); Serial.print(F(" Highest Note ")); Serial.println(configuration.dexed[instance_id].highest_note, DEC); + Serial.print(F(" Filter Cutoff ")); Serial.println(configuration.fx.filter_cutoff[instance_id], DEC); + Serial.print(F(" Filter Resonance ")); Serial.println(configuration.fx.filter_resonance[instance_id], DEC); Serial.print(F(" Chorus Frequency ")); Serial.println(configuration.fx.chorus_frequency[instance_id], DEC); Serial.print(F(" Chorus Waveform ")); Serial.println(configuration.fx.chorus_waveform[instance_id], DEC); Serial.print(F(" Chorus Depth ")); Serial.println(configuration.fx.chorus_depth[instance_id], DEC); @@ -2165,8 +2167,6 @@ void show_configuration(void) Serial.print(F(" Delay Feedback ")); Serial.println(configuration.fx.delay_feedback[instance_id], DEC); Serial.print(F(" Delay Level ")); Serial.println(configuration.fx.delay_level[instance_id], DEC); Serial.print(F(" Reverb Send ")); Serial.println(configuration.fx.reverb_send[instance_id], DEC); - Serial.print(F(" Filter Cutoff ")); Serial.println(configuration.dexed[instance_id].filter_cutoff, DEC); - Serial.print(F(" Filter Resonance ")); Serial.println(configuration.dexed[instance_id].filter_resonance, DEC); Serial.print(F(" Sound Intensity ")); Serial.println(configuration.dexed[instance_id].sound_intensity, DEC); Serial.print(F(" Panorama ")); Serial.println(configuration.dexed[instance_id].pan, DEC); Serial.print(F(" Transpose ")); Serial.println(configuration.dexed[instance_id].transpose, DEC); diff --git a/UI.hpp b/UI.hpp index 98ba461..b69c760 100644 --- a/UI.hpp +++ b/UI.hpp @@ -1481,7 +1481,7 @@ void UI_func_filter_cutoff(uint8_t param) encoderDir[ENC_R].reset(); EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.filter_cutoff[0]), configuration.fx.filter_cutoff[0]); #if NUM_DEXED > 1 - EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx[1].filter_cutoff[1]), configuration.fx.filter_cutoff[1]); + EEPROM.update(EEPROM_START_ADDRESS + offsetof(configuration_s, fx.filter_cutoff[1]), configuration.fx.filter_cutoff[1]); #endif } } diff --git a/dexed_sd.cpp b/dexed_sd.cpp index b36daee..a64b131 100644 --- a/dexed_sd.cpp +++ b/dexed_sd.cpp @@ -600,6 +600,16 @@ bool load_sd_performance(int8_t p) get_sd_data(sysex, 0x44, (uint8_t*)&configuration.performance); sysex.close(); + for (uint8_t instance_id = 0; instance_id < NUM_DEXED; instance_id++) + { + load_sd_voice(configuration.performance.bank[instance_id], configuration.performance.voice[instance_id], instance_id); + load_sd_voiceconfig(configuration.performance.voiceconfig_number[instance_id], instance_id); + + MicroDexed[instance_id]->controllers.refresh(); + MicroDexed[instance_id]->panic(); + } + load_sd_fx(configuration.performance.fx_number); + return (true); } #ifdef DEBUG