]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix #262.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 31 Jan 2007 17:24:23 +0000 (18:24 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 31 Jan 2007 21:46:40 +0000 (22:46 +0100)
Add extendersOverRests property.

input/regression/lyric-extender-rest.ly [new file with mode: 0644]
lily/extender-engraver.cc
scm/define-context-properties.scm

diff --git a/input/regression/lyric-extender-rest.ly b/input/regression/lyric-extender-rest.ly
new file mode 100644 (file)
index 0000000..ea096f7
--- /dev/null
@@ -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
+  }
+>>
index 46d43e090732e578854233885dadb6b45e390889..1fb1e1d3f9548059eb4f16995475decf624c85a3 100644 (file)
@@ -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 */ "");
index e7107ead21a3c999e36f85b69b933782563fdc10..859c6b6ad98cab43a8ac09160f37e13ac26eb4cf 100644 (file)
@@ -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.")