]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/pulk-voices.hh
release: 0.0.61
[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   TODO 
9   integrate Meter handling, to guarantee proper creation of staff_columns.
10 */
11
12
13 #ifndef PULK_VOICES_HH
14 #define PULK_VOICES_HH
15 #include "pqueue.hh"
16 #include "plist.hh"
17 #include "moment.hh"
18 #include "proto.hh"
19 #include "lily-proto.hh"
20 #include "voice.hh"
21
22
23
24 struct Voice_l { 
25     Voice *l_;
26     int  staff_idx_;
27     Voice_l(Voice*v, int i){ l_ = v;
28       staff_idx_ = i;
29     }
30     Voice_l() { l_ = 0; staff_idx_ =0; }
31 };
32 int compare(Voice_l const &p1, Voice_l const &p2);
33
34 class Pulk_voices
35 {
36 PQueue< Voice_l > voice_pq_;
37     IPointer_list< Pulk_voice * > pulk_p_list_;
38     Pointer_list<Staff *> staff_l_list_;
39     Moment next_mom_;
40
41 public:
42     Moment last_;
43     bool ok() const;
44     Moment next_mom() { return next_mom_; }
45     Pulk_voices(Pointer_list<Staff*> const&);
46     void get_aligned_request(Request_column *col_l );
47 };
48
49
50 #endif // PULK_VOICES_HH