]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/translator.hh
release commit
[lilypond.git] / lily / include / translator.hh
index 57e3257a2ff94ea8268b04f38413df1f043906c8..3babb758c95a6e3a20572ba86db2f099aa3c4e07 100644 (file)
 #include "input.hh"
 #include "smobs.hh"
 
-#define get_property(x) internal_get_property(ly_symbol2scm(x))
-
+/* copied from lily-guile.hh */
+#ifndef get_property
+#define get_property(x) internal_get_property (ly_symbol2scm (x))
+#endif
 
 #define TRANSLATOR_DECLARATIONS(NAME)                  \
 public:                                                        \
@@ -35,30 +37,22 @@ public:                                                     \
 class Translator
 {
   void init ();
+
+protected:
+  bool must_be_last_;
+
 public:
-  Music_output_def * output_def_;
+  bool must_be_last () const;
+  
+  Context * context () const { return daddy_context_; }
   
   Translator (Translator const &);
-  Context * daddy_context_ ;
 
-  void removal_processing ();
-  virtual Music_output_def *get_output_def () const;
   SCM internal_get_property (SCM symbol) const;
+  
+  virtual Output_def *get_output_def () const;
   virtual Translator_group* get_daddy_translator ()const;
   virtual Moment now_mom () const;  
-
-public:
-  DECLARE_SMOBS (Translator, dummy);
-
-protected:                     // should be private.
-  SCM simple_trans_list_;
-  friend class Context_def;
-
-public:
-  Score_context * get_score_context () const;
-  Global_context * get_global_context () const;
-  
-  TRANSLATOR_DECLARATIONS(Translator);
   virtual bool try_music (Music *req);
   virtual void stop_translation_timestep ();
   virtual void start_translation_timestep ();
@@ -66,6 +60,19 @@ public:
   virtual void process_music ();
   virtual void do_announces ();
   virtual void finalize ();
+  
+  Score_context * get_score_context () const;
+  Global_context * get_global_context () const;
+
+  
+  TRANSLATOR_DECLARATIONS(Translator);
+  DECLARE_SMOBS (Translator, dummy);
+protected:                     // should be private.
+  Context * daddy_context_ ;
+  virtual void derived_mark () const;
+  
+  friend class Context_def;
+  friend class Context;
 };
 
 /**