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);