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) 1996--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 1996--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 Jan Nieuwenhuizen <janneke@gnu.org> | 5 Jan Nieuwenhuizen <janneke@gnu.org> |
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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 | 160 |
161 Real staff_radius_; | 161 Real staff_radius_; |
162 Drul_array<int> edge_beam_counts_; | 162 Drul_array<int> edge_beam_counts_; |
163 Drul_array<Direction> edge_dirs_; | 163 Drul_array<Direction> edge_dirs_; |
164 | 164 |
165 // Half-open intervals, representing allowed positions for the beam, | 165 // Half-open intervals, representing allowed positions for the beam, |
166 // starting from close to the notehead to the direction of the stem | 166 // starting from close to the notehead to the direction of the stem |
167 // end. This is used for quickly weeding out invalid | 167 // end. This is used for quickly weeding out invalid |
168 // Beam_configurations. | 168 // Beam_configurations. |
169 Drul_array<Interval> quant_range_; | 169 Drul_array<Interval> quant_range_; |
| 170 int max_beam_count_; |
| 171 Real length_fraction_; |
170 Real beam_translation_; | 172 Real beam_translation_; |
171 std::vector<Beam_collision> collisions_; | 173 std::vector<Beam_collision> collisions_; |
172 std::vector<Beam_segment> segments_; | 174 std::vector<Beam_segment> segments_; |
173 | 175 |
174 vsize first_normal_index (); | 176 vsize first_normal_index (); |
175 vsize last_normal_index (); | 177 vsize last_normal_index (); |
176 | 178 |
177 void init_instance_variables (Grob *me, Drul_array<Real> ys, bool align_broken
_intos); | 179 void init_instance_variables (Grob *me, Drul_array<Real> ys, bool align_broken
_intos); |
178 void add_collision (Real x, Interval y, Real factor); | 180 void add_collision (Real x, Interval y, Real factor); |
179 void no_visible_stem_positions (); | 181 void no_visible_stem_positions (); |
(...skipping 16 matching lines...) Expand all Loading... |
196 void score_slope_direction (Beam_configuration *config) const; | 198 void score_slope_direction (Beam_configuration *config) const; |
197 void score_slope_musical (Beam_configuration *config) const; | 199 void score_slope_musical (Beam_configuration *config) const; |
198 void score_stem_lengths (Beam_configuration *config) const; | 200 void score_stem_lengths (Beam_configuration *config) const; |
199 void | 201 void |
200 generate_quants (std::vector<std::unique_ptr<Beam_configuration>> *scores) | 202 generate_quants (std::vector<std::unique_ptr<Beam_configuration>> *scores) |
201 const; | 203 const; |
202 void score_collisions (Beam_configuration *config) const; | 204 void score_collisions (Beam_configuration *config) const; |
203 }; | 205 }; |
204 | 206 |
205 #endif /* BEAM_SCORING_PROBLEM_HH */ | 207 #endif /* BEAM_SCORING_PROBLEM_HH */ |
OLD | NEW |