]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix #301.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 17 Feb 2007 23:23:50 +0000 (00:23 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 17 Feb 2007 23:23:50 +0000 (00:23 +0100)
Clear stopped_tuplets_ and new_tuplets_ twice.

input/regression/skiptypesetting-tuplet.ly [new file with mode: 0644]
lily/tuplet-engraver.cc

diff --git a/input/regression/skiptypesetting-tuplet.ly b/input/regression/skiptypesetting-tuplet.ly
new file mode 100644 (file)
index 0000000..3aa6e17
--- /dev/null
@@ -0,0 +1,22 @@
+
+\header{
+
+  texidoc = "Tuplet brackets are also skipped with
+@code{skipTypesetting}."
+
+}
+
+
+\version "2.10.19"
+\paper {
+  ragged-right = ##T
+}
+
+\new Staff \relative c' {
+  \set Score.skipTypesetting = ##t
+  \times 2/3 { c8 c c } \times 2/3 { c c c }
+  \times 2/3 { c c c } \times 2/3 { c c c}
+  \set Score.skipTypesetting = ##f
+  d1 \break
+  c
+}
index 888f5ccb81a133c148966d84d39689f59e016c4f..7d97443e1d3db2ffac3ce03ae60ce2fb602c606f 100644 (file)
@@ -78,7 +78,7 @@ Tuplet_engraver::listen_tuplet_span (Stream_event *ev)
        {
          /*
            discard duplicates.
-          */
+         */
          if (new_tuplets_[i].stop_moment_ == d.stop_moment_)
            return;
        }
@@ -87,13 +87,13 @@ Tuplet_engraver::listen_tuplet_span (Stream_event *ev)
     }
   else if (dir == STOP)
     {
-    if (tuplets_.size ())
-    {
-      stopped_tuplets_.push_back (tuplets_.back ());
-      tuplets_.pop_back ();
-    }
-    else
-      ev->origin ()->warning (_f ("No tuplet to end"));
+      if (tuplets_.size ())
+       {
+         stopped_tuplets_.push_back (tuplets_.back ());
+         tuplets_.pop_back ();
+       }
+      else if (!to_boolean (get_property ("skipTypesetting"))) 
+       ev->origin ()->warning (_f ("No tuplet to end"));
     }
   else 
     ev->origin ()->programming_error ("direction tuplet-span-event_ invalid.");
@@ -196,6 +196,10 @@ void
 Tuplet_engraver::start_translation_timestep ()
 {
   last_tuplets_.clear ();
+  /*
+    May seem superfluous, but necessary for skipTypesetting.
+   */
+  new_tuplets_.clear ();       
 }
 
 void