From: Chris Snyder Date: Mon, 16 Mar 2009 23:51:26 +0000 (-0700) Subject: Fix lyric extenders to end properly when there are notes but no more lyrics. X-Git-Tag: release/2.13.1-1~61^2~1^2~14^2~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=6ed75f76e04fade80b54b3f9c4445a326c4fcb78;p=lilypond.git Fix lyric extenders to end properly when there are notes but no more lyrics. The previous extender code only ends extenders when the next lyric is encountered. This can lead to issues when there are additional notes, but no more lyrics. This patch adds a check to see if a melisma is ending, completetizing the extender if appropriate. --- diff --git a/input/regression/lyric-extender-completion.ly b/input/regression/lyric-extender-completion.ly new file mode 100644 index 0000000000..a712c9a9cc --- /dev/null +++ b/input/regression/lyric-extender-completion.ly @@ -0,0 +1,21 @@ +\version "2.13.0" + +\header { + + texidoc= "A LyricExtender should end at the right place even if there are more notes in the voice than lyrics." + +} + +<< + +\new Staff \relative c' { + \new Voice = "upper" { + \voiceTwo + g'1( | + c,) | + d | + } +} +\new Lyrics \lyricsto "upper" \lyricmode { Ah __ } + +>> diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index f3f711de0f..041f9046ed 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -98,6 +98,11 @@ Extender_engraver::stop_translation_timestep () { Pointer_group_interface::add_grob (pending_extender_, ly_symbol2scm ("heads"), h); + if (!melisma_busy (voice)) + { + completize_extender (pending_extender_); + pending_extender_ = 0; + } } } else