[Top][All Lists]

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

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: Ticket 450

From: Auto mailings of changes to Lily Issues
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: Ticket 4509 discussion
Date: Tue, 31 Jan 2017 10:46:10 +0000

"Alexander Kobel" address@hidden writes:

Argh, Ctrl-W ate my posting...

Ctrl-Z did not restore it?

AFAICS, with your patch the LyricExtender engraving routines are
called irregardless of the existence of an ExtenderEvent, right? So an
ExtenderEvent doesn't have to appear even internally anymore? Sounds
like the cleanest approach to me.

It's cleaner for the representation and it frees actual extenders to
carry meaning. More importantly, it makes old sources continue to work
as expected.

Now, please don't get me wrong on the following. I appreciate that you
participate in that issue, and I value your insight on both the
architectural and the UI side a lot. I just want to make sure that you
are aware of the thoughts we spent on that issue around the turn of
the year, and save everybody time and discussions.

Yes, this sucks. I am not proud of it either. The reason I mess like
that so late in the game is that I'd like a version of this to go into
2.20, and for that, the interfaces should have stabilized. And nothing
is more stable like using preexisting interfaces.

It does not help that right now I am having a fever. That does not
necessarily make me more coherent and I'll probably have to go back to
bed soonish.

I'm somewhat shivering to hear the you want to "get along without
no-extender and force-extender". Are you talking about the
internals and/or the UI here?

In a manner, both, but mainly the UI.

no-extender is important in some cases, e.g. to replicate sources
without extenders or for special-purpose lyrics (e.g., I'm thinking of
functional analysis symbols). 'collapse-length = #+inf.0 should be
functionally equivalent, but some people expressed the (reasonable,
IMHO) desire that collapse-length should be decoupled from an

My first thought here was to just use \omit LyricExtender : that would
have perfectly matched preexisting functionality. However, this
replaces the stencil with #f and there is no way to resurrect it by
writing . One would have to write something like \once\undo\omit
LyricExtender syllable
and that would suck.

Setting collapse-length to #+inf.0 would save a property but not a user
interface. Since no-extender does not actually cause no extender (they
can still be forced), I'd prefer something like automatic-extenders, a
property that can be switched off but is on by default.

However, there is no real point in creating extenders that are known to
get thrown away: if engravers look for extenders, it would be best if
the equivalent of no-extenders would stop an extender grob to be created
at all, again making it easy to recover previous behavior.

Forced extenders are required for some manual tweaks or, again,
special purposes such as lone notes before volta repeats, where an
extender into the second repeat bracket needs to be indicated. (BTW,
there have been wishes that the mutually exclusive collapse-length
and forced-length are not merged into one property.)

I'll have to read up on it.

Starting from scratch, I'd opt for translating the __ token to
forced extenders. However, a reinterpretation of __ was not

It isn't an actual reinterpretation as far as I see it: by setting the
equivalent of no-extenders you'll get back the previous behavior

Also, ignoring and deprecating __ for a while leaves lyrics (with
manual extenders) compatible between 2.19.55+some and earlier (in
particular, 2.18.x) versions.

Where do you see any incompatibility in my proposal.

Again, all these points have been discussed in a heap of mails on
-devel end of 2016. Just to make sure we are on the same page.

I'll read up on it. Sorry for this mess.

David Kastrup

[issues:#4509] Enhancement: automatically engrave lyric extenders

Status: Started
Created: Sat Jul 18, 2015 03:23 AM UTC by Anonymous
Last Updated: Mon Jan 30, 2017 10:31 PM UTC
Owner: Alexander Kobel

Originally created by: *anonymous

Originally created by: address@hidden

Actually, this is a content vs. presentation issue. The current approach has lyric extenders ‘hardcoded’ within the lyricmode input, whereas often it depends on layout whether I want an extender printed or not:
– In tight horizontal spacing, we might not need an extender, but when spacing is stretched, it might become necessary. This can come through different (page/line) breaking, parallel contexts present only in some editions (part vs. score), Completion_heads_engraver (mensural without barlines/transcription with barlines).
– Long syllables might not need an extender, where short syllables do.
– Often, all voices share the same text, but have extenders in different places. If extenders need not be given explicitly, the lyricmode input code can be reused much easier.

After all, the extenders don’t add any additional meaning, but only serve to improve legibility in such cases where they do.

This would require:
– Recognising the end of a word by absence of a hyphen.
– Comparing printed length of the melisma notes vs. the syllable, likely after line breaking. After all, extenders will never influence horizontal spacing. They might, however, affect vertical spacing. (unless we chose to omit (or shift) the extender in that case?)
– Personally, I think very short extenders shouldn’t be printed. There should be some kind of threshold.
It’s also one of the usecases where a proper representation of a ‘lyric word’ would be helpful, along with issue 2458.

Possibly related:
issue 4098

Version 2.12 had this listed as a Known issue. )

Sent from because address@hidden is subscribed to

To unsubscribe from further messages, a project admin can change settings at Or, if this is a mailing list, you can unsubscribe from the mailing list.

Check out the vibrant tech community on one of the world's most
engaging tech sites,!
Testlilyissues-auto mailing list

reply via email to

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