LEFT | RIGHT |
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) 2000--2011 Jan Nieuwenhuizen <janneke@gnu.org> | 4 Copyright (C) 2000--2011 Jan Nieuwenhuizen <janneke@gnu.org> |
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 |
11 LilyPond is distributed in the hope that it will be useful, | 11 LilyPond is distributed in the hope that it will be useful, |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 GNU General Public License for more details. | 14 GNU General Public License for more details. |
15 | 15 |
16 You should have received a copy of the GNU General Public License | 16 You should have received a copy of the GNU General Public License |
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>. | 17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>. |
18 */ | 18 */ |
19 | 19 |
20 #include "engraver.hh" | 20 #include "engraver.hh" |
21 | 21 |
22 #include "international.hh" | 22 #include "international.hh" |
23 #include "pointer-group-interface.hh" | 23 #include "pointer-group-interface.hh" |
24 #include "rhythmic-head.hh" | 24 #include "rhythmic-head.hh" |
25 #include "spanner.hh" | 25 #include "spanner.hh" |
| 26 #include "stem.hh" |
26 #include "stream-event.hh" | 27 #include "stream-event.hh" |
27 #include "warn.hh" | 28 #include "warn.hh" |
28 #include "item.hh" | 29 #include "item.hh" |
29 | 30 |
30 #include "translator.icc" | 31 #include "translator.icc" |
31 | 32 |
32 class Glissando_engraver : public Engraver | 33 class Glissando_engraver : public Engraver |
33 { | 34 { |
34 public: | 35 public: |
35 TRANSLATOR_DECLARATIONS (Glissando_engraver); | 36 TRANSLATOR_DECLARATIONS (Glissando_engraver); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 { | 73 { |
73 if (event_) | 74 if (event_) |
74 start_glissandi = true; | 75 start_glissandi = true; |
75 } | 76 } |
76 | 77 |
77 void | 78 void |
78 Glissando_engraver::acknowledge_note_column (Grob_info info) | 79 Glissando_engraver::acknowledge_note_column (Grob_info info) |
79 { | 80 { |
80 Grob *g = info.grob (); | 81 Grob *g = info.grob (); |
81 if (Grob *stem = unsmob_grob (g->get_object ("stem"))) | 82 if (Grob *stem = unsmob_grob (g->get_object ("stem"))) |
82 if (ly_is_procedure (stem->get_property_data ("glissando-stem"))) | 83 if (Glissando_stem::has_interface (stem)) |
83 { | 84 { |
84 for (vsize i = 0; i < lines_.size (); i++) | 85 for (vsize i = 0; i < lines_.size (); i++) |
85 Pointer_group_interface::add_grob (stem, ly_symbol2scm ("glissandi"),
lines_[i]); | 86 Pointer_group_interface::add_grob (stem, ly_symbol2scm ("glissandi"),
lines_[i]); |
86 return; | 87 return; |
87 } | 88 } |
88 | 89 |
89 if (stop_glissandi) | 90 if (stop_glissandi) |
90 { | 91 { |
91 extract_grob_set (g, "note-heads", note_heads); | 92 extract_grob_set (g, "note-heads", note_heads); |
92 int glissando_index = 0; | 93 int glissando_index = 0; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 | 184 |
184 /* create */ | 185 /* create */ |
185 "Glissando ", | 186 "Glissando ", |
186 | 187 |
187 /* read */ | 188 /* read */ |
188 "glissandoMap ", | 189 "glissandoMap ", |
189 | 190 |
190 /* write */ | 191 /* write */ |
191 "" | 192 "" |
192 ); | 193 ); |
LEFT | RIGHT |