]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/pulk-voices.hh
release: 0.0.53
[lilypond.git] / lily / include / pulk-voices.hh
1 /*
2   pulk-voices.hh -- declare Pulk_voices
3
4   source file of the LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef PULK_VOICES_HH
11 #define PULK_VOICES_HH
12 #include "pqueue.hh"
13 #include "plist.hh"
14 #include "moment.hh"
15 #include "proto.hh"
16 #include "lily-proto.hh"
17 #include "voice.hh"
18
19
20
21 struct Voice_l { 
22     Voice *l_;
23     int  staff_idx_;
24     Voice_l(Voice*v, int i){ l_ = v;
25       staff_idx_ = i;
26     }
27     Voice_l() { l_ = 0; staff_idx_ =0; }
28 };
29 int compare(Voice_l const &p1, Voice_l const &p2);
30
31 class Pulk_voices
32 {
33 PQueue< Voice_l > voice_pq_;
34     IPointerList< Pulk_voice * > pulk_p_list_;
35     PointerList<Staff *> staff_l_list_;
36     Moment next_mom_;
37
38 public:
39     Moment last_;
40     bool ok() const;
41     Moment next_mom() { return next_mom_; }
42     Pulk_voices(PointerList<Staff*> const&);
43     void get_aligned_request(Request_column *col_l );
44 };
45
46
47 #endif // PULK_VOICES_HH