lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lyric line's vertical position is shifting from one staff system to


From: dfro
Subject: Re: Lyric line's vertical position is shifting from one staff system to the next.
Date: Sat, 9 Jun 2018 22:43:40 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Dear code wizards,

I still have more to solve on this issue, if possible.

I think I have discovered why most of the shifting is happening: The skyline rather than the baseline of the lyric line text is being referenced by LilyPond when calculating vertical placement.

What I am going for is a way to make chordsheets where there is a single-line staff that has chords (and sometimes lyrics) above and below the line. I want the chord/lyric lines to have a fixed vertical position in relation to the staff line and other chord/lyric lines, such that the baseline of the chords and text in a lyric line are the same distance from the staff line and any adjacent lyric baselines in all of the staff systems of a manuscript (like lines of text in a text document).

My current method is to create notes on the single-line staff that represent the harmonic rhythm of the piece (and in some situations another Voice for the rhythm of song lyrics.) I have an include file of custom chord symbols for all of my manuscripts. I can get the symbols exactly like I want using the many markup formatting commands. I then use a lyric line to attach these chord symbols to the harmonic rhythm notes. I hide the notes and omit all of the staff objects like stems, ties, tuplet brackets, etc. This has worked well except for the issue of the shifting text baseline of the lyric lines.

In order to make lines of chords and lyrics that have their text baseline visually in the same relationship to the staff line from one staff system to the next, I have to make many tweaks with many tries and re-compiles of the manuscript using - \override LyricText.extra-offset = #'(0 . Y). If later I make changes to the manuscript, then often I have to go back and tweak the positions again. I would like to just set the VerticalAxisGroup lyric-to-staff and lyric-to-lyric padding once and leave it.

I now realize that lyric lines are not being placed according to the baseline of the text, but rather the bounding box/skyline of the text. So, subscripting or superscripting in chord symbols, the height of letters, and letters that dip below the text baseline (like 'j', 'y', 'g') all affect the skyline, which can cause the skyline to be different from one staff system to another, and thus shift the baseline of the lyric line's text in relation to the staff line and other lyric lines. Am I correct on this?

My conclusions are:

1. The bounding box/skylines of staff items are effecting the vertical spacing of lyric lines from one staff system to the next. So, all of these staff objects need to be omitted rather than hidden, except for notes. To hide the notes, I can use -  \override NoteHead.stencil = #point-stencil - which reduces the size of all the notes to an invisible point, and eliminate any skyline changes that may be caused by different sized noteheads.

2. The skylines of the lyric text is changing from one staff system to the next, causing the baseline of the text to shift in its visual relation to the staff line.

3. Possibly, other items or factors that I have not discovered are causing shifting of the lyric line.


Is there a way to have the vertical position adjusted from the baseline of the lyric line's text, and thus make it rigidly fixed to a vertical position from the single-line staff or to the baseline of any adjacent lyric lines?

If there are no current settings to do this, could Scheme code be written to do this? Or could some functionality be added to the program to do this?

Perhaps, stacked lyric lines could look more even in their spacing in some situations, if a 'reference text baseline' setting were available within the program for VerticalAxisGroup tweaks.

I hope I am making sense.

Thank your for any help or advice, and for this amazing program.

Peace,
David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]