Skip to content

Add aubio sources for stem onset detection#8

Open
o0charlie0o wants to merge 1 commit into
xLightsSequencer:mainfrom
o0charlie0o:feature/audio-stems-panel
Open

Add aubio sources for stem onset detection#8
o0charlie0o wants to merge 1 commit into
xLightsSequencer:mainfrom
o0charlie0o:feature/audio-stems-panel

Conversation

@o0charlie0o

@o0charlie0o o0charlie0o commented Apr 28, 2026

Copy link
Copy Markdown

Summary

Adds the vendored aubio C source files to the xLights Xcode project so the new Audio Stems panel (in the main repo) can use aubio's spectral-flux peak picker to generate timing tracks from stem transients.

The companion main-repo PR is xLightsSequencer/xLights#6255 — please merge this one first so the gitlink there can land on a published main commit.

Changes

  • New aubio PBXGroup under Libraries with the aubio C sources (cvec, fmat, fvec, lvec, mathutils, musicutils, vecutils, onset/, spectral/, temporal/, utils/).
  • Files registered in the xLights target's Sources build phase.
  • ../dependencies/aubio/src added to the header search paths for every relevant build configuration.

Tested on

  • macOS only (M1 Max, Xcode 26.4). Not exercised on iPad — aubio is not linked into the iPad target.

Happy to discuss any of this.

Adds the vendored aubio C source files (cvec, fmat, fvec, lvec, mathutils,
musicutils, vecutils, onset/, spectral/, temporal/, utils/) as a new
"aubio" PBXGroup under Libraries, registers them in the xLights target's
Sources build phase, and adds ../dependencies/aubio/src to the header
search paths for every relevant build configuration.

Required by StemOnsetDialog (in src-ui-wx/), which uses aubio's spectral
flux + peak picker to generate timing tracks from stem transients.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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