3 #include "inputmusic.hh"
4 #include "inputstaff.hh"
6 #include "complexstaff.hh"
8 #include "lyricstaff.hh"
11 Input_staff::Input_staff(String s
)
13 score_wide_music_p_
=0;
19 Input_staff::add(Input_music
*m
)
21 music_
.bottom().add(m
);
25 Input_staff::parse(Score
*score_l
, Input_music
*default_score_wide
)
28 if (type
== "melodic")
29 p
= new Complex_staff
;
30 else if (type
== "lyric")
33 error( "Unknown staff-type `" + type
+"\'", defined_ch_c_l_
);
35 p
->score_l_
= score_l
;
37 for (iter_top(music_
,i
); i
.ok(); i
++) {
38 Voice_list vl
= i
->convert();
41 Voice_list vl
= (score_wide_music_p_
) ? score_wide_music_p_
->convert()
42 : default_score_wide
->convert();
47 Input_staff::Input_staff(Input_staff
const&s
)
49 for (iter_top(s
.music_
,i
); i
.ok(); i
++)
51 defined_ch_c_l_
= s
.defined_ch_c_l_
;
53 score_wide_music_p_
= (s
.score_wide_music_p_
) ?
54 s
.score_wide_music_p_
->clone() : 0;
58 Input_staff::print() const
61 mtor
<< "Input_staff {\n";
62 for (iter_top(music_
,i
); i
.ok(); i
++)
68 Input_staff::set_score_wide(Input_music
*m_p
)
70 delete score_wide_music_p_
;
71 score_wide_music_p_
= m_p
;
74 Input_staff::~Input_staff()
76 delete score_wide_music_p_
;