]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/global-translator.hh
721f97ddaf9ed784491498bc598a09a8e57991d7
[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--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef GLOBAL_TRANSLATOR_HH
11 #define GLOBAL_TRANSLATOR_HH
12
13 #include "translator-group.hh"
14 #include "rational.hh"
15 #include "pqueue.hh"
16
17
18 class Iteration_interface_translator : public virtual Translator_group {
19 };
20
21 class Global_translator : public virtual Translator_group{
22   PQueue<Moment> extra_mom_pq_;
23 public:
24   VIRTUAL_COPY_CONS(Translator);
25   Moment last_mom_;
26   Moment now_mom_;
27   Global_translator();
28
29   int moments_left_i() const;
30   void modify_next (Moment&);
31   void add_moment_to_process (Moment);
32   void run_iterator_on_me (Music_iterator*);
33   
34   virtual Music_output *get_output_p ();     
35   virtual void prepare (Moment);
36   virtual void process();
37   virtual void finish();
38   virtual void start();
39
40   virtual Moment now_mom () const;
41
42   
43 protected:
44
45 };
46
47
48
49 #endif // GLOBAL_TRANSLATOR_HH