11 svec
<Mtime
> durations
;
18 Score_column(Mtime when
);
20 static int compare(Score_column
& c1
, Score_column
&c2
) {
21 return sgn(c1
.when
- c2
.when
);
23 void set_breakable() {
24 pcol
->set_breakable();
31 When typesetting hasn't started on PScore yet, the columns which
32 contain data have a rhythmical position. Score_column is the type
33 with a rhythmical time attached to it. The calculation of
34 idealspacing is done with data in these columns. (notably: the
39 instantiate_compare(Score_column
&, Score_column::compare
);
42 /// the total music def of one movement
44 /// staffs_ and commands_ form the problem definition.
45 PointerList
<Staff
*> staffs_
;
46 PointerList
<Command
*> commands_
;
48 /// "runtime" fields for setting up spacing
49 PointerList
<Score_column
*> cols_
;
52 /****************************************************************/
54 /// add #Idealspacings# to #pscore_#
55 void calc_idealspacing();
59 void add_staff(Staff
*st
);
61 void distribute_commands();
62 /** add the score wide commands (bars, breaks) to each staff so
63 they can process (typeset) them if needed */
65 Score_column
*find_col(Mtime
,bool);
69 void output(String fn
);
70 PCursor
<Score_column
*> create_cols(Mtime
);
75 void clean_commands();
77 void do_connect(PCol
*c1
, PCol
*c2
, Real d
);
78 void connect_nonmus(PCol
* c1
, PCol
*c2
, Real d
);