X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fspan-bar-stub-engraver.cc;h=914e73ed4b89ebecc735e1c531a53be3be8eaed1;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=0f1df50b6e3b3c027b3ea9f024e35ecbd65562e3;hpb=958e95822083954cad00e0a598eb9f12ceba67b9;p=lilypond.git diff --git a/lily/span-bar-stub-engraver.cc b/lily/span-bar-stub-engraver.cc index 0f1df50b6e..914e73ed4b 100644 --- a/lily/span-bar-stub-engraver.cc +++ b/lily/span-bar-stub-engraver.cc @@ -27,6 +27,8 @@ #include "pointer-group-interface.hh" #include "engraver.hh" +#include "translator.icc" + /* The Span_bar_stub_engraver creates SpanBarStub grobs in the contexts that a grouping context contains. For example, if a PianoStaff contains @@ -53,14 +55,15 @@ class Span_bar_stub_engraver : public Engraver public: TRANSLATOR_DECLARATIONS (Span_bar_stub_engraver); protected: - DECLARE_ACKNOWLEDGER (span_bar); - DECLARE_ACKNOWLEDGER (hara_kiri_group_spanner); + void acknowledge_span_bar (Grob_info); + void acknowledge_hara_kiri_group_spanner (Grob_info); void process_acknowledged (); void stop_translation_timestep (); virtual void derived_mark () const; }; -Span_bar_stub_engraver::Span_bar_stub_engraver () +Span_bar_stub_engraver::Span_bar_stub_engraver (Context *c) + : Engraver (c) { axis_groups_ = SCM_EOL; } @@ -146,8 +149,7 @@ Span_bar_stub_engraver::process_acknowledged () Item *it = new Item (Grob_property_info (affected_contexts[j], ly_symbol2scm ("SpanBarStub")).updated ()); it->set_parent (spanbars_[i], X_AXIS); Grob_info gi = make_grob_info (it, spanbars_[i]->self_scm ()); - gi.rerouting_daddy_context_ = affected_contexts[j]; - announce_grob (gi); + announce_grob (gi, affected_contexts[j]); if (!keep_extent[j]) it->suicide (); } @@ -174,10 +176,13 @@ Span_bar_stub_engraver::stop_translation_timestep () axis_groups_ = axis_groups; } -#include "translator.icc" +void +Span_bar_stub_engraver::boot () +{ + ADD_ACKNOWLEDGER (Span_bar_stub_engraver, span_bar); + ADD_ACKNOWLEDGER (Span_bar_stub_engraver, hara_kiri_group_spanner); +} -ADD_ACKNOWLEDGER (Span_bar_stub_engraver, span_bar); -ADD_ACKNOWLEDGER (Span_bar_stub_engraver, hara_kiri_group_spanner); ADD_TRANSLATOR (Span_bar_stub_engraver, /* doc */ "Make stubs for span bars in all contexts that the span bars cross.",