end_new_spanner_ = false;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_engraver, absolute_dynamic);
void
Dynamic_engraver::listen_absolute_dynamic (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (script_event_, ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_engraver, span_dynamic);
void
Dynamic_engraver::listen_span_dynamic (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (accepted_spanevents_drul_[d], ev);
}
-IMPLEMENT_TRANSLATOR_LISTENER (Dynamic_engraver, break_span);
void
Dynamic_engraver::listen_break_span (Stream_event *event)
{
}
if (finished_spanner_)
{
- if (Hairpin::has_interface (finished_spanner_))
+ if (has_interface<Hairpin> (finished_spanner_))
Pointer_group_interface::add_grob (finished_spanner_,
ly_symbol2scm ("adjacent-spanners"),
current_spanner_);
- if (Hairpin::has_interface (current_spanner_))
+ if (has_interface<Hairpin> (current_spanner_))
Pointer_group_interface::add_grob (current_spanner_,
ly_symbol2scm ("adjacent-spanners"),
finished_spanner_);
finished_spanner_->set_bound (RIGHT, info.grob ());
}
-ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
+void
+Dynamic_engraver::boot ()
+{
+ ADD_LISTENER (Dynamic_engraver, absolute_dynamic);
+ ADD_LISTENER (Dynamic_engraver, span_dynamic);
+ ADD_LISTENER (Dynamic_engraver, break_span);
+ ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
+}
+
ADD_TRANSLATOR (Dynamic_engraver,
/* doc */
"Create hairpins, dynamic texts and dynamic text spanners.",