LEFT | RIGHT |
(no file at all) | |
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) 2004--2019 Han-Wen Nienhuys | 4 Copyright (C) 2004--2019 Han-Wen Nienhuys |
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 15 matching lines...) Expand all Loading... |
26 #include "warn.hh" | 26 #include "warn.hh" |
27 #include "lily-imports.hh" | 27 #include "lily-imports.hh" |
28 | 28 |
29 class Part_combine_iterator : public Music_iterator | 29 class Part_combine_iterator : public Music_iterator |
30 { | 30 { |
31 public: | 31 public: |
32 Part_combine_iterator (); | 32 Part_combine_iterator (); |
33 | 33 |
34 DECLARE_SCHEME_CALLBACK (constructor, ()); | 34 DECLARE_SCHEME_CALLBACK (constructor, ()); |
35 protected: | 35 protected: |
36 virtual void derived_substitute (Context *f, Context *t); | 36 void derived_substitute (Context *f, Context *t) override; |
37 virtual void derived_mark () const; | 37 void derived_mark () const override; |
38 | 38 |
39 virtual void construct_children (); | 39 void construct_children () override; |
40 virtual Moment pending_moment () const; | 40 Moment pending_moment () const override; |
41 virtual void do_quit (); | 41 void do_quit () override; |
42 virtual void process (Moment); | 42 void process (Moment) override; |
43 | 43 |
44 virtual bool ok () const; | 44 bool ok () const override; |
45 | 45 |
46 private: | 46 private: |
47 static const size_t NUM_PARTS = 2; | 47 static const size_t NUM_PARTS = 2; |
48 Music_iterator *iterators_[NUM_PARTS]; | 48 Music_iterator *iterators_[NUM_PARTS]; |
49 | 49 |
50 Stream_event *mmrest_event_; | 50 Stream_event *mmrest_event_; |
51 | 51 |
52 bool is_active_outlet (const Context *c) const; | 52 bool is_active_outlet (const Context *c) const; |
53 void kill_mmrest (Context *c); | 53 void kill_mmrest (Context *c); |
54 }; | 54 }; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 for (size_t i = 0; i < NUM_PARTS; i++) | 169 for (size_t i = 0; i < NUM_PARTS; i++) |
170 { | 170 { |
171 Context *c = prev_active_outlets[i]; | 171 Context *c = prev_active_outlets[i]; |
172 if (c && !is_active_outlet (c)) | 172 if (c && !is_active_outlet (c)) |
173 kill_mmrest (c); | 173 kill_mmrest (c); |
174 } | 174 } |
175 } | 175 } |
176 } | 176 } |
177 | 177 |
178 IMPLEMENT_CTOR_CALLBACK (Part_combine_iterator); | 178 IMPLEMENT_CTOR_CALLBACK (Part_combine_iterator); |
LEFT | RIGHT |