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: Mon, 12 Dec 2016 12:20:48 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0

Hi Knut, hi all.

On 2016-12-12 00:52, Knut Petersen wrote:
Hi Alexander
IIUC (I didn't compile it in), your patch inhibits extenders on a
single note, correct?

Yes.

Is that really what we want unconditionally,

Currently we get a short extender ... that is imho of no use and should
be killed.

I agree, but I don't know whether others have a use for it. But if it's possible to have it controlled by a context property, as Simon suggested, that's even better. Also, convert-ly would be happy about that...

OTOH, IMHO, your idea is the one and only sane default. And I actually think that, per default, extenders everywhere should be automatic (although that might be a change that is not automatically convert-ly'able): I've seen too many Lily engravings on CPDL et al. where missing extenders make the difference between a "perfectly usable (though still tweakable)" and a "confusing, but better than nothing" score. They have clearly been created by motivated, but inexperienced users who simply lack the awareness or the know-how to add them.

or are there reasonable use cases where one might want to have an
extender printed after a single note?

No really ... but ... yes. In a situation like << { c1 } { a8 (g f g a2
) } >>  it could be usefull.
Would need an override ...

Found one more: http://lsr.di.unimi.it/LSR/Item?id=1006
A special situation anyway, but still valid.

Second: Did you test with broken extenders? Like
{ c1 d \break e f } \addlyrics { c de __ _ f }? Asking because there
should be an extender for "de" across the break despite the fact that
both the d and e are "alone" on that line. Such an extender may never
be killed.
The 2nd part of the extender is killed by the "if (heads.size () < 2)".
That could be changed to "if (left_edge->internal_has_interface
(ly_symbol2scm ("lyric-syllable-interface")) && heads.size () < 2)".

Sounds good.

It's late now, good night.

Of course, no hurry; didn't mean to make you work overhours in your spare time. ;-) I just wanted to get this out of my head and into the wild before I forget.


Cheers,
Alexander



reply via email to

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