]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/global-translator.hh
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / lily / include / global-translator.hh
index 8344d3d898f9e4214690c2277e97800b4582c99e..39d814747cd4e53158e93396c9d46c3a2045e1cb 100644 (file)
@@ -3,35 +3,46 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #ifndef GLOBAL_TRANSLATOR_HH
 #define GLOBAL_TRANSLATOR_HH
 
-#include "translator.hh"
+#include "translator-group.hh"
+#include "moment.hh"
 #include "pqueue.hh"
 
-class Global_translator : public virtual Translator {
-    PQueue<Moment> extra_mom_pq_;
-    Moment last_mom_;
+class Global_translator : public virtual Translator_group
+{
+  PQueue<Moment> extra_mom_pq_;
 public:
-    Score *score_l_;
-    Global_translator();
-    int moments_left_i()const;
-    void modify_next(Moment&);
-    void add_moment_to_process(Moment);
-
-    virtual void set_score(Score*);
-    virtual void prepare(Moment);
-    virtual void process() {}
-    virtual void finish() {}
-    
+  VIRTUAL_COPY_CONS (Translator);
+  Moment final_mom_;
+  Moment prev_mom_;
+  Moment now_mom_;
+  Global_translator ();
+
+  int get_moments_left () const;
+  Moment sneaky_insert_extra_moment (Moment);
+  void add_moment_to_process (Moment);
+  void run_iterator_on_me (Music_iterator*);
+
+  void apply_finalizations ();
+  void add_finalization (SCM);
+  
+  virtual Music_output *get_output ();     
+  virtual void prepare (Moment);
+  virtual void one_time_step ();
+  virtual void finish ();
+  virtual void start ();
+
+  virtual Moment now_mom () const;
+
+  
 protected:
-    virtual Global_translator *global_l() { return this; }
-    virtual int depth_i() const;
-    virtual Translator *ancestor_l(int);
+
 };