X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fslur-engraver.cc;h=c0c783f3a038df28998e2b99bdb2f52a341829f7;hb=ffc7faa048d5c54c1c38024b80212f5f789a4361;hp=e1e738b568e793344306d277a9535aaf9885349d;hpb=058370efc7e9710f149d0f444328bb1fcd7bdec1;p=lilypond.git diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index e1e738b568..c0c783f3a0 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -35,11 +35,10 @@ class Slur_engraver : public Slur_proto_engraver { virtual void set_melisma (bool); -protected: - DECLARE_TRANSLATOR_LISTENER (slur); - public: + SCM event_symbol (); TRANSLATOR_DECLARATIONS (Slur_engraver); + TRANSLATOR_INHERIT (Slur_proto_engraver); }; Slur_engraver::Slur_engraver () : @@ -47,11 +46,11 @@ Slur_engraver::Slur_engraver () : { } -IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, slur); -void -Slur_engraver::listen_slur (Stream_event *ev) +SCM +Slur_engraver::event_symbol () { - internal_listen_slur (ev); + // Need a string constant for memoization + return ly_symbol2scm ("slur-event"); } void @@ -60,14 +59,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_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); +} + ADD_TRANSLATOR (Slur_engraver, /* doc */ "Build slur grobs from slur events.",