X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ffingering-engraver.cc;h=3b4b9dc6fb86aca51994d9389a65050eba2f6e1a;hb=333ec20b00d7e6952cb7d3800a82548957feb803;hp=867e93d38279ed8816fa38120d36b83510690f8a;hpb=b1323f33e9aa4b9eea05eefb8755c907d4d762d4;p=lilypond.git diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index 867e93d382..3b4b9dc6fb 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -22,7 +22,7 @@ class Fingering_engraver : public Engraver Link_array fingerings_; public: - TRANSLATOR_DECLARATIONS(Fingering_engraver); + TRANSLATOR_DECLARATIONS (Fingering_engraver); protected: virtual bool try_music (Music* m); virtual void stop_translation_timestep (); @@ -30,7 +30,8 @@ protected: virtual void process_music (); virtual void acknowledge_grob (Grob_info); - void make_script (Direction, Music*,Axis, int); +private: + void make_script (Direction, Music*, int); }; bool @@ -51,7 +52,7 @@ Fingering_engraver::acknowledge_grob (Grob_info inf) { for (int i=0; i < fingerings_.size (); i++) { - Side_position_interface::add_support (fingerings_[i],inf.grob_); + Side_position_interface::add_support (fingerings_[i], inf.grob_); } } else if (Rhythmic_head::has_interface (inf.grob_)) @@ -61,7 +62,7 @@ Fingering_engraver::acknowledge_grob (Grob_info inf) Grob*t = fingerings_[i]; Side_position_interface::add_support (t,inf.grob_); if (!t->get_parent (X_AXIS)) - t->set_parent (inf.grob_, X_AXIS); + t->set_parent (inf.grob_, X_AXIS); } } } @@ -69,53 +70,62 @@ Fingering_engraver::acknowledge_grob (Grob_info inf) void Fingering_engraver::process_music () { - for (int i= reqs_.size(); i--;) + for (int i= reqs_.size (); i--;) { SCM dir = reqs_[i]->get_property ("direction"); - make_script (to_dir (dir), reqs_[i], Y_AXIS, i); + make_script (to_dir (dir), reqs_[i], i); } } + void -Fingering_engraver::make_script (Direction d, Music *r,Axis a, int i) +Fingering_engraver::make_script (Direction d, Music *r, int i) { Item *fingering = make_item ("Fingering"); - + Axis a = Y_AXIS; Axis other = other_axis (a); + /* + Huh, what's this for? --hwn. + + junkme. + */ SCM pitch = r->get_property ("pitch"); if (unsmob_pitch (pitch)) fingering->set_property ("pitch", pitch); - + + /* + We can't fold these definitions into define-grobs since + fingerings for chords need different settings. + */ Side_position_interface::set_axis (fingering, a); - fingering->add_offset_callback (Self_alignment_interface::aligned_on_self_proc, other); fingering->add_offset_callback (Self_alignment_interface::centered_on_parent_proc, other); // Hmm int priority = 200; SCM s = fingering->get_property ("script-priority"); - if (gh_number_p (s)) - priority = gh_scm2int (s); + if (is_number (s)) + priority = ly_scm2int (s); /* See script-engraver.cc */ priority += i; - fingering->set_property ("script-priority", gh_int2scm (priority)); + fingering->set_property ("script-priority", scm_int2num (priority)); if (!is_direction (fingering->get_property ("direction"))) { if (d) - fingering->set_property ("direction", gh_int2scm (d)); + fingering->set_property ("direction", scm_int2num (d)); else - fingering->set_property ("direction", gh_int2scm (RIGHT)); + fingering->set_property ("direction", scm_int2num (RIGHT)); } SCM dig = r->get_property ("digit"); - fingering->set_property ("text", scm_number_to_string (dig, gh_int2scm (10))); + fingering->set_property ("text", scm_number_to_string (dig, scm_int2num (10))); - announce_grob (fingering, r->self_scm()); + announce_grob (fingering, r->self_scm ()); fingerings_.push (fingering); } @@ -139,12 +149,12 @@ Fingering_engraver::start_translation_timestep () reqs_.clear (); } -Fingering_engraver::Fingering_engraver() +Fingering_engraver::Fingering_engraver () { } -ENTER_DESCRIPTION(Fingering_engraver, +ENTER_DESCRIPTION (Fingering_engraver, /* descr */ "Create fingering-scripts", /* creats*/ "Fingering", /* accepts */ "fingering-event",