[Top][All Lists]
[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-----