2 simplestaff.hh -- part of LilyPond
4 (c) 1996,97 Han-Wen Nienhuys
13 #include "staffwalker.hh"
16 mega-stupido staffs and cols: they do notes one at each moment.
22 Array
<Script_req
*> scripts
;
24 Note_info(Rhythmic_req
*);
27 /// column of Simple_staff: store one request
28 struct Simple_column
: Staff_column
{
30 Array
<Note_info
> notes
;
31 Array
<Slur_req
*> slurs
;
33 Moment stem_requester_len
;
35 Simple_staff
* staff_l_
;
39 Slur_req
* find_slur(Voice
*);
40 void typeset_item(Item
*, int=1);
41 void typeset_item_directional(Item
*, int dir
, int=1);
43 Molecule
*create_command_mol(Command
*com
);
45 void take_request(Request
*rq
);
46 virtual void setup_requests();
48 Simple_column(Score_column
*s
,Simple_staff
*rs
);
52 /// Simple staff: one voicegroup at a time
53 struct Simple_staff
: Staff
{
54 /// indirection to the PStaff.
58 Staff_column
*create_col(Score_column
*);
60 virtual Item
*get_TYPESET_item(Command
*);
61 virtual Stem
*get_stem(Stem_req
*rq
)=0;
62 virtual Notehead
*get_notehead(Note_req
*rq
, int b
)=0;
63 virtual Rest
*get_rest(Rest_req
*rq
);
64 virtual void set_output(PScore
*);
65 virtual Local_key_item
* get_local_key_item();
67 void process_commands( PCursor
<Command
*> &where
);
73 #endif // SIMPLESTAFF_HH