source file of the GNU LilyPond music typesetter
- (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "grace-engraver-group.hh"
#include "lily-guile.hh"
-#include "score-element.hh"
+#include "grob.hh"
#include "musical-request.hh"
void
removal_processing (); // ugr. We'd want to have this done by our parents.
for (int i=0; i < announce_to_top_.size (); i++)
{
- Engraver::announce_element (announce_to_top_[i]);
+ Engraver::announce_grob (announce_to_top_[i]);
}
for (int i=0; i < typeset_us_.size (); i++)
{
- Engraver::typeset_element (typeset_us_[i]);
+ Engraver::typeset_grob (typeset_us_[i]);
}
typeset_us_.clear ();
calling_self_b_ = false;
}
void
-Grace_engraver_group::do_removal_processing ()
+Grace_engraver_group::finalize ()
{
- Engraver_group_engraver::do_removal_processing ();
+ Engraver_group_engraver::finalize ();
}
void
-Grace_engraver_group::announce_element (Score_element_info inf)
+Grace_engraver_group::announce_grob (Grob_info inf)
{
announce_info_arr_.push (inf);
// do not propagate to top
announce_to_top_.push (inf);
- inf.elem_l_->set_elt_property ("grace", SCM_BOOL_T);
+ inf.elem_l_->set_grob_property ("grace", SCM_BOOL_T);
}
void
-Grace_engraver_group::typeset_element (Score_element*e)
+Grace_engraver_group::typeset_grob (Grob*e)
{
typeset_us_.push (e);
}
-Grace_engraver_group::Grace_engraver_group()
+Grace_engraver_group::Grace_engraver_group ()
{
calling_self_b_ = false;
}
void
-Grace_engraver_group::process ()
+Grace_engraver_group::one_time_step ()
{
calling_self_b_ = true;
- //process_music ();
- announces();
- pre_move_processing();
- check_removal();
+
+ if (!to_boolean (get_property (ly_symbol2scm ("skipTypesetting"))))
+ {
+ process_music ();
+ announces ();
+ }
+ stop_translation_timestep ();
+ check_removal ();
calling_self_b_ = false;
}
}
-ADD_THIS_TRANSLATOR(Grace_engraver_group);
+ADD_THIS_TRANSLATOR (Grace_engraver_group);
/*
don't let the commands trickle up.
*/
bool
-Grace_engraver_group::do_try_music (Music *m)
+Grace_engraver_group::try_music (Music *m)
{
bool hebbes_b = try_music_on_nongroup_children (m);
return false;
}
+void
+Grace_engraver_group::initialize ()
+{
+ calling_self_b_ = true;
+ Engraver_group_engraver::initialize ();
+ calling_self_b_ = false;
+}