]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/global-translator.hh
2003 -> 2004
[lilypond.git] / lily / include / global-translator.hh
index 112392a670a1380ef3ec4b495d92cae3f03104b7..37937d558b28bc4a572c646f4307c3a9d4dbb107 100644 (file)
@@ -3,39 +3,46 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c) 1997--2004 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 void start() {}
-    
-    DECLARE_MY_RUNTIME_TYPEINFO;
+  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);
+
 };