OLD | NEW |
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) 2011--2012 Mike Solomon <mike@apollinemike.com> | 4 Copyright (C) 2011--2012 Mike Solomon <mike@apollinemike.com> |
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 16 matching lines...) Expand all Loading... |
27 class Beam_collision_engraver : public Engraver | 27 class Beam_collision_engraver : public Engraver |
28 { | 28 { |
29 protected: | 29 protected: |
30 vector<Grob_info> beams_; | 30 vector<Grob_info> beams_; |
31 vector<Grob_info> covered_grobs_; | 31 vector<Grob_info> covered_grobs_; |
32 | 32 |
33 DECLARE_ACKNOWLEDGER (note_head); | 33 DECLARE_ACKNOWLEDGER (note_head); |
34 DECLARE_ACKNOWLEDGER (stem); | 34 DECLARE_ACKNOWLEDGER (stem); |
35 DECLARE_ACKNOWLEDGER (accidental); | 35 DECLARE_ACKNOWLEDGER (accidental); |
36 DECLARE_ACKNOWLEDGER (clef); | 36 DECLARE_ACKNOWLEDGER (clef); |
| 37 DECLARE_ACKNOWLEDGER (octavate_eight); |
37 DECLARE_ACKNOWLEDGER (key_signature); | 38 DECLARE_ACKNOWLEDGER (key_signature); |
38 DECLARE_ACKNOWLEDGER (time_signature); | 39 DECLARE_ACKNOWLEDGER (time_signature); |
39 DECLARE_ACKNOWLEDGER (beam); | 40 DECLARE_ACKNOWLEDGER (beam); |
40 DECLARE_ACKNOWLEDGER (flag); | 41 DECLARE_ACKNOWLEDGER (flag); |
41 | 42 |
42 virtual void finalize (); | 43 virtual void finalize (); |
43 | 44 |
44 private: | 45 private: |
45 bool covered_grob_has_interface (Grob *covered_grob, Grob *beam); | 46 bool covered_grob_has_interface (Grob *covered_grob, Grob *beam); |
46 | 47 |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 covered_grobs_.push_back (i); | 160 covered_grobs_.push_back (i); |
160 } | 161 } |
161 | 162 |
162 void | 163 void |
163 Beam_collision_engraver::acknowledge_key_signature (Grob_info i) | 164 Beam_collision_engraver::acknowledge_key_signature (Grob_info i) |
164 { | 165 { |
165 covered_grobs_.push_back (i); | 166 covered_grobs_.push_back (i); |
166 } | 167 } |
167 | 168 |
168 void | 169 void |
| 170 Beam_collision_engraver::acknowledge_octavate_eight (Grob_info i) |
| 171 { |
| 172 covered_grobs_.push_back (i); |
| 173 } |
| 174 |
| 175 void |
169 Beam_collision_engraver::acknowledge_time_signature (Grob_info i) | 176 Beam_collision_engraver::acknowledge_time_signature (Grob_info i) |
170 { | 177 { |
171 covered_grobs_.push_back (i); | 178 covered_grobs_.push_back (i); |
172 } | 179 } |
173 | 180 |
174 void | 181 void |
175 Beam_collision_engraver::acknowledge_flag (Grob_info i) | 182 Beam_collision_engraver::acknowledge_flag (Grob_info i) |
176 { | 183 { |
177 covered_grobs_.push_back (i); | 184 covered_grobs_.push_back (i); |
178 } | 185 } |
179 | 186 |
180 void | 187 void |
181 Beam_collision_engraver::acknowledge_beam (Grob_info i) | 188 Beam_collision_engraver::acknowledge_beam (Grob_info i) |
182 { | 189 { |
183 beams_.push_back (i); | 190 beams_.push_back (i); |
184 covered_grobs_.push_back (i); | 191 covered_grobs_.push_back (i); |
185 } | 192 } |
186 | 193 |
187 #include "translator.icc" | 194 #include "translator.icc" |
188 | 195 |
189 ADD_ACKNOWLEDGER (Beam_collision_engraver, note_head); | 196 ADD_ACKNOWLEDGER (Beam_collision_engraver, note_head); |
190 ADD_ACKNOWLEDGER (Beam_collision_engraver, stem); | 197 ADD_ACKNOWLEDGER (Beam_collision_engraver, stem); |
191 ADD_ACKNOWLEDGER (Beam_collision_engraver, accidental); | 198 ADD_ACKNOWLEDGER (Beam_collision_engraver, accidental); |
192 ADD_ACKNOWLEDGER (Beam_collision_engraver, clef); | 199 ADD_ACKNOWLEDGER (Beam_collision_engraver, clef); |
193 ADD_ACKNOWLEDGER (Beam_collision_engraver, key_signature); | 200 ADD_ACKNOWLEDGER (Beam_collision_engraver, key_signature); |
194 ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature); | 201 ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature); |
| 202 ADD_ACKNOWLEDGER (Beam_collision_engraver, octavate_eight); |
195 ADD_ACKNOWLEDGER (Beam_collision_engraver, flag); | 203 ADD_ACKNOWLEDGER (Beam_collision_engraver, flag); |
196 ADD_ACKNOWLEDGER (Beam_collision_engraver, beam); | 204 ADD_ACKNOWLEDGER (Beam_collision_engraver, beam); |
197 | 205 |
198 ADD_TRANSLATOR (Beam_collision_engraver, | 206 ADD_TRANSLATOR (Beam_collision_engraver, |
199 /* doc */ | 207 /* doc */ |
200 "Help beams avoid colliding with notes and clefs in other voices
.", | 208 "Help beams avoid colliding with notes and clefs in other voices
.", |
201 | 209 |
202 /* create */ | 210 /* create */ |
203 "", | 211 "", |
204 | 212 |
205 /* read */ | 213 /* read */ |
206 "", | 214 "", |
207 | 215 |
208 /* write */ | 216 /* write */ |
209 "" | 217 "" |
210 ); | 218 ); |
OLD | NEW |