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;
}