From: Han-Wen Nienhuys Date: Thu, 14 Dec 2006 12:44:33 +0000 (+0100) Subject: add new tuplets new_tuplet_ vector. Fixes #159 X-Git-Tag: release/2.10.4-1~22 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=3a90248ff7aeb14c0d4971a52ab88d6416af5c21;p=lilypond.git add new tuplets new_tuplet_ vector. Fixes #159 This ensures we don't accidentally flush a newly started tuplet. --- diff --git a/input/regression/quote-tuplet.ly b/input/regression/quote-tuplet.ly new file mode 100644 index 0000000000..0579d4fde6 --- /dev/null +++ b/input/regression/quote-tuplet.ly @@ -0,0 +1,31 @@ + +\version "2.10.0" + +\header { + + texidoc = "In cue notes, Tuplet stops are handled before new tuplets + start." + +} + +foo = \relative { + \times 2/3 { c4 c c } \times 2/3 { c4 c c } +} + +\addquote "foo" { \foo } + +\paper { + ragged-right = ##t +} + +\new Staff +<< + \new Voice \transpose c c' { + \override Stem #'direction = #UP + \foo + } + \new Voice { + \cueDuring #"foo" #DOWN { s1 } + } +>> + diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 7a3cf534fd..6021f98e99 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -43,8 +43,10 @@ public: protected: vector tuplets_; + vector new_tuplets_; vector stopped_tuplets_; vector last_tuplets_; + DECLARE_ACKNOWLEDGER (note_column); DECLARE_TRANSLATOR_LISTENER (tuplet_span); virtual void finalize (); @@ -61,7 +63,7 @@ Tuplet_engraver::listen_tuplet_span (Stream_event *ev) { Tuplet_description d; d.event_ = ev; - tuplets_.push_back (d); + new_tuplets_.push_back (d); } else if (dir == STOP && tuplets_.size ()) { @@ -104,6 +106,8 @@ Tuplet_engraver::process_music () } stopped_tuplets_.clear (); + concat (tuplets_, new_tuplets_); + new_tuplets_.clear (); for (vsize j = tuplets_.size (); j > 0; j--) { /* i goes from size-1 downto 0, inclusively */