]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/timing-grav.hh
release: 0.1.11
[lilypond.git] / lily / include / timing-grav.hh
1 /*
2   timing-grav.hh -- declare Timing_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef TIMING_GRAV_HH
11 #define TIMING_GRAV_HH
12
13 #include "engraver.hh"
14 #include "time-description.hh"
15 #include "grouping.hh"
16 #include "parray.hh"
17
18 /**
19   Do time bookkeeping
20  */
21 class Timing_engraver : public Engraver
22 {   
23 public:
24   Time_description time_;
25   Rhythmic_grouping  default_grouping_;
26   Link_array<Timing_req> timing_req_l_arr_;
27 protected: 
28   virtual void do_creation_processing ();
29   virtual void fill_staff_info (Staff_info&);
30   virtual bool do_try_request (Request *req_l);
31   virtual void do_process_requests();
32   virtual void do_pre_move_processing();
33   virtual void do_post_move_processing();
34 public:
35   Meter_change_req * meter_req_l () const;
36   Timing_engraver();
37   DECLARE_MY_RUNTIME_TYPEINFO;
38 };
39
40 #endif // TIMING_GRAV_HH