]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/tuplet-engraver.cc
2003 -> 2004
[lilypond.git] / lily / tuplet-engraver.cc
index 891d809f61c74da8ffa24b458780d7bd692cd029..2745f3461eb4d16457742c62539aba09270ebbb6 100644 (file)
@@ -3,7 +3,7 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
@@ -45,10 +45,10 @@ Tuplet_engraver::try_music (Music *c)
   if (c->is_mus_type ("time-scaled-music"))
     {
       Music *el = unsmob_music (c->get_mus_property ("element"));
-      if (el && !el->is_mus_type ("request-chord"))
+      if (el && !el->is_mus_type ("event-chord"))
        {
          time_scaled_musics_.push (c);
-         Rational m = now_mom ().main_part_ + c->length_mom ().main_part_;
+         Rational m = now_mom ().main_part_ + c->get_length ().main_part_;
          stop_moments_.push (m);
 
          SCM s = get_property ("tupletSpannerDuration");
@@ -74,7 +74,7 @@ Tuplet_engraver::process_acknowledged_grobs ()
       if (i < started_spanners_.size () && started_spanners_[i])
        continue;
 
-      Spanner* glep = new Spanner (get_property ("TupletBracket"));
+      Spanner* glep = make_spanner ("TupletBracket");
 
       if (i >= started_spanners_.size ())
        started_spanners_.push (glep);
@@ -118,9 +118,13 @@ Tuplet_engraver::start_translation_timestep ()
     {
       if (now.main_part_ >= span_stop_moments_[i])
        {
-         if (started_spanners_[i])
+         if (Spanner *sp = started_spanners_[i])
            {
-             typeset_grob (started_spanners_[i]);
+             if (!sp->get_bound (RIGHT))
+               sp->set_bound (RIGHT, sp->get_bound (LEFT));
+             
+             typeset_grob (sp);
+
              started_spanners_[i] =0;
            }