public:
TRANSLATOR_DECLARATIONS (Ambitus_engraver);
protected:
- DECLARE_ACKNOWLEDGER (note_head);
+ void acknowledge_note_head (Grob_info);
void process_music ();
void stop_translation_timestep ();
is_typeset_ = false;
}
-Ambitus_engraver::Ambitus_engraver ()
+Ambitus_engraver::Ambitus_engraver (Context *c)
+ : Engraver (c)
{
ambitus_ = 0;
heads_.set (0, 0);
If the engraver is added to a percussion context,
filter out unpitched note heads.
*/
- if (!Pitch::is_smob (p))
+ if (!unsmob<Pitch> (p))
return;
- Pitch pitch = *Pitch::unsmob (p);
+ Pitch pitch = *unsmob<Pitch> (p);
Drul_array<bool> expands = pitch_interval_.add_point (pitch);
if (expands[UP])
causes_[UP] = nr;
}
}
-ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
+void
+Ambitus_engraver::boot ()
+{
+ ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
+}
+
ADD_TRANSLATOR (Ambitus_engraver,
/* doc */
"Create an ambitus.",