Hey all, Investigating this MusicSE question https://music.stackexchange.com/questions/142868/how-to-change-thickness-of-individual-ties-in-a-chord-in-lilypond[1] has shown that setting `TieColumn.positioning-done` to `#t` messes up the thickness property.
The reason for this is that `Tie.direction` is only set by
`TieColumn.positioning-done`, and in
tie.cc:252 in `ly:tie::print` the thickness is multiplied by direction for sign:
```
a = Lookup::slur (b, get_grob_direction (me) * base_thick, line_thick,
dash_definition);
```
This has the effect of changing the sign of the thickness depending on
direction.
What `Lookup::slur` is doing is basically just to clone the original control
points giving us two
curves and offset the middle two points of each by `thickness / 2`
perpendicular to the slur
direction, up for the clone and down for the original.
Then`Lookup::bezier_sandwich` which
creates a closed path along both curves.
So as far as I can see the sign of the thickness will only change the order in
which the sandwich is
done (top curve there and bottom curve back vs. bottom curve there, top curve
back). So this
should actually not have any visible effect, as we can also see here:
```
{
\override Tie.after-line-breaking =
#(lambda (grob)
(display (ly:stencil-expr (ly:grob-property grob 'stencil)))
(newline))
g'1-\tweak thickness 1.2 ~
g'
g'1-\tweak thickness -1.2 ~
g'
}
```
So I want to ask you guys if you A) know why this is done in the first place
and B) if you think it is
reasonable to get rid of the multiplication with direction to make to code more
robust.
Alternative would of course be to add a fallback for the direction (which
should be DOWN), but
considering this not actually doing anything of course the simplest solution
would be to not
multiply by the thickness in the first place.
Cheers,
Tina
--------
[1]
https://music.stackexchange.com/questions/142868/how-to-change-thickness-of-individual-ties-in-a-chord-in-lilypond/142869?noredirect=1#comment272491_142869
signature.asc
Description: This is a digitally signed message part.
