From 2c440d8deb424c567e01de5d9259bdb2c2096646 Mon Sep 17 00:00:00 2001 From: hariel1985 Date: Wed, 25 Mar 2026 10:54:57 +0100 Subject: [PATCH] v1.1.2: More FIR latency options, lower default FIR quality selector now offers 6 choices: 512 (~6ms), 1024 (~12ms), 2048 (~23ms), 4096 (~46ms), 8192 (~93ms), 16384 (~186ms) Default changed to 2048 (~23ms) for lower latency. Co-Authored-By: Claude Opus 4.6 (1M context) --- CMakeLists.txt | 2 +- Source/FIREngine.cpp | 2 +- Source/FIREngine.h | 2 +- Source/PluginEditor.cpp | 13 ++++++++----- Source/PluginEditor.h | 2 +- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 58e229d..a5ce789 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.22) -project(InstaLPEQ VERSION 1.1.0) +project(InstaLPEQ VERSION 1.1.2) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/Source/FIREngine.cpp b/Source/FIREngine.cpp index 4c68686..625f2d9 100644 --- a/Source/FIREngine.cpp +++ b/Source/FIREngine.cpp @@ -33,7 +33,7 @@ void FIREngine::setBands (const std::vector& newBands) void FIREngine::setFFTOrder (int order) { - fftOrder.store (juce::jlimit (12, 14, order)); + fftOrder.store (juce::jlimit (9, 14, order)); needsUpdate.store (true); notify(); } diff --git a/Source/FIREngine.h b/Source/FIREngine.h index 6e6902c..e142a64 100644 --- a/Source/FIREngine.h +++ b/Source/FIREngine.h @@ -5,7 +5,7 @@ class FIREngine : private juce::Thread { public: - static constexpr int defaultFFTOrder = 13; // 8192 taps + static constexpr int defaultFFTOrder = 11; // 2048 taps static constexpr int maxBands = 8; FIREngine(); diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 6cd87a7..2b0f75a 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -36,14 +36,17 @@ InstaLPEQEditor::InstaLPEQEditor (InstaLPEQProcessor& p) addAndMakeVisible (newBandButton); // Quality selector (FIR latency) - qualitySelector.addItem ("4096 (~46ms)", 1); - qualitySelector.addItem ("8192 (~93ms)", 2); - qualitySelector.addItem ("16384 (~186ms)", 3); - qualitySelector.setSelectedId (2, juce::dontSendNotification); // default 8192 + qualitySelector.addItem ("512 (~6ms)", 1); + qualitySelector.addItem ("1024 (~12ms)", 2); + qualitySelector.addItem ("2048 (~23ms)", 3); + qualitySelector.addItem ("4096 (~46ms)", 4); + qualitySelector.addItem ("8192 (~93ms)", 5); + qualitySelector.addItem ("16384 (~186ms)", 6); + qualitySelector.setSelectedId (3, juce::dontSendNotification); // default 2048 qualitySelector.onChange = [this] { int sel = qualitySelector.getSelectedId(); - int order = (sel == 1) ? 12 : (sel == 2) ? 13 : 14; + int order = sel + 8; // 1->9, 2->10, 3->11, 4->12, 5->13, 6->14 processor.setQuality (order); }; addAndMakeVisible (qualitySelector); diff --git a/Source/PluginEditor.h b/Source/PluginEditor.h index 8c0f34d..eb524da 100644 --- a/Source/PluginEditor.h +++ b/Source/PluginEditor.h @@ -39,7 +39,7 @@ private: NodeParameterPanel nodePanel; juce::Label titleLabel { {}, "INSTALPEQ" }; - juce::Label versionLabel { {}, "v1.1" }; + juce::Label versionLabel { {}, "v1.1.2" }; juce::ToggleButton bypassToggle; juce::Label bypassLabel { {}, "BYPASS" };