]> git.donarmstrong.com Git - lilypond.git/blob - hdr/sccol.hh
release: 0.0.20
[lilypond.git] / hdr / sccol.hh
1 /*
2   sccol.hh -- part of LilyPond
3
4   (c) 1996 Han-Wen Nienhuys
5 */
6
7 #ifndef SCCOL_HH
8 #define SCCOL_HH
9 #include "proto.hh"
10 #include "vray.hh"
11 #include "moment.hh"
12
13
14 struct Score_column {
15
16     /// indirection to column
17     PCol * pcol_;
18
19     /// length of notes/rests in this column
20     svec<Moment> durations;
21     
22     Moment when;
23
24     /// 
25     bool musical;
26     
27     /****************/
28     
29     Score_column(Moment when);       
30     static int compare(Score_column & c1, Score_column &c2);
31     void add_duration(Moment );
32     void preprocess();
33     void set_breakable();
34     bool used();
35     void print() const;
36 };
37 /**
38
39     When typesetting hasn't started on PScore yet, the columns which
40     contain data have a rhythmical position. Score_column is the type
41     with a rhythmical time attached to it. The calculation of
42     idealspacing is done with data in these columns. (notably: the
43     #durations# field)
44
45     */
46
47 instantiate_compare(Score_column&, Score_column::compare);
48
49 #endif // SCCOL_HH
50
51
52
53