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() {}
-
+ 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);
+
};