[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Understanding ScriptRow
From: |
Thomas Morley |
Subject: |
Understanding ScriptRow |
Date: |
Thu, 10 May 2018 11:56:58 +0200 |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Understanding ScriptRow,
Thomas Morley <=