Skip to content

Historical TAB duration grids: blocked edits and missing connectors #34839

Description

@0xMashiro

Issue type

UX/Interaction bug (incorrect behaviour)

Description with steps to reproduce

Historical TAB duration grids cannot be created correctly. On the tested official baseline, half/quarter beam-mode edits are rejected; grid connectors are also missing for values whose edits are accepted.

  1. Open historical-tab-grid-input.mscx from the score ZIP. It uses Italian duration symbols with Always symbol repetition: two quarter notes followed by four eighth notes.
  2. Open Palettes > Beam properties (add the palette if necessary).
  3. Apply Break beam left to notes 1 and 3.
  4. Apply Join beams to note 2 and notes 4–6.

Actual: quarter-note edits are ignored on the official baseline; accepted grid edits produce vertical stems without connecting lines. The original edit-only PR removes the first restriction but still leaves bare stems.

Expected: the two quarter notes form a two-line grid and the four eighth notes form a separate three-line grid, preserving their different durations. Undo/redo, Reset beams and save/reopen should preserve the appropriate notation.

The original half-note-to-quarter-note example and its bare-stem expected result were incorrect. This report now uses equal-duration groups, following the 2019 report addressed by #5304.

Supporting files, videos and screenshots

Before: previous edit-only PR revision, showing the remaining missing connectors:

historical-tab-grid-before.mp4

After: revised PR #34840, with readable duration grids:

historical-tab-grid-after.mp4

Both recordings use identical input and actions at 300% zoom, including undo/redo of the final Join beams operation. They are native desktop recordings operated through Xvfb/xdotool.

Download the input, native saved result and regression score. These replace the earlier mixed-duration recordings and files.

In which versions of MuseScore Studio is this issue present?

Development main at ce7067126406142e51eb7772b11fac239a1dc873, built from source. Framework submodule: ee2c97edf5fff6ae46289851ec8e2968a5deb045. The before recording uses the original edit-only PR revision so both groups can be edited and the layout failure is visible.

Regression

The release-version boundary has not been established. A related connector regression was fixed in #5304 in the older layout architecture.

Operating system

Ubuntu 24.04.2 LTS; native APP Debug build, Qt 6.10.2 / GCC 14.

Additional context

PR #34840 now fixes both the edit guard and late connector layout. It retains individual duration signs for combinations the simple grid cannot express, rather than losing their rhythmic information.

All 21 enabled native Beam tests pass with the revised patch (4 pre-existing tests disabled). The same suite has 4 failing historical TAB cases and 17 passing tests against the original edit-only production code. Checks cover editing, geometry, undo/redo/reset, save/reopen, group boundaries and font/staff magnification.

Related: #2235 introduced grids through beam modes; #22013 and #30467 explain the hook guards, whose inner-beam and ordinary-notation protections are retained.

This report and contribution were prepared with AI assistance.

Checklist

  • This report follows the guidelines for reporting bugs and issues.
  • I searched the issue tracker for similar issues; related prior work is listed above.
  • All requested files and information are supplied through the evidence links above.
  • I attempted to identify the root problem concisely and used an existing small reproducible score.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

UX/interactionneeds reviewThe issue needs review to set priority, fix version or change status etc.regression MS3Regression from MS3 (3.6.2)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions