/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2012 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
{
virtual void set_melisma (bool);
-protected:
- DECLARE_TRANSLATOR_LISTENER (slur);
- DECLARE_TRANSLATOR_LISTENER (break_slur);
-
public:
+ SCM event_symbol ();
TRANSLATOR_DECLARATIONS (Slur_engraver);
+ TRANSLATOR_INHERIT (Slur_proto_engraver);
};
Slur_engraver::Slur_engraver () :
Slur_proto_engraver ("doubleSlurs", "Slur", "slur", "slur-event")
{
- break_slur_ = 0;
}
-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");
}
-IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, break_slur);
void
-Slur_engraver::listen_break_slur (Stream_event *ev)
+Slur_engraver::set_melisma (bool m)
{
- internal_listen_break_slur (ev);
+ context ()->set_property ("slurMelismaBusy", ly_bool2scm (m));
}
void
-Slur_engraver::set_melisma (bool m)
+Slur_engraver::boot ()
{
- context ()->set_property ("slurMelismaBusy", ly_bool2scm (m));
+ ADD_LISTENER (Slur_proto_engraver, slur);
+ ADD_LISTENER (Slur_proto_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_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.",