lilypond-user
[Top][All Lists]
Advanced

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

Re: exchange LyricHyphen with a "proper" hyphen


From: Alexander Kobel
Subject: Re: exchange LyricHyphen with a "proper" hyphen
Date: Sun, 11 Dec 2016 01:17:01 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

Hi again,

On 2016-12-10 23:33, Alexander Kobel wrote:
On 2016-12-10 20:20, Noeck wrote:
Hi Alexander,

where is this from: conditional-kill-lyric-extender-callback?
[...]
It is a perfect solution for a problem I had for quite some time:
In chorales (4 voices, mostly homophone), I often have common lyrics but
sometimes different melismata. So just because of one or two __, I have
to duplicate the lyrics up to four times or put several tags in there.
This conditional killing of the extender line allows to enter the __ in
the common lyrics and in all voices without melisma, it is removed
automatically. Very nice.

Sound perfectly valid. Never thought of it, despite the fact that I was
often annoyed by copy-pasting lyrics. But it should work like a charm.

Would it be possible to have automatic extender lines? For every melisma
there is an extender line if it would be longer than the minimum-length?

Hm. Iterate over lyrics and add Extender events for each syllable
without a hyphen? Sounds reasonable...

Ah, no, here's the problem, as can be readily seen in the "Brich an, o schönes Morgenlicht", first full measure: any __ in lyrics will unconditionally add an extender line, indifferent of whether there is a melisma or not. So this alone would not suffice; the callback would have to inspect the situation and kill the extender not just due to their length, but also if there is no melisma.

I'm not sure whether there is an easy (read: scheme-able) way to do so. Maybe one could exploit the fact that lyrics on melismata are left-aligned by default, while others are centered; but this sounds like a fragile and hackish approach. Probably there should be a cleaner way?


Cheers,
Alexander



reply via email to

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