musescore / musescore/MuseScore
Cursor jumps when adding ties to voices 2–4
Nobody has claimed this yet.
- 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:
- Open a new blank score
- In voice 2, add a note somewhere later in the score (e.g. measure 9, leaving measure 2–8 blank).
- Using either input mode, in voice 2, place a half note on beat 1 of measure 1.
- Press
tto add a tied half note, completing the rest of the measure. - Press
gto 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:
After step 4:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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