/*
- global-acceptor.hh -- declare Global_acceptor
+ global-translator.hh -- declare Global_translator
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_ACCEPTOR_HH
-#define GLOBAL_ACCEPTOR_HH
+#ifndef GLOBAL_TRANSLATOR_HH
+#define GLOBAL_TRANSLATOR_HH
-#include "acceptor.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 int depth_i() const;
- virtual Translator *ancestor_l(int);
+
};
-#endif // Global_translator_HH
+#endif // GLOBAL_TRANSLATOR_HH