Skip to content

Update Juce to 9.0.2 - #528

Merged
DropSnorz merged 1 commit into
masterfrom
ci/juce9
Sep 14, 2026
Merged

DropSnorz merged 1 commit into
masterfrom
ci/juce9

Conversation

@DropSnorz

Copy link
Copy Markdown
Owner

Relates to #514

@DropSnorz DropSnorz self-assigned this Sep 14, 2026
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 26566723-c350-4819-bdda-f7d078ef608d

📥 Commits

Reviewing files that changed from the base of the PR and between c305b0f and f727e17.

📒 Files selected for processing (25)
  • owlplug-host/modules/JUCE
  • owlplug-host/src/main/juce/JuceLibraryCode/AppConfig.h
  • owlplug-host/src/main/juce/JuceLibraryCode/JuceHeader.h
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_ara.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_headless.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_headless.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_headless_ara.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_core_zlib.c
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_data_structures.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_data_structures.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_graphics.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_graphics_Harfbuzz.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_graphics_Sheenbidi.c
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_basics.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_basics.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_extra.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_extra.mm
  • owlplug-host/src/main/juce/OwlPlugHost.jucer
  • owlplug-host/src/main/juce/Source/com_owlplug_host_loaders_jni_JNIPluginMapper.cpp
  • owlplug-host/src/main/resources/owlplug-host.version
  • owlplug-host/src/main/resources/owlplug-scanner.version
💤 Files with no reviewable changes (13)
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_graphics_Sheenbidi.c
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_graphics.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_graphics_Harfbuzz.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_extra.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_ara.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_basics.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_extra.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_gui_basics.mm
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_audio_processors.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_data_structures.cpp
  • owlplug-host/src/main/juce/JuceLibraryCode/include_juce_data_structures.mm

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


Walkthrough

Changes

The host updates its JUCE revision and project version to 1.7.0. JUCE modules are reduced to core, events, audio basics, and headless audio processors. Generated wrappers for removed modules are deleted. Plugin discovery uses headless formats. The scanner version becomes 0.5.0.

Headless JUCE migration

Layer / File(s) Summary
JUCE module and project configuration
owlplug-host/modules/JUCE, owlplug-host/src/main/juce/JuceLibraryCode/AppConfig.h, owlplug-host/src/main/juce/JuceLibraryCode/JuceHeader.h, owlplug-host/src/main/juce/OwlPlugHost.jucer
The JUCE revision changes. Generated configuration and all exporters use the reduced headless module set. Project metadata changes to version 1.7.0.
Generated JUCE source integration
owlplug-host/src/main/juce/JuceLibraryCode/include_juce_*.cpp, owlplug-host/src/main/juce/JuceLibraryCode/include_juce_*.mm, owlplug-host/src/main/juce/JuceLibraryCode/include_juce_*.c
Wrappers for removed audio, data, graphics, and GUI modules are deleted. Remaining wrappers include headless audio processor and core implementations.
Headless plugin discovery and release versions
owlplug-host/src/main/juce/Source/com_owlplug_host_loaders_jni_JNIPluginMapper.cpp, owlplug-host/src/main/resources/owlplug-host.version, owlplug-host/src/main/resources/owlplug-scanner.version
Plugin discovery registers headless default formats and calls findAllTypesForFile for each format. Host and scanner versions change to 1.7.0 and 0.5.0.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Sequence Diagram(s)

sequenceDiagram
  participant JNIPluginMapper
  participant AudioPluginFormatManager
  participant AudioPluginFormat
  participant PluginFile
  JNIPluginMapper->>AudioPluginFormatManager: addHeadlessDefaultFormatsToManager
  JNIPluginMapper->>AudioPluginFormatManager: get known formats
  JNIPluginMapper->>AudioPluginFormat: findAllTypesForFile(path)
  AudioPluginFormat->>PluginFile: inspect supplied path
  PluginFile-->>AudioPluginFormat: matching plugin types
  AudioPluginFormat-->>JNIPluginMapper: return discovered types
Loading

Merge Risk: ⚪ Minimal · up to f727e

The headless JUCE migration has no identified actionable merge risk.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 7 files. (5 skipped: 5… Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive The description references issue #514 but does not explain the JUCE 9.0.2 update or related project changes. Add a concise summary of the JUCE update, including the version change and headless module migration.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: updating JUCE to version 9.0.2.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 7 files. (5 skipped: 5 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/juce9

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DropSnorz DropSnorz added this to the 2.1.0 milestone Sep 14, 2026
@DropSnorz
DropSnorz merged commit 2e888b2 into master Sep 14, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant