]> git.donarmstrong.com Git - lilypond.git/blob - hdr/simplewalker.hh
192419ef2ee842d73813b6290ec762f1126db41a
[lilypond.git] / hdr / simplewalker.hh
1 /*
2   simplewalker.hh -- part of LilyPond
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef SIMPLEWALKER_HH
8 #define SIMPLEWALKER_HH
9
10 #include "proto.hh"
11 #include "grouping.hh"
12
13 struct Simple_walker: Staff_walker {
14     Stem *stem_;
15     Array<Notehead *>noteheads;
16     Local_key local_key_;
17     Key key_;
18     Array<int> *oldkey_undo;
19     Array<int> typesetkey;
20     Beam *beam_;
21     Local_key_item *local_key_item_;
22     bool wantkey;               // urgh
23     int processed_bar_priority;
24     bool processed_key;
25     bool processed_clef;
26     Clef clef_;
27     Rhythmic_grouping default_grouping;
28     Rhythmic_grouping *current_grouping;
29     Array<Slur_req*> pending_slur_reqs;
30     Array<Slur*>  pending_slurs;
31
32     /****************/
33
34     virtual void do_TYPESET_command(Command*);
35     virtual void do_INTERPRET_command(Command*);
36     virtual void process_requests();
37     virtual void reset();
38     
39     void do_note(Note_info);
40     Simple_walker(Simple_staff*);
41     Simple_column *col();
42     Simple_staff *staff();
43
44     void do_local_key(Note_req*, Notehead*);
45     int find_slur(const Voice*v);
46 };
47
48
49 #endif // SIMPLEWALKER_HH
50
51