lilypond-devel
[Top][All Lists]
Advanced

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

Re: Issue #786 (lyric extenders completing too early)


From: Reinhold Kainhofer
Subject: Re: Issue #786 (lyric extenders completing too early)
Date: Wed, 9 Sep 2009 18:25:49 +0200
User-agent: KMail/1.11.4 (Linux/2.6.28-15-generic; KDE/4.2.4; i686; ; )

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Mittwoch, 9. September 2009 16:25:56 schrieb Chris Snyder:
> I posted a comment about this issue a while back, but it seems that it
> was drowned out by other bug updates.
>
> The issue is that when underscores are used to extend a melisma, the
> extender line does not continue over the melisma as it should. Here's
> what I wrote about it:
>
> I've done some looking into this, and am not sure of the best way to fix
> this. My original patch (the one that caused the regression) added the
> following code:
> if (!melisma_busy (voice))
> {
>     completize_extender (pending_extender_);
>     pending_extender_ = 0;
> }
>
> The more I think about it, the more I think that the patch is correct -
> if melisma_busy is intended to behave like I think it should. The
> documentation for the melisma_busy function doesn't make it clear, but I
> would expect, based on its name, that it should return true whenever the
> associated lyrics context is in the middle of a melisma. Since single
> underscores extend the melisma ("You can define melismata entirely in
> the lyrics, by entering _ for every extra note that has to be added to
> the melisma." --LNR 2.1.3), the fix would therefore be to alter the
> behavior of the melisma_busy function.

I have not really thought it through, but would that work with the following 
code in lyric_engraver.cc:

              if (melisma_busy (voice)
                  && !to_boolean (get_property ("ignoreMelismata")))
                text_->set_property ("self-alignment-X",
                                     get_property("lyricMelismaAlignment"));

There is the ignoreMelismata property, which makes Lilypond ignore all 
melismata. If melisma_busy would return True for "_", would this affect the 
skipped note? Or in other words, does the processing of "_" rely on the code 
above or not.

And then there is the Lyric_combine_music_iterator::start_new_syllable 
function. would that still work?

Cheers,
Reinhold

- -- 
- ------------------------------------------------------------------
Reinhold Kainhofer, address@hidden, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKp9cOTqjEwhXvPN0RAi0pAJ9iXIh/asxGZp11cKSzF2vk2qFHzgCgyne6
bjJ8WzEbe0EV3PZHY3z3zZ4=
=EmiC
-----END PGP SIGNATURE-----




reply via email to

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