Integrate feature set and harden Bungee audio - #23
Open
0cwa wants to merge 163 commits into
Open
Conversation
Add the Bungee scaler implementation and wire it into Mixxx's keylock engine path without carrying vendored Bungee source.
Add regression coverage for Bungee keylock scaler selection and buffer-window accounting behavior.
Resolve Bungee through package, vcpkg, or module discovery and normalize every provider to the Bungee::Bungee target.
Add the pinned ExternalProject fallback and permanent Bungee/pffft patch homes so non-vcpkg builds do not depend on the temporary overlay.
Default Bungee on, seed preference defaults, and keep Dual-threaded Stereo UI state consistent with the selected keylock engine.
Document the cleanup point in the clean stack: this branch was built without tracking lib/bungee source, and dependency paths now resolve through package, vcpkg, module, or source-fetch providers.
Add Flatpak Eigen3, pffft, and Bungee modules before Mixxx and point Bungee patches at the permanent cmake/patches/bungee home.
Add the Bungee ASan workflow, dependency path filters, sanitizer source-fetch environment, and build workflow coverage.
Document Bungee build modes, dependency fallback prerequisites, Flatpak/CI notes, and the runtime invariants maintainers need for validation.
Owner
Author
|
CodeRabbit disposition audit at PR23 head c93db5c0; the confirmed fixes are included in PR31 head 842644d. Confirmed fixed in PR31: 3217, 3223, 3253, 3277. All other reviewed non-outdated roots are stale or intentional:
|
added 16 commits
August 29, 2026 21:18
Give synthesized memory-cue waveform marks the identity used by the until-next renderer so they participate in countdown selection. Cover the synthesized mark with a deterministic regression test.
Integrate the QML compatibility and migration-preservation follow-ups from the selector source worktree.
Integrate independent hot-cue, memory-cue, intro, and outro countdown settings and marker eligibility corrections.
Provide the shared indicator controls required by the player and effect setup while preserving the existing interface test sequence.
Use the production Qt Quick Controls style in the fixture so the test does not depend on platform-native indicator creation. Materialize QObject child lists before iterating to avoid Clazy range-loop detachment warnings.
0cwa
pushed a commit
that referenced
this pull request
Aug 31, 2026
added 7 commits
August 31, 2026 11:54
Fall back to the public QML key property when the imported control type cannot be recovered by C++ RTTI. This keeps the zoom reclamping test deterministic across Qt runtimes.
Read the existing WaveformDisplay object alias from the created test object instead of declaring an alias to a nested component alias. Older Qt rejects that fixture alias before the waveform display can load.
Find the QML ControlProxy by its stable key in the test object tree so the Qt 6.4 fixture does not depend on a nested property alias.
Use the actual ControlProxy object name so the test does not depend on recursive key lookup across Qt versions.
Load the skin waveform wrapper explicitly and expose its nested control proxy through a typed QML property so the Qt 6.4 test can inspect the real control.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR integrates the selected feature work from
0cwa/mixxx#14on top of the PR20 head:BUNGEEdefaulting toON, so CI/CD configurations without an explicit override build Bungee.The branch is based on PR20 commit
045eecd2bf354c9b9be7a21a93854f96ed1c83cband integrates the feature commits selectively because PR14's current head conflicts with PR20.Local validation
mixxx-buildtarget build:cmake --build build --target mixxx-test --parallel 2— passed.BeatsTest.*:EngineSyncTest.*— 95 tests passed (one disabled).mixxx-buildwith the Mixxx Flatpak manifest and Qt 6.10/Bungee — all 1,137 build targets compiled and the application exported successfully.mixxx-testbuild with ccache disabled — passed.git diff --check— passed.Known validation blocker
The full Flatpak CTest phase previously ran 1,260 enabled tests: 1,258 passed and two segfaulted in existing replay-gain/controller-screen tests:
ControllerScriptEngineLegacyTest.screenWillSentRawDataIfConfiguredAdjustReplayGainTest.AdjustReplayGainUpdatesPregainThe controller-screen test passes when isolated. The replay-gain test reproduces locally in the
mixxx-buildcontainer, and A/B probing shows that registering an additionalEngineControlexposes the failure; no safe root-cause fix was established. This remains a pre-existing validation issue for the broader feature branch.Pre-existing local
AGENTS.mdchanges andsrc/test/echoreverbchain_test.cppwere deliberately excluded.