From 31e1e84c692ed3c2c731c7b6669b0cbfb7e25841 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 11 Oct 2022 17:48:27 +0300 Subject: [PATCH] Support dynamically changing audio::oscillator frequency --- libs/audio/include/psemek/audio/oscillator.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libs/audio/include/psemek/audio/oscillator.hpp b/libs/audio/include/psemek/audio/oscillator.hpp index 236546ed..8fda760a 100644 --- a/libs/audio/include/psemek/audio/oscillator.hpp +++ b/libs/audio/include/psemek/audio/oscillator.hpp @@ -10,9 +10,15 @@ namespace psemek::audio struct oscillator { - oscillator(float frequency) - : m_(std::exp(std::complex{0.f, 2.f * geom::pi * frequency * inv_frequency})) - {} + oscillator(float f) + { + frequency(f); + } + + void frequency(float f) + { + m_ = std::exp(std::complex{0.f, 2.f * geom::pi * f * inv_frequency}); + } std::complex phase() const {