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) 2005--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 2005--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 | 5 |
6 | 6 |
7 LilyPond is free software: you can redistribute it and/or modify | 7 LilyPond is free software: you can redistribute it and/or modify |
8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
9 the Free Software Foundation, either version 3 of the License, or | 9 the Free Software Foundation, either version 3 of the License, or |
10 (at your option) any later version. | 10 (at your option) any later version. |
(...skipping 22 matching lines...) Expand all Loading... |
33 { | 33 { |
34 TRANSLATOR_DECLARATIONS (Figured_bass_position_engraver); | 34 TRANSLATOR_DECLARATIONS (Figured_bass_position_engraver); |
35 | 35 |
36 Spanner *bass_figure_alignment_; | 36 Spanner *bass_figure_alignment_; |
37 Spanner *positioner_; | 37 Spanner *positioner_; |
38 vector<Grob *> support_; | 38 vector<Grob *> support_; |
39 vector<Grob *> span_support_; | 39 vector<Grob *> span_support_; |
40 protected: | 40 protected: |
41 void acknowledge_note_column (Grob_info); | 41 void acknowledge_note_column (Grob_info); |
42 void acknowledge_slur (Grob_info); | 42 void acknowledge_slur (Grob_info); |
| 43 void acknowledge_stem (Grob_info); |
43 void acknowledge_end_slur (Grob_info); | 44 void acknowledge_end_slur (Grob_info); |
44 void acknowledge_end_tie (Grob_info); | 45 void acknowledge_end_tie (Grob_info); |
45 void acknowledge_bass_figure_alignment (Grob_info); | 46 void acknowledge_bass_figure_alignment (Grob_info); |
46 void acknowledge_end_bass_figure_alignment (Grob_info); | 47 void acknowledge_end_bass_figure_alignment (Grob_info); |
47 | 48 |
48 void finalize () override; | 49 void finalize () override; |
49 void start_spanner (); | 50 void start_spanner (); |
50 void stop_spanner (); | 51 void stop_spanner (); |
51 void stop_translation_timestep (); | 52 void stop_translation_timestep (); |
52 }; | 53 }; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 stop_spanner (); | 87 stop_spanner (); |
87 } | 88 } |
88 | 89 |
89 void | 90 void |
90 Figured_bass_position_engraver::acknowledge_note_column (Grob_info info) | 91 Figured_bass_position_engraver::acknowledge_note_column (Grob_info info) |
91 { | 92 { |
92 support_.push_back (info.grob ()); | 93 support_.push_back (info.grob ()); |
93 } | 94 } |
94 | 95 |
95 void | 96 void |
| 97 Figured_bass_position_engraver::acknowledge_stem (Grob_info info) |
| 98 { |
| 99 support_.push_back (info.grob ()); |
| 100 } |
| 101 |
| 102 void |
96 Figured_bass_position_engraver::acknowledge_end_slur (Grob_info info) | 103 Figured_bass_position_engraver::acknowledge_end_slur (Grob_info info) |
97 { | 104 { |
98 vector<Grob *>::iterator i = find (span_support_.begin (), span_support_.end (
), | 105 vector<Grob *>::iterator i = find (span_support_.begin (), span_support_.end (
), |
99 info.grob ()); | 106 info.grob ()); |
100 | 107 |
101 if (i < span_support_.end ()) | 108 if (i < span_support_.end ()) |
102 span_support_.erase (i); | 109 span_support_.erase (i); |
103 } | 110 } |
104 | 111 |
105 void | 112 void |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 { | 146 { |
140 bass_figure_alignment_ = dynamic_cast<Spanner *> (info.grob ()); | 147 bass_figure_alignment_ = dynamic_cast<Spanner *> (info.grob ()); |
141 start_spanner (); | 148 start_spanner (); |
142 } | 149 } |
143 | 150 |
144 void | 151 void |
145 Figured_bass_position_engraver::boot () | 152 Figured_bass_position_engraver::boot () |
146 { | 153 { |
147 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, note_column); | 154 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, note_column); |
148 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, slur); | 155 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, slur); |
| 156 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, stem); |
149 ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, slur); | 157 ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, slur); |
150 ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, tie); | 158 ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, tie); |
151 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment); | 159 ADD_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment); |
152 ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment); | 160 ADD_END_ACKNOWLEDGER (Figured_bass_position_engraver, bass_figure_alignment); |
153 } | 161 } |
154 | 162 |
155 ADD_TRANSLATOR (Figured_bass_position_engraver, | 163 ADD_TRANSLATOR (Figured_bass_position_engraver, |
156 /* doc */ | 164 /* doc */ |
157 "Position figured bass alignments over notes.", | 165 "Position figured bass alignments over notes.", |
158 | 166 |
159 /* create */ | 167 /* create */ |
160 "BassFigureAlignmentPositioning ", | 168 "BassFigureAlignmentPositioning ", |
161 | 169 |
162 /* read */ | 170 /* read */ |
163 "", | 171 "", |
164 | 172 |
165 /* write */ | 173 /* write */ |
166 "" | 174 "" |
167 ); | 175 ); |
OLD | NEW |