]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/completion-note-heads-engraver.cc
move Spanner bindings to separate file.
[lilypond.git] / lily / completion-note-heads-engraver.cc
index 69cd4b0785c90350a3707f1a103b727ba8d875fc..cb4471528623ed66c9a7ce5ded3c4b708a533fc9 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>
@@ -193,7 +193,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 +224,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);
@@ -295,7 +299,13 @@ ADD_TRANSLATOR (Completion_heads_engraver,
                /* doc */ "This engraver replaces "
                "@code{Note_heads_engraver}. It plays some trickery to "
                "break long notes and automatically tie them into the next measure.",
-               /* create */ "NoteHead Dots Tie",
-               /* accept */ "note-event",
-               /* read */ "middleCPosition measurePosition measureLength",
+               /* create */
+               "NoteHead "
+               "Dots "
+               "Tie",
+               /* read */
+               "middleCPosition "
+               "measurePosition "
+               "measureLength",
+
                /* write */ "");