X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcompletion-note-heads-engraver.cc;h=ef3a5012a26cbc5a77d192904ffb216d5082c4ab;hb=b787af94e0ec9e9bcfaed40cd73730c0e1e3ffd9;hp=c88e4cccc1e8f6f391937e9a87cca340a1ab6a06;hpb=0694f44d61203d9e8d26cd9bc83b46f2addb2c7f;p=lilypond.git diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc index c88e4cccc1..ef3a5012a2 100644 --- a/lily/completion-note-heads-engraver.cc +++ b/lily/completion-note-heads-engraver.cc @@ -80,7 +80,7 @@ protected: void start_translation_timestep (); void process_music (); void stop_translation_timestep (); - DECLARE_TRANSLATOR_LISTENER (note); + void listen_note (Stream_event *); }; void @@ -89,7 +89,6 @@ Completion_heads_engraver::initialize () is_first_ = false; } -IMPLEMENT_TRANSLATOR_LISTENER (Completion_heads_engraver, note); void Completion_heads_engraver::listen_note (Stream_event *ev) { @@ -164,7 +163,7 @@ Completion_heads_engraver::make_note_head (Stream_event *ev) Item *note = make_item ("NoteHead", ev->self_scm ()); Pitch *pit = unsmob (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); @@ -307,6 +306,12 @@ Completion_heads_engraver::Completion_heads_engraver () 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"