diff --git a/examples/ml_synth_organ_example b/examples/ml_synth_organ_example index 4fd347f..4915dda 160000 --- a/examples/ml_synth_organ_example +++ b/examples/ml_synth_organ_example @@ -1 +1 @@ -Subproject commit 4fd347f04f9c8c58d173c6c09aad3c3fb1afbfb9 +Subproject commit 4915dda7dcc28781ff07e92f493000859b4904cb diff --git a/library.json b/library.json index 941dd9a..275ef5b 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "ML_SynthTools", - "version": "2.0.12", + "version": "2.0.13", "keywords": "ML_SynthTools, Synthesizer, Filter, Audio, ESP32, ESP32S2, ESP32S3, STM32, RP2040", "description": "Synthesizer Tools; contains waveform generators etc.", "repository": diff --git a/library.properties b/library.properties index b592deb..60238f2 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=ML SynthTools -version=2.0.12 +version=2.0.13 author=Marcel Licence maintainer=Marcel Licence sentence=Synthesizer Tools diff --git a/src/ml_delay.cpp b/src/ml_delay.cpp index 202e7e3..a6e1aca 100644 --- a/src/ml_delay.cpp +++ b/src/ml_delay.cpp @@ -403,9 +403,20 @@ void Delay_SetOutputLevel(uint8_t unused __attribute__((unused)), uint8_t value) void Delay_SetLength(uint8_t unused __attribute__((unused)), float value) { delayLen = (uint32_t)(((float)delayLenMax - 1.0f) * value); + if (delayLen < 1) + { + delayLen = 1; + } Status_ValueChangedFloat("Delay_SetLength", value); } +void Delay_SetLength(uint8_t unused __attribute__((unused)), uint8_t value) +{ + float value_f = value; + value_f *= 1.0f / 127.0f; + Delay_SetLength(unused, value_f); +} + void Delay_SetLength(uint8_t unused __attribute__((unused)), uint32_t value) { if (value != delayLen) diff --git a/src/ml_delay.h b/src/ml_delay.h index 8ea0b33..5687352 100644 --- a/src/ml_delay.h +++ b/src/ml_delay.h @@ -61,6 +61,7 @@ void Delay_SetOutputLevel(uint8_t unused __attribute__((unused)), float value); void Delay_SetOutputLevel(uint8_t unused __attribute__((unused)), uint8_t value); void Delay_SetLength(uint8_t unused __attribute__((unused)), float value); void Delay_SetLength(uint8_t unused __attribute__((unused)), uint32_t value); +void Delay_SetLength(uint8_t unused __attribute__((unused)), uint8_t value); void Delay_SetShift(uint8_t unused __attribute__((unused)), float value);