]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/global-translator.hh
patch::: 0.0.74pre.jcn1: pats
[lilypond.git] / lily / include / global-translator.hh
1 /*
2   global-translator.hh -- declare Global_translator
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 GLOBAL_TRANSLATOR_HH
11 #define GLOBAL_TRANSLATOR_HH
12
13 #include "translator.hh"
14 #include "pqueue.hh"
15
16 class Global_translator : public virtual Translator {
17     PQueue<Moment> extra_mom_pq_;
18     Moment last_mom_;
19 public:
20     Score *score_l_;
21     Global_translator();
22     int moments_left_i()const;
23     void modify_next(Moment&);
24     void add_moment_to_process(Moment);
25
26     virtual void set_score(Score*);
27     virtual void prepare(Moment);
28     virtual void process() {}
29     virtual void finish() {}
30     
31 protected:
32     virtual Global_translator *global_l() { return this; }
33     virtual int depth_i() const;
34     virtual Translator *ancestor_l(int);
35 };
36
37
38
39 #endif // GLOBAL_TRANSLATOR_HH