If note is tied to preceding grace note of equal pitch, only the grace note is played back
Reported version
3.2
Type
Functional
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
- Add grace note before a note with equal pitch.
- Add tie between the grace note and the note.
- Start playback.
Only the grace note is played back, but the "main" note is silent, as if it were a rest.
Attachment | Size |
---|---|
grace_tie.mscz | 3.69 KB |
grace_tie.PNG | 8.51 KB |
Fix version
3.3.0
Comments
Confirmed:
Workarounds:
(If there are two grace notes before the tied note) delete that tie and put a tie again. then everything is normal.
(If there is only one grace note before the attached note) put another grace note in same place, delete tie and put a tie again. and delete first grace note.
Note: Using a Tie like this way is useless. But it's a bug.
Thank you for the feedback, I will try the workaround!
Regarding your claim that using a tie this way is useless: I disagree, because sometimes a sequence of grace notes needs to be tied to the next note. If said note is part of a chord, that note is heard earlier than the other ones in the chord because it is struck first as a grace note. This effect is hard to reproduce with a different, equally simple notation.
Note: Using a Tie like this way is useless. But it's a bug.
It's not useless, it's a workaround if you need a tie from an undetermined note and it is used to start a volta 2 to show the tie to a note before volta 1 (make the grace note invisible). I realize that this still puts a tounging pause between the measures, but the note should play full length.
In reply to Thank you for the feedback,… by Christian Hafner
I'm very sorry if I misrepresented my purpose (Ignore that "note:" part pls.)
@ Christian Hafner
Yes, it makes sense if there are many grace notes in succession and the last one is connected to a note (and other case you specify). I was talking about single grace (unison) note, tied to a normal note on a printed score.
@ Mike320:
You're right. But I wasn't talking about an invisible note (use as a workaround). I meant it on a printed score.
I think I wrote very direct and a little incomplete. Sorry again.
Ziya, that's fine. I just wanted to be sure that anyone looking at this to fix it didn't miss its legitimate use.
See https://github.com/musescore/MuseScore/pull/5280.
Fixed in branch master, commit e98b0edd1d
_fix #293733: If note is tied to preceding grace note of equal pitch, only the grace note is played back
Why this is happening
In collectNote() in rendermidi.cpp, grace notes are currently not treated as notes that could potentially have forward ties; in fact, it is assumed that they will not. When a note is encountered that ties back to a previous note, it is assumed that the length of the note has already been added to the previous note, when in fact this is not the case if the previous note is a grace note.
Why this commit fixes the issue
The code for computing the entire length of the tie chain is now executed whether the current note is a grace note or not._
Fixed in branch master, commit b089ea0057
_Merge pull request #5280 from mattmcclinch/293733-grace-note-tie
fix #293733: If note is tied to preceding grace note of equal pitch, only the grace note is played back_
Automatically closed -- issue fixed for 2 weeks with no activity.