On Thu, Jan 19, 2012 at 6:34 PM, Thomas Morley
<address@hidden> wrote:
Hi David,
2012/1/19 David Nalesnik <address@hidden>:
> Hi Frank,
>
> On Thu, Jan 19, 2012 at 3:48 PM, Thomas Morley
> <
address@hidden> wrote:
>>
>> Hi Frank,
>>
>> 2012/1/17 Frank Steinmetzger <
address@hidden>:
>>
>> > Is there an automatic way to resolve this, i.e. that all "ness"
>> > syllables are
>> > properly aligned again?
>
>
> It appears the text will be aligned to the head of the first note between <
>>, so specify the upper of the two first: so, rather than <c des>, <des c>
>
> -David
>
of course!!
Yes, well it seems simple in retrospect for me too! But, like Frank, I tend to enter chords from bottom up. In a case like this, I expect that the lyric alignment will be to the note which governs stem direction. (This, after all, governs alignment between notes on different staves.)
Initially, (before what I'm sure I've seen documented elsewhere in some context hit me), I was playing around with resetting the X-parent from one note-head to another. This, for example, would set the X-parent (and thus the alignment) to the last note between < > instead of the first:
#(define test
(lambda (grob)
(let ((note-heads (ly:grob-object (ly:grob-parent (ly:grob-parent grob X) X) 'note-heads)))
(set! (ly:grob-parent grob X)
(ly:grob-array-ref note-heads (1- (ly:grob-array-length note-heads)))))))
Call it with:
\override Lyrics . LyricText #'before-line-breaking = #test
I'm sure this could be modified to target the note that governs stem direction.
-David