With this I see and can reproduce the missing lyrics dash problem, but I can successfully add the melisma underscore (with pressing _ twice, after the first the 'le' gets underlined, after the 2nd the correct melisma shows)
But than I can't delete it anymore...
Another incorrect behavior happens by trying to enter a melisma on the first note by pressing _ once or several times, the cursor jumps to the next notes, but a melisma doesn't appear.
(In the score above delete the lyrics except "Da" on the first note and try to enter a melisma for this syllable)
and that isn't a workaround.
Yes, that short melisma turning into an underline is yet another issue, but there using a double underscore isn't a workaround either
This is probably related: https://musescore.org/en/node/277721
and leads to this workaround:
Switch to "Single page" or "Continous view" and back to "Page view" and the dash behind the first syllable will appear
The problem with melisma is more difficult. Apparently it is related to setting the dash length (rxpos2()?) in LyricsLine::layoutSystem and LyricsLineSegment::layout. However the code doesn't seem to have changed since the end of September (74eda99423ed51bc06d49af13c301ab8c161bd31), and this bug should either be present at least since that time or be caused by style changes or some other less evident reasons.
@dmitrio95: I already tried the same but take care, now you will get a leading dash at the start of a new system, when the lyrics in the previous system end with a dash.
For the melisma could you try this in lyricsline.cpp?
qreal minMelismaLen = 1.00 * sp;
if (rxpos2() < minMelismaLen)
rxpos2() = minMelismaLen;
A probable step to resolving melisma issue: https://github.com/musescore/MuseScore/pull/4123
Maybe we indeed should have something like the minimal melisma length like it is already done for dashes. However prior to applying that there was a probably more general way to prevent melisma from crossing lyrics syllables which I try to enable again in the mentioned pull request. However this really seems to need some rework.
There is also a issue with vertical position of leading dash after system break, if the first note at the new system is very low. Should I create a separate issue?
fix #277693: Fix melisma intersecting with lyrics syllables
This patch:
1) Makes melisma be spanned not less that to the right edge of the
first note.
2) Adds a value to a width of "temporary" short melisma equal to the
lyrics syllable's width (which was done so in MuseScore 2).
I am afraid there is still a pending issue. In almost every case it works pretty well. But I have a example where the melisma still intersects the syllable.
This is with the latest version.
Could you please describe steps to reproduce this state? Opening the example score indeed gives such a bad layout but I am not able to reproduce it from scratch.
Well, I checked some of my existing score and found this issue which I stripped down to the example attached above.
I did not try to create it from scratch. Do you think it is just in this score? The lets call it fixed.
The additional value of a score rather than only a picture is that others can look at the score to see if another setting was changed (probably by accident) that affects the display. This is especially useful if others are having difficulty recreating the issue.
I have not followed the topic since the beginning, but compared to version 2.3.2, the melisma is not removed properly after Undo, and I can reproduce the previously attached display.
See (first test with 2.3.2, then the same with the current 3.0 dev.)
If the bug that created the faulty MSCX has been fixed, I would say that this issue is fixed as well, since it would no longer be possible for this to occur.
@cadiz1: Thank you for the repro steps - very good.
@dmitrio95: I presume your fix will not prevent the faulty MSCX, because it corrects the layout, but not the document itself. Right? Do you prefer a new issue?
At this point, we are definitely talking about a couple of other issues.
1. It is permissible for a <Chord> to have more than one <Lyrics>, as long as each <Lyrics> has a different <no>. If the <no> is not provided, or if it the same as a previous Lyric, then the Lyrics will collide. I do not know what caused the document to be written the way it was. cadiz1's steps produce the same visual result, but not the same MSCX.
2. Lyrics in different voices will collide with each other. This happens in 2.x as well.
3. cadiz1 demonstrates how Undo can make a Lyric appear that contains a melisma but no text.
Comments
Can't reproduce, works for me. Sample score and detailed steps needed
(to be honest: I've seen this too, but haven't been able to reliably reproduce it)
Set cursor behind "Da". Press -
Expected: A hyphen gets inserted and the cursor is moved to "de"
Actual: No hyphen, cursor moved.
Set cursor behind "le". Press _
Expected: Melisma inserted
Actual: No melisma, but "le" underlined.
With this I see and can reproduce the missing lyrics dash problem, but I can successfully add the melisma underscore (with pressing _ twice, after the first the 'le' gets underlined, after the 2nd the correct melisma shows)
But than I can't delete it anymore...
Thanks for the melisma workaround (2x "_")
I believe that double _ was needed ever since. It doesn't underline the syllable in 2.x though
Another incorrect behavior happens by trying to enter a melisma on the first note by pressing _ once or several times, the cursor jumps to the next notes, but a melisma doesn't appear.
(In the score above delete the lyrics except "Da" on the first note and try to enter a melisma for this syllable)
In MS2 the first _ added a short melisma which not extended to the next note. So it was quite natural to press _ again to extend the melisma.
yes, true
See also #277679: Dashes cannot be inserted between syllables of the first word of lyrics while editing. for an animated gif showing the issue
Do I understand correctly, that the workaround exists, so that writing syllables from scratch works, right?
No, actually there is no workaround. the double _ to add a melisma is not really a workaround, it is how it always worked
No, the workaround refers to the melisma issue, the thread started with.
For the syllable dash issue there is no workaround.
@Jojo The melisma issue did not always worked that way. In MS2 the first _ already created a short melisma. MS3 does underline the previous syllable.
and that isn't a workaround.
Yes, that short melisma turning into an underline is yet another issue, but there using a double underscore isn't a workaround either
This is probably related: https://musescore.org/en/node/277721
and leads to this workaround:
Switch to "Single page" or "Continous view" and back to "Page view" and the dash behind the first syllable will appear
True, #277721: Dashes and melismas not displayed in continuous view's method is a workaround
Well, no, it is not, as that doesn't survive a save/close/reopen
The dash is in the data. It is just not being layouted.
Switching views after save/close/reopen will revive the dash.
Sure, it is a plain rendering issue. But if the dash is not shown in score, it isn't in the exported PDF either
In reply to The dash is in the data. It… by tobik
Melisma
After the first _ the previous syllable seems to be underlined. In fact a LyricsLineSegment is created. But with wrong position.
So do you think the double _ is the issue? Should the first _ already add the melisma to the next note?
No, it should add that short melisma like in 2.x
For the first dash problem see https://github.com/musescore/MuseScore/pull/4121
The problem with melisma is more difficult. Apparently it is related to setting the dash length (
rxpos2()
?) inLyricsLine::layoutSystem
andLyricsLineSegment::layout
. However the code doesn't seem to have changed since the end of September (74eda99423ed51bc06d49af13c301ab8c161bd31), and this bug should either be present at least since that time or be caused by style changes or some other less evident reasons.@dmitrio95: I already tried the same but take care, now you will get a leading dash at the start of a new system, when the lyrics in the previous system end with a dash.
For the melisma could you try this in lyricsline.cpp?
qreal minMelismaLen = 1.00 * sp;
if (rxpos2() < minMelismaLen)
rxpos2() = minMelismaLen;
and even worse: melisma underscores too continue into the next system
A probable step to resolving melisma issue: https://github.com/musescore/MuseScore/pull/4123
Maybe we indeed should have something like the minimal melisma length like it is already done for dashes. However prior to applying that there was a probably more general way to prevent melisma from crossing lyrics syllables which I try to enable again in the mentioned pull request. However this really seems to need some rework.
In reply to A probable step to resolving… by dmitrio95
There is also a issue with vertical position of leading dash after system break, if the first note at the new system is very low. Should I create a separate issue?
Yes
Fixed in branch master, commit 239c57194b
fix #277693: Fix melisma intersecting with lyrics syllables
This patch:
1) Makes melisma be spanned not less that to the right edge of the
first note.
2) Adds a value to a width of "temporary" short melisma equal to the
lyrics syllable's width (which was done so in MuseScore 2).
Fixed in branch master, commit e51b87f140
Merge pull request #4123 from dmitrio95/fix-melisma
fix #277693: Fix melisma intersecting with lyrics syllables
I am afraid there is still a pending issue. In almost every case it works pretty well. But I have a example where the melisma still intersects the syllable.
This is with the latest version.
Could you please describe steps to reproduce this state? Opening the example score indeed gives such a bad layout but I am not able to reproduce it from scratch.
This status is better. Also, adjusted other categories to show actual state of the issue.
Well, I checked some of my existing score and found this issue which I stripped down to the example attached above.
I did not try to create it from scratch. Do you think it is just in this score? The lets call it fixed.
In reply to Well, I checked some of my… by tobik
Import from a version 2 score should work properly. I don't know if this should be the same or a different issue.
In fact it's been a v3 score
In reply to In fact it's been a v3 score by tobik
Have you this entire score ? (and not only the excerpt of 1 measure in attachment previously)
I'm curious whats the additional value of a whole score against a score with the isolated issue?
In reply to I'm curious whats the… by tobik
The additional value of a score rather than only a picture is that others can look at the score to see if another setting was changed (probably by accident) that affects the display. This is especially useful if others are having difficulty recreating the issue.
In reply to The additional value of a… by mike320
It's already been a score. Not only a picture.
I have not followed the topic since the beginning, but compared to version 2.3.2, the melisma is not removed properly after Undo, and I can reproduce the previously attached display.
See (first test with 2.3.2, then the same with the current 3.0 dev.)
Melisma3.mscz has two
<Lyrics>
elements where there should only be one. To correct your score, you should replace this:with this:
If the bug that created the faulty MSCX has been fixed, I would say that this issue is fixed as well, since it would no longer be possible for this to occur.
@cadiz1: Thank you for the repro steps - very good.
@dmitrio95: I presume your fix will not prevent the faulty MSCX, because it corrects the layout, but not the document itself. Right? Do you prefer a new issue?
At this point, we are definitely talking about a couple of other issues.
1. It is permissible for a
<Chord>
to have more than one<Lyrics>
, as long as each<Lyrics>
has a different<no>
. If the<no>
is not provided, or if it the same as a previous Lyric, then the Lyrics will collide. I do not know what caused the document to be written the way it was. cadiz1's steps produce the same visual result, but not the same MSCX.2. Lyrics in different voices will collide with each other. This happens in 2.x as well.
3. cadiz1 demonstrates how Undo can make a Lyric appear that contains a melisma but no text.
P0 for the 3rd item in the @matt's list
I will create separate issues for the @matt's points
Automatically closed -- issue fixed for 2 weeks with no activity.