From 9b1a6b69525a02c7cc7c989098427891ff184410 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 31 Jan 2007 18:24:23 +0100 Subject: [PATCH] Fix #262. Add extendersOverRests property. --- input/regression/lyric-extender-rest.ly | 25 +++++++++++++++++++++++++ lily/extender-engraver.cc | 7 +++++-- scm/define-context-properties.scm | 2 ++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 input/regression/lyric-extender-rest.ly diff --git a/input/regression/lyric-extender-rest.ly b/input/regression/lyric-extender-rest.ly new file mode 100644 index 0000000000..ea096f7a7c --- /dev/null +++ b/input/regression/lyric-extender-rest.ly @@ -0,0 +1,25 @@ + +\header { + + texidoc = "If @code{extendersOverRests} is set, an extender +is not terminated upon encountering a rest. " + +} + +\paper { + ragged-right = ##T +} + +\version "2.11.15" + +<< + \new Voice = "one" \relative c'' { + c4\melisma + c4 r c\melismaEnd c + } + \new Lyrics \lyricsto "one" { + \set extendersOverRests = ##t + + Test __ end + } +>> diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 46d43e0907..1fb1e1d3f9 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -34,7 +34,9 @@ public: protected: DECLARE_TRANSLATOR_LISTENER (extender); DECLARE_ACKNOWLEDGER (lyric_syllable); + virtual void finalize (); + void stop_translation_timestep (); void process_music (); }; @@ -99,7 +101,8 @@ Extender_engraver::stop_translation_timestep () } else { - if (pending_extender_) + if (pending_extender_ + && !get_property ("extendersOverRests")) { completize_extender (pending_extender_); pending_extender_ = 0; @@ -153,5 +156,5 @@ ADD_ACKNOWLEDGER (Extender_engraver, lyric_syllable); ADD_TRANSLATOR (Extender_engraver, /* doc */ "Create lyric extenders", /* create */ "LyricExtender", - /* read */ "", + /* read */ "extendersOverRests", /* write */ ""); diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index e7107ead21..859c6b6ad9 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -206,6 +206,8 @@ note, one above and one below the chord.") changes. @samp{\\override} of the @code{break-visibility} property will set the visibility for normal (i.e. at the start of the line) key signatures.") + (extendersOverRests ,boolean? "Whether to continue extenders as +they cross a rest.") (extraNatural ,boolean? "Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.") -- 2.39.5