Skip to content

Conversation

@Reedbeta
Copy link
Contributor

@Reedbeta Reedbeta commented Dec 2, 2025

Resolves: #25070

Support copy/paste in local time signatures, with the restriction that the source and destination ranges must all have the same time stretch ratio. Also enables features like "repeat selection", Alt+drag range copies, and explode which are built on copy/paste internally.

Tested:

  • Tuplets
  • Dynamics etc.
  • Spanners/lines
  • Multiple voices
  • Multiple staves
  • Explode/implode
  • Paste double/half duration
  • Working on the measure before a local time sig change
  • The measure after a local time sig change
  • The last measure

Some other minor changes in this PR:

  • Adds a natvis file for the Visual Studio debugger with visualizers for a few common types such as Fraction.
  • Fixes a handful of debug-only asserts that I ran into.
  • Use the "forbidden" cursor (🚫) when Alt+dragging to a location that you can't drop in (either because of local time signatures or another reason).
  • Setup time ticks properly for local time signatures (so Alt+drag will work).
  • Show error dialogs for explode/implode and repeat-selection when we can't do it due to local time signatures.
  • I signed the CLA
  • The title of the PR describes the problem it addresses
  • Each commit's message describes its purpose and effects, and references the issue it resolves
  • If changes are extensive, there is a sequence of easily reviewable commits
  • The code in the PR follows the coding rules
  • There are no unnecessary changes
  • The code compiles and runs on my machine, preferably after each commit individually
  • I created a unit test or vtest to verify the changes I made (if applicable)

@Reedbeta Reedbeta force-pushed the pr/paste-local-time-sig branch from c60d633 to ee7c790 Compare December 6, 2025 07:38
@Reedbeta Reedbeta marked this pull request as ready for review December 8, 2025 04:25
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.

Copy/paste in bars with local time signatures

1 participant