From: Han-Wen Nienhuys Date: Wed, 31 Jan 2007 17:24:23 +0000 (+0100) Subject: Fix #262. X-Git-Tag: release/2.10.15-1~3 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9b1a6b69525a02c7cc7c989098427891ff184410;p=lilypond.git Fix #262. Add extendersOverRests property. --- 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.")