vector<Grob*> heads_;
Grob *stem_;
+ void position_all ();
public:
TRANSLATOR_DECLARATIONS (New_fingering_engraver);
protected:
if (g)
{
ft.script_ = g;
+ ft.script_->set_parent (head, X_AXIS);
articulations_.push_back (ft);
-
- ft.script_->set_parent (head, X_AXIS);
}
}
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;
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;
void
New_fingering_engraver::stop_translation_timestep ()
+{
+ position_all();
+ stem_ = 0;
+ heads_.clear ();
+}
+
+
+void
+New_fingering_engraver::position_all ()
{
if (fingerings_.size ())
{
if (stem_ && to_boolean (script->get_property ("add-stem-support")))
Side_position_interface::add_support (script, stem_);
-
-
}
-
- stem_ = 0;
- heads_.clear ();
articulations_.clear ();
}
{
stem_ = 0;
}
+
+
ADD_ACKNOWLEDGER (New_fingering_engraver, rhythmic_head);
ADD_ACKNOWLEDGER (New_fingering_engraver, stem);
/* 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 */ "");