From 6ed75f76e04fade80b54b3f9c4445a326c4fcb78 Mon Sep 17 00:00:00 2001 From: Chris Snyder Date: Mon, 16 Mar 2009 16:51:26 -0700 Subject: [PATCH] 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. --- input/regression/lyric-extender-completion.ly | 21 +++++++++++++++++++ lily/extender-engraver.cc | 5 +++++ 2 files changed, 26 insertions(+) create mode 100644 input/regression/lyric-extender-completion.ly 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 -- 2.39.5