source file of the GNU LilyPond music typesetter
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "grob-info.hh"
}
Music *
-Grob_info::music_cause ()
+Grob_info::music_cause () const
{
SCM cause = grob_->get_property ("cause");
return unsmob_music (cause);
{
return dynamic_cast<Item *> (grob_);
}
+
+Music *
+Grob_info::ultimate_music_cause () const
+{
+ SCM cause = grob_->self_scm ();
+ while (unsmob_grob (cause))
+ {
+ cause = unsmob_grob (cause)->get_property ("cause");
+ }
+
+ return unsmob_music (cause);
+}
+