Corruption on pasting a range with a truncated note that requires a tie

• May 15, 2018 - 11:12
Reported version
2.2
Priority
P1 - High
Type
Functional
Severity
S2 - Critical
Status
closed
Regression
No
Workaround
No
Project

Windows 7/10. MS 2.2.1, 51b8386

  1. Open attached score. Click on the first note in voice 1, then shift click on the 6th note in voice 1.
  2. Copy and paste the selection into measure 2.

Expected result:
paste_partial_measure_2.png
Actual result:
paste_partial_measure.png

Attachment Size
paste_partial_measure.mscz 10.69 KB

Comments

Severity S2 - Critical S4 - Minor

@Marc, I may be wrong, but I understood the issue as being the note in the second voice is copied for its full duration, even though the selection is only the first 3 compound beats. @geetar would have to clarify.

Regards

EDIT: Mike is indeed correct. I missed that. That would probably be the issue.

Ah, sorry, I wasn't thinking about the second voice - I only noticed the issue with the order of the rests in the first.

FWIW, when doing a range selection involving multiple voices, there is always a question of how to handle cases where one voice overlaps the boundary. We do normally try to deal with this one way or another, but the "expected" semantics might vary (eg, one valid result would also be to copy the full dotted half but without the extra rests, another would be to note to copy the dotted half at all). I'd consider any solution that didn't produce corruption to be satisfactory here.

In reply to by Marc Sabatella

I agree. As long a the user knows what to expect any result is fine with me. Coping only the first voice, since no complete second voice note is selected, makes sense to me. Normal user actions should never result in a corruption and corruptions need to be reported.

Edit: To support my logic that voice 2 should be ignored, select the first six notes in voice 1 and press R.

Figured it out! MuseScore copies the incomplete note's duration without any problem, but breaks on notating it if it can't be represented by a single "picture" (i.e. needs a tie). In the case when a tie is needed, it draws the single "picture" with the shortest value that is longer than the actual note-value, but keeps the actual value for playback and rest calculations. See attached score for more detailed description.

Attachment Size
paste_partial_measure_1.mscz 18.79 KB
Title Error when copying and pasting a partial measure Corruption on pasting a range with a truncated note that requires a tie

Nice investigation! I'm updating the title to reflect this understanding. It's hardly self-explanatory, but hopefully descriptive enough to be useful.

FWIW, as corruptions go, this one is relatively harmless, simply deleting the rests appears to do the right thing.

Since the appearance of the chord in voice 2 does not match its actual duration, deleting the rests does not solve the underlying problem. It only makes the measure appear to be correct. A better workaround would be to change the duration of the chord. Removing the dot and adding it back appears to do the right thing.

I use the word "chord" because duration applies to the chord rather than the note.

Good point. I actually did that first and verified it really worked, then also tried deleting the rests and incorrectly jumped to the conclusion that worked too.

The note was already being truncated to fit into the gap created for it, but its duration was not achievable without a tie, and of course it was being displayed as the wrong duration type. I decided to split up the note and tie the pieces together, as in geetar's original expected result. So I corrected the issue at the paste end. I did not attempt to answer the question of whether that note should have been copied at all.