X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fphrasing-slur-engraver.cc;h=aeee14a1ee5d3ede63d92ee69fd5cb3d91df0fdd;hb=750b714488c5af6eae22d07163bba8b554734ac6;hp=c694c5337d49e03932e9ddf50f7f88afa871d9bf;hpb=716f5dce926234b662e2babbac5e851928c3e313;p=lilypond.git diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index c694c5337d..aeee14a1ee 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -17,78 +17,71 @@ along with LilyPond. If not, see . */ -#include "engraver.hh" - -#include "context.hh" -#include "directional-element-interface.hh" -#include "international.hh" -#include "note-column.hh" -#include "slur.hh" -#include "slur-proto-engraver.hh" -#include "spanner.hh" -#include "stream-event.hh" -#include "warn.hh" +#include "slur-engraver.hh" #include "translator.icc" -class Phrasing_slur_engraver : public Slur_proto_engraver +class Phrasing_slur_engraver : public Slur_engraver { -protected: - DECLARE_TRANSLATOR_LISTENER (phrasing_slur); - DECLARE_TRANSLATOR_LISTENER (note); - DECLARE_ACKNOWLEDGER (slur); + virtual SCM event_symbol () const; + virtual bool double_property () const; + virtual SCM grob_symbol () const; + virtual const char* object_name () const; + virtual void set_melisma (bool); public: - SCM event_symbol (); TRANSLATOR_DECLARATIONS (Phrasing_slur_engraver); - TRANSLATOR_INHERIT (Slur_proto_engraver); + TRANSLATOR_INHERIT (Slur_engraver); }; -Phrasing_slur_engraver::Phrasing_slur_engraver () : - Slur_proto_engraver (0, "PhrasingSlur", "phrasing slur", "phrasing-slur-event") +SCM +Phrasing_slur_engraver::event_symbol () const +{ + return ly_symbol2scm ("phrasing-slur-event"); +} + +bool +Phrasing_slur_engraver::double_property () const { + return false; } SCM -Phrasing_slur_engraver::event_symbol () +Phrasing_slur_engraver::grob_symbol () const { - // Need a string constant for memoization - return ly_symbol2scm ("phrasing-slur-event"); + return ly_symbol2scm ("PhrasingSlur"); } -void -Phrasing_slur_engraver::listen_phrasing_slur (Stream_event *ev) +const char * +Phrasing_slur_engraver::object_name () const { - Slur_proto_engraver::listen_slur (ev); + return "phrasing slur"; } -void -Phrasing_slur_engraver::listen_note (Stream_event *ev) +Phrasing_slur_engraver::Phrasing_slur_engraver (Context *c) + : Slur_engraver (c) { - Slur_proto_engraver::listen_note (ev); } void -Phrasing_slur_engraver::acknowledge_slur (Grob_info info) +Phrasing_slur_engraver::set_melisma (bool) { - acknowledge_extra_object (info); } - void Phrasing_slur_engraver::boot () { - ADD_LISTENER (Phrasing_slur_engraver, phrasing_slur); + ADD_LISTENER_FOR (Phrasing_slur_engraver, slur, phrasing_slur); ADD_LISTENER (Phrasing_slur_engraver, note); - ADD_ACKNOWLEDGER (Phrasing_slur_engraver, inline_accidental); - ADD_ACKNOWLEDGER (Phrasing_slur_engraver, fingering); + ADD_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, inline_accidental); + ADD_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, fingering); ADD_ACKNOWLEDGER (Phrasing_slur_engraver, note_column); - ADD_ACKNOWLEDGER (Phrasing_slur_engraver, slur); + ADD_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, slur); ADD_ACKNOWLEDGER (Phrasing_slur_engraver, script); - ADD_ACKNOWLEDGER (Phrasing_slur_engraver, dots); - ADD_ACKNOWLEDGER (Phrasing_slur_engraver, text_script); - ADD_END_ACKNOWLEDGER (Phrasing_slur_engraver, tie); - ADD_ACKNOWLEDGER (Phrasing_slur_engraver, tuplet_number); + ADD_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, dots); + ADD_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, text_script); + ADD_END_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, tie); + ADD_ACKNOWLEDGER_FOR (Phrasing_slur_engraver, extra_object, tuplet_number); } ADD_TRANSLATOR (Phrasing_slur_engraver,