]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/arpeggio-engraver.cc
Merge branch 'microtonal'
[lilypond.git] / lily / arpeggio-engraver.cc
index d67d9da120269ae3cd4d51de49cf962d6eb3c697..0086d121e79362616f2b0dbf998271a8cf384e2b 100644 (file)
@@ -15,6 +15,7 @@
 #include "side-position-interface.hh"
 #include "stream-event.hh"
 #include "note-column.hh"
+#include "item.hh"
 
 #include "translator.icc"
 
@@ -44,8 +45,7 @@ Arpeggio_engraver::Arpeggio_engraver ()
 IMPLEMENT_TRANSLATOR_LISTENER (Arpeggio_engraver, arpeggio);
 void Arpeggio_engraver::listen_arpeggio (Stream_event *ev)
 {
-  arpeggio_event_ = ev;
-  ev->protect ();
+  ASSIGN_EVENT_ONCE (arpeggio_event_, ev);
 }
 
 void
@@ -86,7 +86,6 @@ Arpeggio_engraver::process_music ()
   if (arpeggio_event_)
     {
       arpeggio_ = make_item ("Arpeggio", arpeggio_event_->self_scm ());
-      arpeggio_event_->unprotect ();
     }
 }
 
@@ -104,6 +103,5 @@ ADD_ACKNOWLEDGER (Arpeggio_engraver, note_column);
 ADD_TRANSLATOR (Arpeggio_engraver,
                /* doc */ "Generate an Arpeggio symbol",
                /* create */ "Arpeggio",
-               /* accept */ "arpeggio-event",
                /* read */ "",
                /* write */ "");