]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/slur-engraver.cc
Issue 4903/3: Restructure slur engravers
[lilypond.git] / lily / slur-engraver.cc
index 359ab78ef9c1a63bd27a712da9fb59a758d3eb0c..88495f4de2a1d5bc5e4ca808229f0bac7a838716 100644 (file)
 
 class Slur_engraver : public Slur_proto_engraver
 {
+  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 (Slur_engraver);
   TRANSLATOR_INHERIT (Slur_proto_engraver);
 };
 
-Slur_engraver::Slur_engraver () :
-  Slur_proto_engraver ("doubleSlurs", "Slur", "slur", "slur-event")
+SCM
+Slur_engraver::event_symbol () const
+{
+  return ly_symbol2scm ("slur-event");
+}
+
+bool
+Slur_engraver::double_property () const
 {
+  return to_boolean (get_property ("doubleSlurs"));
 }
 
 SCM
-Slur_engraver::event_symbol ()
+Slur_engraver::grob_symbol () const
+{
+  return ly_symbol2scm ("Slur");
+}
+
+const char *
+Slur_engraver::object_name () const
+{
+  return "slur";
+}
+
+Slur_engraver::Slur_engraver ()
 {
-  // Need a string constant for memoization
-  return ly_symbol2scm ("slur-event");
 }
 
 void