(c) 1998--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
-#include "tuplet-bracket.hh"
-#include "note-column.hh"
#include "beam.hh"
#include "engraver.hh"
+#include "international.hh"
+#include "note-column.hh"
#include "spanner.hh"
#include "stream-event.hh"
+#include "tuplet-bracket.hh"
+#include "warn.hh"
+#include "item.hh"
#include "translator.icc"
protected:
vector<Tuplet_description> tuplets_;
+ vector<Tuplet_description> new_tuplets_;
vector<Tuplet_description> stopped_tuplets_;
vector<Spanner*> last_tuplets_;
+
DECLARE_ACKNOWLEDGER (note_column);
DECLARE_TRANSLATOR_LISTENER (tuplet_span);
virtual void finalize ();
{
Tuplet_description d;
d.event_ = ev;
- tuplets_.push_back (d);
+ new_tuplets_.push_back (d);
}
- if (dir == STOP && tuplets_.size ())
+ else if (dir == STOP && tuplets_.size ())
{
stopped_tuplets_.push_back (tuplets_.back ());
tuplets_.pop_back ();
}
+ else
+ programming_error (_ ("invalid direction of tuplet-span-event"));
}
void
}
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 */
ADD_ACKNOWLEDGER (Tuplet_engraver, note_column);
ADD_TRANSLATOR (Tuplet_engraver,
/* doc */ "Catch TupletSpannerEvent and generate appropriate bracket ",
- /* create */ "TupletBracket TupletNumber ",
- /* accept */ "tuplet-span-event",
- /* read */ "tupletFullLength ",
+ /* create */
+ "TupletBracket "
+ "TupletNumber ",
+ /* read */
+ "tupletFullLength "
+ "tupletFullLengthNote ",
/* write */ "");