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

Side by Side Diff: lily/fingering-engraver.cc

Issue 6827072: Uses single algorithm for side-position spacing. (Closed) Base URL: http://git.savannah.gnu.org/gitweb/?p=lilypond.git/trunk/
Patch Set: Uses cross-staff note columns for pure height estimations Created 12 years, 3 months ago
Left:
Right:
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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 This file is part of LilyPond, the GNU music typesetter. 2 This file is part of LilyPond, the GNU music typesetter.
3 3
4 Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> 4 Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
5 5
6 LilyPond is free software: you can redistribute it and/or modify 6 LilyPond is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or 8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
(...skipping 23 matching lines...) Expand all
34 vector<Item *> fingerings_; 34 vector<Item *> fingerings_;
35 35
36 public: 36 public:
37 TRANSLATOR_DECLARATIONS (Fingering_engraver); 37 TRANSLATOR_DECLARATIONS (Fingering_engraver);
38 protected: 38 protected:
39 void stop_translation_timestep (); 39 void stop_translation_timestep ();
40 void process_music (); 40 void process_music ();
41 DECLARE_TRANSLATOR_LISTENER (fingering); 41 DECLARE_TRANSLATOR_LISTENER (fingering);
42 DECLARE_ACKNOWLEDGER (rhythmic_head); 42 DECLARE_ACKNOWLEDGER (rhythmic_head);
43 DECLARE_ACKNOWLEDGER (stem); 43 DECLARE_ACKNOWLEDGER (stem);
44 DECLARE_ACKNOWLEDGER (flag);
44 45
45 private: 46 private:
46 void make_script (Direction, Stream_event *, int); 47 void make_script (Direction, Stream_event *, int);
47 }; 48 };
48 49
49 IMPLEMENT_TRANSLATOR_LISTENER (Fingering_engraver, fingering); 50 IMPLEMENT_TRANSLATOR_LISTENER (Fingering_engraver, fingering);
50 void 51 void
51 Fingering_engraver::listen_fingering (Stream_event *ev) 52 Fingering_engraver::listen_fingering (Stream_event *ev)
52 { 53 {
53 events_.push_back (ev); 54 events_.push_back (ev);
54 } 55 }
55 56
56 void 57 void
57 Fingering_engraver::acknowledge_stem (Grob_info inf) 58 Fingering_engraver::acknowledge_stem (Grob_info inf)
58 { 59 {
59 for (vsize i = 0; i < fingerings_.size (); i++) 60 for (vsize i = 0; i < fingerings_.size (); i++)
60 Side_position_interface::add_support (fingerings_[i], inf.grob ()); 61 Side_position_interface::add_support (fingerings_[i], inf.grob ());
61 } 62 }
62 63
63 void 64 void
65 Fingering_engraver::acknowledge_flag (Grob_info inf)
66 {
67 for (vsize i = 0; i < fingerings_.size (); i++)
68 Side_position_interface::add_support (fingerings_[i], inf.grob ());
69 }
70
71 void
64 Fingering_engraver::acknowledge_rhythmic_head (Grob_info inf) 72 Fingering_engraver::acknowledge_rhythmic_head (Grob_info inf)
65 { 73 {
66 for (vsize i = 0; i < fingerings_.size (); i++) 74 for (vsize i = 0; i < fingerings_.size (); i++)
67 { 75 {
68 Grob *t = fingerings_[i]; 76 Grob *t = fingerings_[i];
69 Side_position_interface::add_support (t, inf.grob ()); 77 Side_position_interface::add_support (t, inf.grob ());
70 if (!t->get_parent (X_AXIS)) 78 if (!t->get_parent (X_AXIS))
71 t->set_parent (inf.grob (), X_AXIS); 79 t->set_parent (inf.grob (), X_AXIS);
72 } 80 }
73 } 81 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 fingerings_.clear (); 140 fingerings_.clear ();
133 events_.clear (); 141 events_.clear ();
134 } 142 }
135 143
136 Fingering_engraver::Fingering_engraver () 144 Fingering_engraver::Fingering_engraver ()
137 { 145 {
138 } 146 }
139 147
140 ADD_ACKNOWLEDGER (Fingering_engraver, rhythmic_head); 148 ADD_ACKNOWLEDGER (Fingering_engraver, rhythmic_head);
141 ADD_ACKNOWLEDGER (Fingering_engraver, stem); 149 ADD_ACKNOWLEDGER (Fingering_engraver, stem);
150 ADD_ACKNOWLEDGER (Fingering_engraver, flag);
142 151
143 ADD_TRANSLATOR (Fingering_engraver, 152 ADD_TRANSLATOR (Fingering_engraver,
144 /* doc */ 153 /* doc */
145 "Create fingering scripts.", 154 "Create fingering scripts.",
146 155
147 /* create */ 156 /* create */
148 "Fingering ", 157 "Fingering ",
149 158
150 /* read */ 159 /* read */
151 "", 160 "",
152 161
153 /* write */ 162 /* write */
154 "" 163 ""
155 ); 164 );
OLDNEW

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