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.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📝 WalkthroughWalkthroughThis change adds optional Bungee and SignalSmith keylock engines, per-deck engine settings, Rekordbox XML import, memory-cue and downbeat controls, waveform rendering, local build tooling, packaging, and sanitizer coverage. ChangesBuild, packaging, and validation
Audio engines and keylock routing
Rekordbox XML import and cue policy
Memory cues, downbeats, and waveform controls
Estimated code review effort: 5 (Critical) | ~120 minutes Merge Risk: 🔴 Critical · up to The PR introduces unresolved runtime, audio-thread, persistence, and build failures that can cause crashes, audio stalls, lost beatmap data, incorrect cue editing, or failed platform builds; merge should be blocked until the high-impact correctness and integration issues are fixed. Sequence Diagram(s)sequenceDiagram
participant EngineBuffer
participant ReadAheadManager
participant EngineBufferScaleBungee
participant WaveformWidget
EngineBuffer->>ReadAheadManager: read ahead audio frames
EngineBuffer->>EngineBufferScaleBungee: scaleBuffer output request
EngineBufferScaleBungee->>ReadAheadManager: consume input window
EngineBufferScaleBungee->>EngineBuffer: return scaled audio and visual offset
EngineBuffer->>WaveformWidget: update visual play position
sequenceDiagram
participant User
participant RekordboxPlaylistModel
participant RekordboxXmlParser
participant LibraryDatabase
User->>RekordboxPlaylistModel: select XML import
RekordboxPlaylistModel->>RekordboxXmlParser: parse XML library
RekordboxXmlParser-->>RekordboxPlaylistModel: tracks, playlists, and annotations
RekordboxPlaylistModel->>LibraryDatabase: replace temporary view data
LibraryDatabase-->>User: display imported playlists and tracks
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
❌ Action failedReview failed.
|
|
@coderabbitai review |
|
Summary
This fresh PR carries the CI fixes from PR #25 without changing PR #25:
QList<MemoryCueLoop>tonormalizeMemoryCueLoopsby const reference, with the declaration, definition, and caller updated consistently.The previous PR remains unchanged. This branch is based on its validated head and targets
mixxx/mainso the fix can receive a fresh review.Validation
git diff --checkpassed.mixxx-lib/fastpassed inmixxx-buildDistrobox.mixxx-test/fastpassed inmixxx-buildDistrobox.mixxx-test --gtest_filter='RekordboxFeatureTest.*:RekordboxXmlParserTest.*': 15/15 passed.mixxx/fastpassed inmixxx-buildDistrobox.The local Distrobox image does not contain Clazy or clang-tidy, so those exact CI tools remain delegated to GitHub Actions. A local
WARNINGS_FATAL=ONreconfigure was attempted but stopped during a long Qt QML import scan.Scope
Pre-existing unrelated local changes (
AGENTS.mdandsrc/test/echoreverbchain_test.cpp) are not included.