/*
engraver.cc -- implement Engraver
- Sourcefile of GNU LilyPond musictypesetter
+ Sourcefile of GNU LilyPond music type setter
- (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "music-list.hh"
#include "musical-request.hh"
#include "engraver.hh"
-#include "engraver-group.hh"
+#include "engraver-group-engraver.hh"
#include "debug.hh"
#include "paper-def.hh"
+#include "score-element.hh"
+#include "group-interface.hh"
void
Engraver::fill_staff_info (Staff_info&)
}
-
void
Engraver::announce_element (Score_element_info i)
{
- i.origin_grav_l_arr_.push (this);
+ Score_element * e = i.elem_l_;
+
+ if (e->get_elt_property ("interfaces") == SCM_EOL)
+ group (e, "interfaces").add_thing (ly_symbol2scm (e->name()));
+
+ if (!i.origin_trans_l_)
+ i.origin_trans_l_ = this;
daddy_grav_l()->announce_element (i);
}