musescore / musescore/MuseScore

Cursor jumps when adding ties to voices 2–4

Open
#34,692 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community P2 UX/interaction
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Issue type

UX/Interaction bug (incorrect behaviour)

Description with steps to reproduce

When adding a tie to a note in voice 2, 3, or 4, if the duration of the added note is identical to the remaining duration of the measure, then the input cursor will jump to the next measure with a note/rest in that same voice. Thus when you next add a new note (not tied), it will appear much later in the score than expected. This bug occurs in both note input modes. This bug does not occur: 1) in voice 1, or 2) if the added note is longer or shorter than the rest of the measure, or 3) if the voice in question has no notes/rests in any subsequent measures.

I know this is a very niche interaction, but it comes up a lot in my particular use case, in which I am writing four-part organ accompaniment for chant melodies.

Steps to reproduce:

  1. Open a new blank score
  2. In voice 2, add a note somewhere later in the score (e.g. measure 9, leaving measure 2–8 blank).
  3. Using either input mode, in voice 2, place a half note on beat 1 of measure 1.
  4. Press t to add a tied half note, completing the rest of the measure.
  5. Press g to add a new half note.

Actual behavior:
After step 4, you can observe that the cursor jumps all the way to measure 9. Step 5 will add a half note at the cursor's position.

Expected behavior:
After step 4, the cursor should move to measure 2, which immediately follows the tied note. Step 5 should then, of course, add the half note to measure 2.

Supporting files, videos and screenshots

Before step 4:
Image

After step 4:
Image

In which versions of MuseScore Studio is this issue present?

4.7.4

Regression

I was unable to check

Operating system

Windows 11

Additional context

No response

Checklist
  • This report follows the guidelines for reporting bugs and issues
  • I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
  • I have attached all requested files and information to this report
  • I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the provided blank-score steps in voice 2, then compare cursor movement after tying a note in voices 2–4 with voice 1 and with different remaining durations. Trace the cursor advancement used by both note input modes and add a regression test if the existing test area is identified. Done means the cursor moves to the immediately following measure after the tied note.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.