lilypond-devel
[Top][All Lists]
Advanced

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

Re: music function to be included somewhere in scm/*


From: Alexander Kobel
Subject: Re: music function to be included somewhere in scm/*
Date: Thu, 15 Dec 2016 01:34:17 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

On 2016-12-14 19:46, Knut Petersen wrote:
Am 14.12.2016 um 18:03 schrieb Simon Albrecht:
On 14.12.2016 14:54, Knut Petersen wrote:
With a music function \autoextenders that adds extender events to
every syllable you
- can be sure never to forget extenders,
- can be sure never to generate too short extenders
- can use the same lyrics definition for voices that require
extenders at different places.

Nobody is forced to use \autoextenders, manual definition is still
possible.

Would it be possible/wanted to have this triggered by a context
property as well? I for one would prefer that, it’s easier to use.

LyricEvents are generated by the following code in music-functions.scm:

(define-public (make-lyric-event string duration)
  (make-music 'LyricEvent
              'duration duration
              'text string))

Here only a few lines of code are enough to add LyricExtender events for
every syllable by default.

Yes. In fact, it's more straightforward to add it here than with the extra music function. Not sure how a context property would come into play here; I guesss that'd mean that make-lyric-event branches on a variable named, say, autoAddExtenders, and adds an ExtenderEvent if and only if it is set to #t? Not sure how to code that part, but it seems plausible that we can make that work.

Of course we  would need to disable the warning about more than one
extender event.

And we might need to offer a way to remove a LyricExtender event. Unless we go the radical route and ...

But do we want to enable lyric extenders by default?

... have them enabled by default, get rid of ExtenderEvent entirely, and just assume it's there for every syllable, unless there is a HyphenEvent (any use case for hyphen + extender?). If a user doesn't want it, we need to provide a function \extenderOff (that translates, e.g., to \override LyricExtender.stencil = ##f). Only thing to consider there: We'd need a "stop sign" for extenders that shall only extend to some point in a _ _ _ sequence, as required in a divisi lyrics setting.


Cheers,
Alexander



reply via email to

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