]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/new-fingering-engraver.cc
* mf/feta-bolletjes.mf (solfa_quarter_width): use
[lilypond.git] / lily / new-fingering-engraver.cc
index 2e8c94399ca16d79664a702dfa6bc05507914b43..03eecc480d8c128201ad9ecc91939b01dde19c72 100644 (file)
@@ -52,6 +52,7 @@ class New_fingering_engraver : public Engraver
   vector<Grob*> heads_;
   Grob *stem_;
 
+  void position_all ();
 public:
   TRANSLATOR_DECLARATIONS (New_fingering_engraver);
 protected:
@@ -120,10 +121,9 @@ New_fingering_engraver::add_script (Grob *head,
   if (g)
     {
       ft.script_ = g;
+      ft.script_->set_parent (head, X_AXIS);
 
       articulations_.push_back (ft);
-
-      ft.script_->set_parent (head, X_AXIS);
     }
 }
 
@@ -138,24 +138,12 @@ New_fingering_engraver::add_fingering (Grob *head,
 
   Side_position_interface::add_support (ft.script_, head);
 
-  int d = scm_to_int (event->get_property ("digit"));
-
   /*
     TODO:
 
     Should add support for thumb.  It's a little involved, since
     the thumb lives in a different font. Maybe it should be moved?
-
   */
-  if (d > 5)
-    {
-      /*
-       music for the softenon children?
-      */
-      event->origin ()->warning (_ ("music for the martians."));
-    }
-  SCM sstr = scm_number_to_string (scm_from_int (d), scm_from_int (10));
-  ft.script_->set_property ("text", sstr);
 
   ft.finger_event_ = event;
   ft.note_event_ = hevent;
@@ -175,11 +163,6 @@ New_fingering_engraver::add_string (Grob *head,
 
   Side_position_interface::add_support (ft.script_, head);
 
-  int d = scm_to_int (event->get_property ("string-number"));
-
-  SCM sstr = scm_number_to_string (scm_from_int (d), scm_from_int (10));
-  ft.script_->set_property ("text", sstr);
-
   ft.finger_event_ = event;
   ft.note_event_ = hevent;
   ft.head_ = head;
@@ -307,6 +290,15 @@ New_fingering_engraver::position_scripts (SCM orientations,
 
 void
 New_fingering_engraver::stop_translation_timestep ()
+{
+  position_all();
+  stem_ = 0;
+  heads_.clear ();
+}
+
+
+void
+New_fingering_engraver::position_all ()
 {
   if (fingerings_.size ())
     {
@@ -334,12 +326,7 @@ New_fingering_engraver::stop_translation_timestep ()
 
       if (stem_ && to_boolean (script->get_property ("add-stem-support")))
        Side_position_interface::add_support (script, stem_);
-
-
     }
-
-  stem_ = 0;
-  heads_.clear ();
   articulations_.clear ();
 }
 
@@ -347,6 +334,8 @@ New_fingering_engraver::New_fingering_engraver ()
 {
   stem_ = 0;
 }
+
+
 ADD_ACKNOWLEDGER (New_fingering_engraver, rhythmic_head);
 ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
 
@@ -354,7 +343,13 @@ ADD_TRANSLATOR (New_fingering_engraver,
                /* doc */ "Create fingering-scripts for notes in a new chord.  "
                "This engraver is ill-named, since it "
                "also takes care of articulations and harmonic note heads",
-               /* create */ "Fingering",
+               /* create */
+               "Fingering",
                /* accept */ "",
-               /* read */ "fingeringOrientations",
+               /* read */
+               
+               "fingeringOrientations "
+               "stringNumberOrientations "
+               ,
+               
                /* write */ "");