]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grob-info.cc
* lily/output-def-scheme.cc: new file.
[lilypond.git] / lily / grob-info.cc
index e1d60b3195b06a1be4deb03cc0e11af6beb05586..d64f48f5f4eb2e0ef9f4166821a2d4c90233c513 100644 (file)
@@ -3,44 +3,38 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "grob-info.hh"
-#include "request.hh"
-#include "translator.hh"
-#include "translator-group.hh"
-
-Grob_info::Grob_info (Grob*s_l, SCM c)
-{
-  grob_l_ = s_l;
-  cause_ = c; 
-  origin_trans_l_ = 0;  
-}
 
+#include "grob.hh"
+#include "music.hh"
+#include "translator-group.hh"
+#include "context.hh"
 
 Grob_info::Grob_info ()
 {
-  grob_l_ = 0;
-  cause_ = SCM_EOL;
-  origin_trans_l_ = 0;
+  grob_ = 0;
+  origin_trans_ = 0;
 }
 
 Music*
 Grob_info::music_cause ()
 {
-  return unsmob_music (cause_);
+  SCM cause = grob_->get_property ("cause"); 
+  return unsmob_music (cause);
 }
 
-Link_array<Translator>
-Grob_info::origin_trans_l_arr (Translator* end) const
+Link_array<Context>
+Grob_info::origin_contexts (Translator* end) const
 {
-  Translator * t = origin_trans_l_;
-  Link_array<Translator> r;
+  Context * t = origin_trans_->context ();
+  Link_array<Context> r;
   do {
     r.push (t);
-    t = t->daddy_trans_l_;
-  } while (t && t != end->daddy_trans_l_);
+    t = t->get_parent_context ();
+  } while (t && t != end->context ());
   
   return r;
 }