Skip to content

Playlist bars follow the time signature - #403

Open
ItsAlphaNeon wants to merge 1 commit into
mainfrom
playlist-time-signature
Open

ItsAlphaNeon wants to merge 1 commit into
mainfrom
playlist-time-signature

Conversation

@ItsAlphaNeon

Copy link
Copy Markdown
Owner

The playlist counted every bar as four quarter notes (Snap > Bar, ruler numbers, bar lines, the Start marker's bar). It now uses the project's bar, and a time-signature marker in the arrangement starts bars of its own length from its position (the bar it lands in is cut short there).

  • New playlist::Bars (floor, nearest, index, lines); snap_ticks and snap_unit replace Snap::ticks in the playlist, with Bar = the project's bar. Units count from the start of the bar they are in (same result in 4/4).
  • Zoom (playlist_bar_w) stays the width of four quarter notes, so a tick's width and the saved view (event 242) don't change with the signature. The overview's extent counts the project's bars.
  • Piano roll and rack unchanged (the shared Snap::ticks still says 4 beats for Bar there).
  • Assumptions to check against FL: a marker mid-bar starts new bars from the marker; grid beat lines inside a bar are still quarter notes counted from the bar start.
  • Tests: bars_follow_the_time_signature; cargo test -p os-app 1145 passed (one ignored set unchanged).
  • Independent of the Consolidate/Export PR; not stacked.

🤖 Generated with Claude Code

The playlist counted every bar as four quarter notes: Snap > Bar, the ruler's bar
numbers, the bar lines and the Start marker's bar. The bar is now the project's
(Project::bar_ticks), and a time-signature marker of the arrangement starts bars
of its own length at its position (pl::Bars), as the channel rack and piano roll
already follow the project's bar and a pattern's marker. Snap units count from the
start of the bar they are in. The zoom stays counted in four quarter notes, so a
tick's width does not change with the signature.

Co-Authored-By: Claude Sonnet 5.5 <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