]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/completion-note-heads-engraver.cc
Merge with git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond.git
[lilypond.git] / lily / completion-note-heads-engraver.cc
index 3e5056619d6345af1b157b75948d4bf866ba70c1..66e31aaf52da8b541c31160f86930a0f25154dc8 100644 (file)
@@ -12,7 +12,6 @@ using namespace std;
 #include "duration.hh"
 #include "global-context.hh"
 #include "item.hh"
-#include "music.hh"
 #include "output-def.hh"
 #include "pitch.hh"
 #include "rhythmic-head.hh"
@@ -194,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];
@@ -217,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);
@@ -296,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 */ "");