]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/completion-note-heads-engraver.cc
Update texinfo.tex from Texinfo CVS
[lilypond.git] / lily / completion-note-heads-engraver.cc
index 9a72b6d5ed077495addb33a1fa82ea63b4c91676..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];
@@ -295,8 +297,6 @@ ADD_TRANSLATOR (Completion_heads_engraver,
                "NoteHead "
                "Dots "
                "Tie",
-
-               /* accept */ "note-event",
                /* read */
                "middleCPosition "
                "measurePosition "