#include "translator.icc"
-using std::vector;
-
/*
How does this work?
void start_translation_timestep ();
void process_music ();
void stop_translation_timestep ();
- DECLARE_TRANSLATOR_LISTENER (note);
+ void listen_note (Stream_event *);
};
void
is_first_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Completion_heads_engraver, note);
void
Completion_heads_engraver::listen_note (Stream_event *ev)
{
Item *note = make_item ("NoteHead", ev->self_scm ());
Pitch *pit = unsmob<Pitch> (ev->get_property ("pitch"));
- int pos = pit->steps ();
+ int pos = pit ? pit->steps () : 0;
SCM c0 = get_property ("middleCPosition");
if (scm_is_number (c0))
pos += scm_to_int (c0);
ly_bool2scm (note_events_.size ()));
}
-Completion_heads_engraver::Completion_heads_engraver ()
+Completion_heads_engraver::Completion_heads_engraver (Context *c)
+ : Engraver (c)
{
tie_column_ = 0;
}
+void
+Completion_heads_engraver::boot ()
+{
+ ADD_LISTENER (Completion_heads_engraver, note);
+}
+
ADD_TRANSLATOR (Completion_heads_engraver,
/* doc */
"This engraver replaces @code{Note_heads_engraver}. It plays"