2 staff.cc -- implement Staff
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
11 #include "input-register.hh"
15 #include "staff-column.hh"
16 #include "score-column.hh"
17 #include "voice-element.hh"
19 #include "musical-request.hh"
20 #include "command-request.hh" // todo
21 #include "staffline.hh"
22 #include "complex-walker.hh"
23 #include "super-elem.hh"
25 #include "scoreline.hh"
28 Staff::add(Link_list
<Voice
*> const &l
)
30 for (iter_top(l
,i
); i
.ok(); i
++)
31 voice_list_
.bottom().add(i
);
37 return score_l_
->paper_p_
;
46 if (!i
->musical_column_l_
->used_b())
47 i
->musical_column_l_
= 0;
48 if (!i
->command_column_l_
->used_b())
49 i
->command_column_l_
=0;
51 if (!i
->command_column_l_
&& !i
->musical_column_l_
)
75 for (iter_top(voice_list_
,i
); i
.ok(); i
++) {
86 for (iter_top(voice_list_
,i
); i
.ok(); i
++) {
107 Staff::add_col(Staff_column
*c_l
)
109 cols_
.bottom().add(c_l
);
110 c_l
->staff_l_
= this;
114 Staff::set_output(PScore
* pscore_l
)
116 pscore_l_
= pscore_l
;
117 staff_line_l_
= new Line_of_staff
;
118 pscore_l_
->typeset_unbroken_spanner(staff_line_l_
);
119 pscore_l_
->super_elem_l_
->line_of_score_l_
->add_line(staff_line_l_
);
124 Staff::get_walker_p()
126 return new Complex_walker(this);