]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/completion-note-heads-engraver.cc
fix error message
[lilypond.git] / lily / completion-note-heads-engraver.cc
index fb67686f96b945c37e062867507ff6a08c0581f9..f514f7d37febd3c1e774216c3fa3f93ec9633826 100644 (file)
@@ -1,7 +1,7 @@
 /*
   completion-note-heads-engraver.cc -- Completion_heads_engraver
 
-  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include <cctype>
@@ -85,14 +85,8 @@ Completion_heads_engraver::listen_note (Stream_event *ev)
   note_events_.push_back (ev);
   
   is_first_ = true;
-  Moment musiclen = get_event_length (ev);
   Moment now = now_mom ();
-
-  if (now_mom ().grace_part_)
-    {
-      musiclen.grace_part_ = musiclen.main_part_;
-      musiclen.main_part_ = Rational (0, 1);
-    }
+  Moment musiclen = get_event_length (ev, now);
 
   note_end_mom_ = max (note_end_mom_, (now + musiclen));
   do_nothing_until_ = Rational (0, 0);
@@ -193,7 +187,15 @@ Completion_heads_engraver::process_music ()
            scratch_note_events_.push_back (m);
          }
     }
-
+  else
+    {
+      for (vsize i = 0; i < note_events_.size (); i++)
+       {
+         Stream_event *c =  note_events_[i]->clone ();
+         scratch_note_events_.push_back (c);
+       }
+    }
+  
   for (vsize i = 0; left_to_do_ && i < note_events_.size (); i++)
     {
       Stream_event *event = note_events_[i];
@@ -216,11 +218,7 @@ Completion_heads_engraver::process_music ()
          Item *d = make_item ("Dots", SCM_EOL);
          Rhythmic_head::set_dots (note, d);
 
-         /*
-           measly attempt to save an eeny-weenie bit of memory.
-         */
-         if (dots != scm_to_int (d->get_property ("dot-count")))
-           d->set_property ("dot-count", scm_from_int (dots));
+         d->set_property ("dot-count", scm_from_int (dots));
 
          d->set_parent (note, Y_AXIS);
          dots_.push_back (d);
@@ -299,8 +297,6 @@ ADD_TRANSLATOR (Completion_heads_engraver,
                "NoteHead "
                "Dots "
                "Tie",
-
-               /* accept */ "note-event",
                /* read */
                "middleCPosition "
                "measurePosition "