]> git.donarmstrong.com Git - lilypond.git/blob - hdr/simplewalker.hh
release: 0.0.19
[lilypond.git] / hdr / simplewalker.hh
1 /*
2   simplewalker.hh -- part of LilyPond
3
4   (c) 1996 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     svec<Notehead *>noteheads;
16     Local_key local_key_;
17     Key key_;
18     svec<int> *oldkey_undo;
19     svec<int> typesetkey;
20     Beam *beam_;
21     Local_key_item *local_key_item_;
22     bool wantkey;               // urgh
23     bool processed_key;
24     bool processed_clef;
25     Clef clef_;
26     Rhythmic_grouping default_grouping;
27     Rhythmic_grouping *current_grouping;
28     Real inbar;
29     
30     svec<Slur_req*> pending_slur_reqs;
31     svec<Slur*>  pending_slurs;
32
33
34
35     /****************/
36
37     virtual void do_TYPESET_command(Command*);
38     virtual void do_INTERPRET_command(Command*);
39     virtual void process_requests();
40     virtual void reset();
41     
42     void do_note(Rhythmic_req*);
43     Simple_walker(Simple_staff*);
44     Simple_column *col();
45     Simple_staff *staff();
46
47     void do_local_key(Note_req*n);
48     int find_slur(const Voice*v);
49 };
50
51
52 #endif // SIMPLEWALKER_HH
53
54