#include "side-position-interface.hh"
#include "stream-event.hh"
#include "note-column.hh"
+#include "item.hh"
#include "translator.icc"
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
if (arpeggio_event_)
{
arpeggio_ = make_item ("Arpeggio", arpeggio_event_->self_scm ());
- arpeggio_event_->unprotect ();
}
}
ADD_TRANSLATOR (Arpeggio_engraver,
/* doc */ "Generate an Arpeggio symbol",
/* create */ "Arpeggio",
- /* accept */ "arpeggio-event",
/* read */ "",
/* write */ "");