X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fphrasing-slur-engraver.cc;h=aeee14a1ee5d3ede63d92ee69fd5cb3d91df0fdd;hb=750b714488c5af6eae22d07163bba8b554734ac6;hp=0a571dc79e29d6c9554a6510d293fc01907e932f;hpb=6f95e02682255e985808947461fafcc5fcc3f060;p=lilypond.git diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index 0a571dc79e..aeee14a1ee 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -17,65 +17,72 @@ 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_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_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"); } -IMPLEMENT_TRANSLATOR_LISTENER (Phrasing_slur_engraver, phrasing_slur); -void -Phrasing_slur_engraver::listen_phrasing_slur (Stream_event *ev) +const char * +Phrasing_slur_engraver::object_name () const +{ + return "phrasing slur"; +} + +Phrasing_slur_engraver::Phrasing_slur_engraver (Context *c) + : Slur_engraver (c) { - Slur_proto_engraver::listen_slur (ev); } void -Phrasing_slur_engraver::acknowledge_slur (Grob_info info) +Phrasing_slur_engraver::set_melisma (bool) { - acknowledge_extra_object (info); } -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, inline_accidental); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, fingering) -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, note_column); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, 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); +void +Phrasing_slur_engraver::boot () +{ + ADD_LISTENER_FOR (Phrasing_slur_engraver, slur, phrasing_slur); + ADD_LISTENER (Phrasing_slur_engraver, note); + 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_FOR (Phrasing_slur_engraver, extra_object, slur); + ADD_ACKNOWLEDGER (Phrasing_slur_engraver, script); + 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, /* doc */