Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(957)

Unified Diff: lily/new-fingering-engraver.cc

Issue 346920043: issue 5393: Another fingering vs. accidental problem
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « input/regression/finger-chords-dot.ly ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lily/new-fingering-engraver.cc
diff --git a/lily/new-fingering-engraver.cc b/lily/new-fingering-engraver.cc
index 06a3a8da9666669d7ab2d95672f167158887fe1b..1e82ed701c79c83b65df49662a0e53164c4aac59 100644
--- a/lily/new-fingering-engraver.cc
+++ b/lily/new-fingering-engraver.cc
@@ -78,7 +78,6 @@ protected:
vector<Finger_tuple> *,
Stream_event *, Stream_event *);
void add_script (Grob *, Stream_event *, Stream_event *);
- void add_string (Grob *, Stream_event *, Stream_event *);
void position_scripts (SCM orientations, vector<Finger_tuple> *);
};
@@ -282,11 +281,27 @@ New_fingering_engraver::position_scripts (SCM orientations,
&& unsmob<Grob> (ft.head_->get_object ("accidental-grob")))
Side_position_interface::add_support (f,
unsmob<Grob> (ft.head_->get_object ("accidental-grob")));
- else if (unsmob<Grob> (ft.head_->get_object ("dot")))
- Side_position_interface::add_support (f,
- unsmob<Grob> (ft.head_->get_object ("dot")));
+ else if (Rhythmic_head::dot_count (ft.head_))
+ for (vsize j = 0; j < heads_.size (); j++)
+ if (Grob *d = unsmob<Grob> (heads_[j]->get_object ("dot")))
+ Side_position_interface::add_support (f, d);
+
+ if (horiz.size () > 1) /* -> FingeringColumn */
+ {
+ Stencil *fs = f->get_stencil ();
+ fs->align_to (Y_AXIS, CENTER);
+ }
+ else
+ {
+ SCM self_align_y =
+ Self_alignment_interface::aligned_on_parent (f, Y_AXIS);
+ SCM yoff= f->get_property ("Y-offset");
+ if (scm_is_number (yoff))
+ self_align_y = scm_from_double (scm_to_double (self_align_y)
+ + scm_to_double (yoff));
+ f->set_property ("Y-offset", self_align_y);
+ }
- Self_alignment_interface::set_aligned_on_parent (f, Y_AXIS);
Side_position_interface::set_axis (f, X_AXIS);
f->set_property ("direction", scm_from_int (hordir));
« no previous file with comments | « input/regression/finger-chords-dot.ly ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b