From 3d6f4c70d869b4b7f41be251477e856eea73a393 Mon Sep 17 00:00:00 2001 From: Sudara Date: Mon, 25 May 2026 18:44:18 +0200 Subject: [PATCH 1/4] Bump JUCE to 8.0.13 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4150306..f2ac5bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,7 @@ endif() # Only fetch JUCE when top-level (when used as dependency, JUCE is already available) if (pluginval_IS_TOP_LEVEL) - CPMAddPackage("gh:juce-framework/juce#8.0.3") + CPMAddPackage("gh:juce-framework/juce#8.0.13") endif() From 252cb4b01acaf40be4dbb28621b976466045f379 Mon Sep 17 00:00:00 2001 From: Sudara Date: Mon, 25 May 2026 18:44:24 +0200 Subject: [PATCH 2/4] Replace deprecated Font ctors with FontOptions and GlyphArrangement::getStringWidthInt --- Source/PluginvalLookAndFeel.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/PluginvalLookAndFeel.h b/Source/PluginvalLookAndFeel.h index 14f0dfb..475a7ad 100644 --- a/Source/PluginvalLookAndFeel.h +++ b/Source/PluginvalLookAndFeel.h @@ -215,24 +215,24 @@ class PluginvalLookAndFeel : public juce::LookAndFeel_V4 auto textColour = button.isFrontTab() ? findColour (juce::Label::textColourId) : findColour (juce::Label::textColourId).withAlpha (0.6f); g.setColour (textColour); - g.setFont (juce::Font (14.0f)); + g.setFont (juce::Font (juce::FontOptions (14.0f))); g.drawText (button.getButtonText(), area.reduced (12.0f, 0.0f), juce::Justification::centred); } int getTabButtonBestWidth (juce::TabBarButton& button, int tabDepth) override { - auto width = juce::Font (14.0f).getStringWidth (button.getButtonText()) + 40; // Extra padding + auto width = juce::GlyphArrangement::getStringWidthInt (juce::Font (juce::FontOptions (14.0f)), button.getButtonText()) + 40; // Extra padding return juce::jmax (width, 80); } juce::Font getTextButtonFont (juce::TextButton&, int buttonHeight) override { - return juce::Font (juce::jmin (14.0f, (float) buttonHeight * 0.6f)); + return juce::Font (juce::FontOptions (juce::jmin (14.0f, (float) buttonHeight * 0.6f))); } juce::Font getLabelFont (juce::Label&) override { - return juce::Font (14.0f); + return juce::Font (juce::FontOptions (14.0f)); } void drawTableHeaderColumn (juce::Graphics& g, juce::TableHeaderComponent& header, From 4a9d579fb851637d003dbe246c6d639bec533a16 Mon Sep 17 00:00:00 2001 From: Sudara Date: Mon, 25 May 2026 18:44:37 +0200 Subject: [PATCH 3/4] Use createEditorAndMakeActive and call editorBeingDeleted on teardown --- Source/TestUtilities.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/TestUtilities.h b/Source/TestUtilities.h index da3993b..e7a304a 100644 --- a/Source/TestUtilities.h +++ b/Source/TestUtilities.h @@ -145,7 +145,7 @@ static std::unique_ptr createAndShowEditorOnMessageT return {}; jassert (instance.getActiveEditor() == nullptr); - editor.reset (instance.createEditor()); + editor.reset (instance.createEditorAndMakeActive()); if (editor) { @@ -177,6 +177,7 @@ static void deleteEditorOnMessageThread (std::unique_ptrisThisTheMessageThread()) { + editor->processor.editorBeingDeleted (editor.get()); editor.reset(); return; } @@ -184,6 +185,8 @@ static void deleteEditorOnMessageThread (std::unique_ptrprocessor.editorBeingDeleted (editor.get()); editor.reset(); waiter.signal(); }); From 189862e78b922b05e45a91e2785de006eb910198 Mon Sep 17 00:00:00 2001 From: Sudara Date: Mon, 25 May 2026 19:22:22 +0200 Subject: [PATCH 4/4] CI: test dependency builds against JUCE 8.0.13 only --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b79b816..fa5d16d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -175,7 +175,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-15, windows-latest] - juce: ["8.0.3", "8.0.11"] + juce: ["8.0.13"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4