lilypond-1.3.16
[lilypond.git] / lily / include / pulk-voice.hh
blob085a0a3ff6bd166fcb9205198d1c4e9dafcce9ab
1 /*
2 pulk-voice.hh -- declare Pulk_voice
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
10 #ifndef PULK_VOICE_HH
11 #define PULK_VOICE_HH
13 #include "lily-proto.hh"
14 #include "lily-proto.hh"
15 #include "moment.hh"
16 #include "priorities.hh"
17 #include "pcursor.hh"
19 /**
20 Align requests with starting time.
22 To our foreign readers "pulk"ing is what you do with the stuff in
23 your nose to get it out. (and I don't mean blowing) */
24 class Pulk_voice
26 PCursor<Voice_element*> cur_;
27 Moment elt_mom_;
28 Priorities<Moment> subtle_moment_priorities_;
29 int subtle_idx_;
30 void set_subtle();
31 void next();
32 public:
33 int staff_idx_;
35 Moment when()const;
36 bool ok()const { return cur_.ok() ; }
38 Pulk_voice(Voice*, int staff_idx);
40 /**
41 Get the requests at when(), and advance.
43 Array<Request*> get_req_l_arr();
46 #endif // PULK_VOICE_HH