From b5969bfd7a9c2d825607f72b16254f31ccebb4e9 Mon Sep 17 00:00:00 2001 From: James Ball Date: Mon, 11 Mar 2024 21:48:30 +0000 Subject: [PATCH] Fix bug that leads to innaccurate frequencies --- Resources/svg/osci.svg | 48 ++++++++++++++++++++++++++++++++++++- Source/audio/ShapeVoice.cpp | 6 +---- osci-render.jucer | 2 +- 3 files changed, 49 insertions(+), 7 deletions(-) diff --git a/Resources/svg/osci.svg b/Resources/svg/osci.svg index 44f321d..e56ff90 100644 --- a/Resources/svg/osci.svg +++ b/Resources/svg/osci.svg @@ -1 +1,47 @@ - \ No newline at end of file + + + + + + + diff --git a/Source/audio/ShapeVoice.cpp b/Source/audio/ShapeVoice.cpp index 4184447..5e75e3d 100644 --- a/Source/audio/ShapeVoice.cpp +++ b/Source/audio/ShapeVoice.cpp @@ -164,12 +164,8 @@ void ShapeVoice::renderNextBlock(juce::AudioSampleBuffer& outputBuffer, int star if (!renderingSample && frameDrawn >= drawnFrameLength) { if (sound.load() != nullptr && currentlyPlaying) { frameLength = sound.load()->updateFrame(frame); - frameDrawn = 0.0; - shapeDrawn = 0.0; - currentShape = 0; } - frameDrawn = 0.0; - shapeDrawn = 0.0; + frameDrawn -= drawnFrameLength; currentShape = 0; // TODO: updateFrame already iterates over all the shapes, diff --git a/osci-render.jucer b/osci-render.jucer index d665a17..fd7d074 100644 --- a/osci-render.jucer +++ b/osci-render.jucer @@ -2,7 +2,7 @@