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>
*/
#define GLOBAL_TRANSLATOR_HH
#include "translator-group.hh"
-#include "rational.hh"
+#include "moment.hh"
#include "pqueue.hh"
-class Global_translator : public virtual Translator_group{
+class Global_translator : public virtual Translator_group
+{
PQueue<Moment> extra_mom_pq_;
public:
- TRANSLATOR_CLONE(Global_translator);
- Moment last_mom_;
+ VIRTUAL_COPY_CONS (Translator);
+ Moment final_mom_;
+ Moment prev_mom_;
Moment now_mom_;
- Global_translator();
+ Global_translator ();
- int moments_left_i() const;
- void modify_next (Moment&);
+ 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() {}
+ virtual void one_time_step ();
+ virtual void finish ();
+ virtual void start ();
- DECLARE_MY_RUNTIME_TYPEINFO;
+ virtual Moment now_mom () const;
+
+
protected:
- virtual Moment now_moment () const;
- virtual Global_translator *global_l() { return this; }
+
};