Hi all,
I'm trying to do:
(a) create a new grob
(b) add this grob to the 'scripts of ScriptRow
(c) let ScriptRow do the positioning according to the provided
script-priority and finger/stringNumber/strokeFingerOrientations, etc
(a) and (b) are done.
But currently I'm stuck with (c)
So I went some steps back and tried to understand how ScriptRow
actually does the positioning.
According to IR, 'before-line-breaking is set to
ly:script-column::row-before-line-breaking.
But I can't find where it is defined and thus I'm at a loss what it
does and how.
All I can say is unsetting 'before-line-breaking leads to clashing
scripts (only AccidentalPlacement is still ok). This makes me think
ly:script-column::row-before-line-breaking is indeed responsible for
the positioning.
So the questions are
Where is ly:script-column::row-before-line-breaking defined?
What does it do and how?
Is my current naiv understanding of it correct at all?
Is (c) doable at all?
Here some example code:
tst =
\override Staff.ScriptRow.before-line-breaking =
#(lambda (grob)
(format #t "\nscripts in ~a:\n~y"
grob
(ly:grob-array->list (ly:grob-object grob 'scripts)))
(ly:script-column::row-before-line-breaking grob)
)
\transpose c cis
{
\tst
\set fingeringOrientations = #'(left)
\set stringNumberOrientations = #'(left)
\set strokeFingerOrientations = #'(left)
<c' e'-1\2-\rightHandFinger #0 g'>4.\arpeggio
}
Cheers,
Harm
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user