Skip to content

Commit 9e36143

Browse files
committed
Reset buffer if changing freq_shift modes.
1 parent 83fce94 commit 9e36143

File tree

1 file changed

+6
-0
lines changed
  • shared-module/audiodelays

1 file changed

+6
-0
lines changed

shared-module/audiodelays/Echo.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ bool common_hal_audiodelays_echo_get_freq_shift(audiodelays_echo_obj_t *self) {
162162
}
163163

164164
void common_hal_audiodelays_echo_set_freq_shift(audiodelays_echo_obj_t *self, bool freq_shift) {
165+
// Clear the echo buffer and reset buffer position if changing freq_shift modes
166+
if (self->freq_shift != freq_shift) {
167+
memset(self->echo_buffer, 0, self->max_echo_buffer_len);
168+
self->echo_buffer_pos = 0;
169+
self->echo_buffer_right_pos = 0;
170+
}
165171
self->freq_shift = freq_shift;
166172
uint32_t delay_ms = (uint32_t)synthio_block_slot_get(&self->delay_ms);
167173
recalculate_delay(self, delay_ms);

0 commit comments

Comments
 (0)