Glissando tab layout and style minTieLength
Reported version
3.6
Type
Functional
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
It appears that the default glissando layout size is related to style::minTieLength. It looks like minTieLength*2
If you increase the style::minTieLength from 1 to 2, the gliss stretch out way too much. They shouldn't stretch out at all.
Need to rethink gliss layout and maybe use minTieLength+n instead of minTieLength*2.
Even better, use a style called minGlissLength
Comments
It indeed looks like the minTieLength is the min. Gliss lenght too, although I can't see it being used anywhere in glissando.cpp. I don't see it as being twice as large either, mor like being exactly the same.
What would that 'n' be then? How would changing that help to disentagle tie length from gliss length?
Ah, it is in chord.cpp, Chord::layoutPitched(), lines 2005-2021 and chord.cpp, Chord::layoutTablature(), lines 2384-2390
Notice the difference in calulations between those two.
Esp. it does seem to not use
qreal mag_ = staff() ? staff()->staffMag(this) : 1.0; // palette elements do not have a staff
in Tablature as a factor to the size of the glissando
Looks like Tablature it taking a bit more space than an Pitched staff with otherwise identical content, here with
minTieLength
set to 2:I wonder whether this relates to the difference in calculation, and if so whether that is on purpose?
Syncing the methods (using the exact same calculation in Tablature as is used in Pitched) doesn't seem to make any difference. But doing so seems still to be the RightThing™...
Edit: and it does make a (not very big) difference what using small staves
In reply to Looks like Tablature it… by Jojo-Schmitz
I looked at the code you posted above and noticed something strange:
Music Notation:
lll += _spatium * 0.5 + minTieLength;
Tablature:
lll += (0.5 + score()->styleS(Sid::MinTieLength).val()) * _spatium;
That explains why the spacing is so noticeable in tablature.
I played around a little and the best formula I found so far was: lll += _spatium;
It is supposed to be the minimal length, not the best length.
in Pitched there's also an additional
* mag_
in the calculation (hidden inminTieLength
).I don't see a really noticable difference in Tablature vs. Pitched, that's my point. See above image and sample score.
With your proposed change the Tablature measure gets narrower than the Pitched one, by about the same amount or was bigger before. But I don't see it as looking any better. And it makes the calculation even more different and with that inconsistent.
In reply to I don't see a really… by Jojo-Schmitz
Take another look at the formulas. The bug is in the TAB formula. Those parenthesis change everything.
You will not see this bug with only a couple of measures. Load a score (TAB only) that fills an entire page so things get compressed.
No doubt the formula is wrong, or at least quite different from that used for pitched staves (and I did point that out in my first reply), I just don't see it making a huge difference, but please provide a sample score that does
Related? #310594: Glissandos add too much space between chords.
Pretty likely
In reply to Pretty likely by Jojo-Schmitz
Here is a picture with 3 versions.
The top uses the formula lll += _spatium
The middle is Musescore 3.6.2 (minTieLength=1) -- the default
The bottom is how I noticed the problem. I tried to space out the 3-2 pulloff at the end using minTieLength and the gliss went nuts.
Same image inline:
still a sample score is neeeded
And I don't understand how those 3 example have been generated, all with that new formula? If not which with which formula?
May also be relevant to:
#312233: Glissandos: Add a "Minimum length" style setting
#49776: Glissando too short from grace note to the first note of a measure in TAB
#304549: Glissando between grace note and parent is too long; and does not stretch or contract with score
These don't look like grace notes. But we'd still need a sample score...
Submitted PR to correct formula for TAB only. It now copies music notation. Still need to add glissMinLen some day.
See https://github.com/musescore/MuseScore/pull/7874
or my https://github.com/musescore/MuseScore/pull/7877, which not only makes the formula consistent and identical, but also the value.
And https://github.com/musescore/MuseScore/pull/7878 for master
Fixed in branch master, commit 88e7737df8
_Fix #319448: Glissando tab layout and style minTieLength
The calculation for Tablatur was inconsistent with that of pitched staff_
Fixed in branch 3.x, commit 26f35ca98b
_Fix #319448: Glissando tab layout and style minTieLength
The calculation for Tablatur was inconsistent with that of pitched staff_
Automatically closed -- issue fixed for 2 weeks with no activity.