/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
protected:
DECLARE_TRANSLATOR_LISTENER (slur);
+ DECLARE_TRANSLATOR_LISTENER (note);
public:
+ SCM event_symbol ();
TRANSLATOR_DECLARATIONS (Slur_engraver);
+ TRANSLATOR_INHERIT (Slur_proto_engraver);
};
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
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.",