source file of the GNU LilyPond music typesetter
- (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef TRANSLATOR_HH
#define TRANSLATOR_HH
+
+#include <typeinfo>
#include "global-ctor.hh"
#include "string.hh"
#include "lily-proto.hh"
#include "virtual-methods.hh"
-#include "scalar.hh"
+#include "lily-guile.hh"
#include "dictionary.hh"
#include "parray.hh"
#include "input.hh"
class Translator : public Input {
public:
Music_output_def * output_def_l_;
- String type_str_;
-
- bool is_alias_b (String) const;
+ String type_str_;
-
+ virtual const char *name() const;
+ bool is_alias_b (String) const;
VIRTUAL_COPY_CONS(Translator);
Translator (Translator const &);
void pre_move_processing();
void add_processing ();
void creation_processing ();
- void process_requests();
+ void process_music();
void post_move_processing();
void removal_processing();
/**
ask daddy for a feature
*/
Music_output_def *output_def_l () const;
- Scalar get_property (String, Translator_group **) const;
+
+ SCM get_property (const char *) const;
+ SCM get_property (SCM symbol) const;
+
virtual Moment now_mom () const;
protected:
+ /*
+ UGH. Clean this up.
+ */
enum {
ORPHAN,
VIRGIN,
virtual void do_add_processing ();
virtual bool do_try_music (Music *req_l);
virtual void do_print () const;
- virtual void do_pre_move_processing(){}
- virtual void do_post_move_processing(){}
- virtual void do_process_requests () {}
- virtual void do_creation_processing() {}
- virtual void do_removal_processing() {}
+ virtual void do_pre_move_processing();
+ virtual void do_post_move_processing();
+ virtual void do_process_music () ;
+ virtual void do_creation_processing() ;
+ virtual void do_removal_processing();
};