On 2019-02-06 7:21 pm, Mike iLL wrote:
I’m using `\hideNotes` so that multiple similar verses can be lined up
beneath one another:
Melody with four beats here
Four syl — la — bles
Five syl — la — bil — lies
[ . . . ]
The melody is hidden but ties and slurs are quite visible.
I think that making objects transparent is going to be the solution,
but am not sure what objects I’m looking for:
Before getting to transparency, know that there are several ways to
solve the problem of disparate timing in lyrics. One option is to use
explicit durations in the lyrics rather than use \lyricsto. This lets
you customize the timing per stanza and gives you the most freedom at
the cost of added verbosity while entering lyrics. If you have stanzas
with wildly different timing, this is probably the best option as it
saves on having to create voices per stanza.
A second option is to stick to a single voice for all stanzas but make
use of melismata either implicitly via ties and slurs or explicitly via
placeholder syllables. For instance, your half note could be written as
two, tied quarters, which would accommodate both stanzas. For the
second stanza, you need only `\set ignoreMelismata = ##t` to be able to
assign more lyrics as needed. This approach tends to be best if you
have only a few variations in timing between stanzas, as it allows you
to share the majority of the timing in a single Voice.
A third option is to use a NullVoice to specify timing. This does not
render any notes in the staff and does not require embedding the
explicit durations within the lyrics. This may be handy for cases where
you would prefer to reuse lyrics variables against different timing, or
if you simply do not prefer to use explicit durations.
Lastly, you can use a normal Voice but hide its content as you have
mentioned. There are a few challenges with this approach. Firstly, you
need to set \voiceXxx appropriately to accommodate both voices even
though one will ultimately be hidden. Secondly, the hidden voice will
still take up space in the layout which may produce unexpected spacing.
Lastly, there are a number of grobs that can appear as part of
processing the music. As you have found, \hideNotes is not sufficient.
NOTE: I noticed that in your snippet you included braces around music
after \hideNotes. These are superfluous, as \hideNotes does not take
any arguments. I am not certain whether it was your intention that the
effect of \hideNotes only applied to the music expression in braces.
But for your reference, you need to manually include \unHideNotes to
reinstate things.
Is it something like this `\override NoteHead.transparent = ##t`?
Yes. Although, `\hide Grob` is shorthand for `\override
Grob.transparent = ##t` for any grob, so you might consider it for
brevity if you are going to go down this path. The Internals reference
can be a handy guide for looking up the various grob names: e.g. Tie,
Slur, PhrasingSlur.
Be aware that setting transparent to true only makes the grobs
invisible; the grobs will still occupy space within the layout. In some
cases this is fine, but hidden grobs can result in what appears to be
extra whitespace where the grob would have been. If this is a problem,
you can use `\omit Grob` instead if it is your desire that the grobs
should both be invisible and take up no space. (This second command is
shorthand for `\override Grob.stencil = ##f` if I am recalling
correctly.)
-- Aaron Hill
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user