From 2d5a45d4e6bf8861c91cba016bf82f59064fb4f8 Mon Sep 17 00:00:00 2001 From: Holger Wirtz Date: Tue, 4 Dec 2018 13:28:46 +0100 Subject: [PATCH] Changed the behavoiur of the delay feedback and delay volume. --- MicroDexed.ino | 28 +++++++++++++++------------- UI.cpp | 2 ++ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/MicroDexed.ino b/MicroDexed.ino index 6cb74b4..13e9de0 100644 --- a/MicroDexed.ino +++ b/MicroDexed.ino @@ -64,26 +64,27 @@ AudioConnection patchCord1(queue1, peak1); AudioConnection patchCord2(queue1, 0, filter1, 0); AudioConnection patchCord3(filter1, 0, delay1, 0); AudioConnection patchCord4(filter1, 0, mixer1, 0); -AudioConnection patchCord5(delay1, 0, mixer1, 1); -AudioConnection patchCord6(delay1, 0, mixer2, 1); -AudioConnection patchCord7(mixer1, delay1); -AudioConnection patchCord8(queue1, 0, mixer1, 3); // for disabling the filter -AudioConnection patchCord9(mixer1, 0, mixer2, 0); +AudioConnection patchCord5(filter1, 0, mixer2, 0); +AudioConnection patchCord6(delay1, 0, mixer1, 1); +AudioConnection patchCord7(delay1, 0, mixer2, 2); +AudioConnection patchCord8(mixer1, delay1); +AudioConnection patchCord9(queue1, 0, mixer1, 3); // for disabling the filter +AudioConnection patchCord10(mixer1, 0, mixer2, 1); #ifdef TEENSY_AUDIO_BOARD AudioOutputI2S i2s1; //xy=1200,432 AudioControlSGTL5000 sgtl5000_1; //xy=197,554 -AudioConnection patchCord10(mixer2, 0, i2s1, 0); -AudioConnection patchCord11(mixer2, 0, i2s1, 1); +AudioConnection patchCord11(mixer2, 0, i2s1, 0); +AudioConnection patchCord12(mixer2, 0, i2s1, 1); #else AudioOutputPT8211 pt8211_1; //xy=1079,320 AudioAmplifier volume_master; //xy=678,393 AudioAmplifier volume_r; //xy=818,370 AudioAmplifier volume_l; //xy=818,411 -AudioConnection patchCord10(mixer2, 0, volume_master, 0); -AudioConnection patchCord11(volume_master, volume_r); -AudioConnection patchCord12(volume_master, volume_l); -AudioConnection patchCord13(volume_r, 0, pt8211_1, 0); -AudioConnection patchCord14(volume_l, 0, pt8211_1, 1); +AudioConnection patchCord11(mixer2, 0, volume_master, 0); +AudioConnection patchCord12(volume_master, volume_r); +AudioConnection patchCord13(volume_master, volume_l); +AudioConnection patchCord14(volume_r, 0, pt8211_1, 0); +AudioConnection patchCord15(volume_l, 0, pt8211_1, 1); #endif // GUItool: end automatically generated code @@ -258,8 +259,9 @@ void setup() mixer1.gain(1, mapfloat(effect_delay_feedback, 0, ENC_DELAY_FB_STEPS, 0.0, 1.0)); // amount of feedback mixer1.gain(0, 0.0); // filtered signal off mixer1.gain(3, 1.0); // original signal on - mixer2.gain(0, 1.0); // original signal + mixer2.gain(0, 1.0 - mapfloat(effect_delay_volume, 0, ENC_DELAY_VOLUME_STEPS, 0.0, 1.0)); // original signal mixer2.gain(1, mapfloat(effect_delay_volume, 0, ENC_DELAY_VOLUME_STEPS, 0.0, 1.0)); // delayed signal (including feedback) + mixer2.gain(2, mapfloat(effect_delay_volume, 0, ENC_DELAY_VOLUME_STEPS, 0.0, 1.0)); // only delayed signal (without feedback) // load default SYSEX data load_sysex(bank, voice); diff --git a/UI.cpp b/UI.cpp index 14d1dfa..5aa2abb 100644 --- a/UI.cpp +++ b/UI.cpp @@ -371,7 +371,9 @@ void handle_ui(void) else if (enc[i].read() > ENC_DELAY_VOLUME_STEPS) enc[i].write(ENC_DELAY_VOLUME_STEPS); effect_delay_volume = enc[i].read(); + mixer2.gain(0, 1.0-mapfloat(effect_delay_volume, 0, ENC_DELAY_VOLUME_STEPS, 0.0, 1.0)); // delay tap1 signal (with added feedback) mixer2.gain(1, mapfloat(effect_delay_volume, 0, ENC_DELAY_VOLUME_STEPS, 0.0, 1.0)); // delay tap1 signal (with added feedback) + mixer2.gain(2, mapfloat(effect_delay_volume, 0, ENC_DELAY_VOLUME_STEPS, 0.0, 1.0)); // delay tap1 signal (with added feedback) #ifdef DEBUG Serial.print(F("Setting delay volume to: ")); Serial.println(effect_delay_volume);