X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fslur-engraver.cc;h=f8b04658854a49c7f4ce39e1bf067bd5610a25f6;hb=7c36dbb1834c7c68e4b94777241de3ea02971aca;hp=b6661993c17fbcafa0774fe30362a7fa56b79d3c;hpb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;p=lilypond.git diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index b6661993c1..f8b0465885 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -36,10 +36,13 @@ class Slur_engraver : public Slur_proto_engraver virtual void set_melisma (bool); protected: - DECLARE_TRANSLATOR_LISTENER (slur); + void listen_slur (Stream_event *); + void listen_note (Stream_event *); public: + SCM event_symbol (); TRANSLATOR_DECLARATIONS (Slur_engraver); + TRANSLATOR_INHERIT (Slur_proto_engraver); }; Slur_engraver::Slur_engraver () : @@ -47,11 +50,23 @@ Slur_engraver::Slur_engraver () : { } -IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, slur); +SCM +Slur_engraver::event_symbol () +{ + // Need a string constant for memoization + return ly_symbol2scm ("slur-event"); +} + void Slur_engraver::listen_slur (Stream_event *ev) { - internal_listen_slur (ev); + Slur_proto_engraver::listen_slur (ev); +} + +void +Slur_engraver::listen_note (Stream_event *ev) +{ + Slur_proto_engraver::listen_note (ev); } void @@ -60,14 +75,21 @@ Slur_engraver::set_melisma (bool m) context ()->set_property ("slurMelismaBusy", ly_bool2scm (m)); } -ADD_ACKNOWLEDGER (Slur_engraver, inline_accidental); -ADD_ACKNOWLEDGER (Slur_engraver, fingering); -ADD_ACKNOWLEDGER (Slur_engraver, note_column); -ADD_ACKNOWLEDGER (Slur_engraver, script); -ADD_ACKNOWLEDGER (Slur_engraver, text_script); -ADD_ACKNOWLEDGER (Slur_engraver, dots); -ADD_END_ACKNOWLEDGER (Slur_engraver, tie); -ADD_ACKNOWLEDGER (Slur_engraver, tuplet_number); +void +Slur_engraver::boot () +{ + ADD_LISTENER (Slur_engraver, slur); + ADD_LISTENER (Slur_engraver, note); + ADD_ACKNOWLEDGER (Slur_proto_engraver, inline_accidental); + ADD_ACKNOWLEDGER (Slur_proto_engraver, fingering); + ADD_ACKNOWLEDGER (Slur_proto_engraver, note_column); + ADD_ACKNOWLEDGER (Slur_proto_engraver, script); + ADD_ACKNOWLEDGER (Slur_proto_engraver, text_script); + ADD_ACKNOWLEDGER (Slur_proto_engraver, dots); + ADD_END_ACKNOWLEDGER (Slur_proto_engraver, tie); + ADD_ACKNOWLEDGER (Slur_proto_engraver, tuplet_number); +} + ADD_TRANSLATOR (Slur_engraver, /* doc */ "Build slur grobs from slur events.",