]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/global-translator.hh
2003 -> 2004
[lilypond.git] / lily / include / global-translator.hh
index ae97418b7ffd6494082ddc9eb780002f5db5d8b2..37937d558b28bc4a572c646f4307c3a9d4dbb107 100644 (file)
@@ -3,37 +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 {
+class Global_translator : public virtual Translator_group
+{
   PQueue<Moment> extra_mom_pq_;
 public:
-  Moment last_mom_;
-  Global_translator();
-  int moments_left_i() const;
-  void modify_next (Moment&);
+  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*);
 
-  virtual Music_output *get_output_p ();     
+  void apply_finalizations ();
+  void add_finalization (SCM);
+  
+  virtual Music_output *get_output ();     
   virtual void prepare (Moment);
-  virtual void process() {}
-  virtual void finish() {}
-  virtual void start() {}
-    
-  DECLARE_MY_RUNTIME_TYPEINFO;
+  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);
+
 };