/*
multi_measure_rest-engraver.cc -- implement Multi_measure_rest_engraver
- (c) 1998--2003 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
void
Multi_measure_rest_engraver::process_music ()
{
- if (rest_ev_ && !mmrest_)
+ if (rest_ev_ && !mmrest_
+ && stop_moment_ > now_mom ())
{
- mmrest_ = new Spanner (get_property ("MultiMeasureRest"));
+ mmrest_ = make_spanner ("MultiMeasureRest");
if (text_events_.size())
{
for (int i = 0; i < text_events_.size(); i++)
{
Spanner *sp
- = new Spanner (get_property ("MultiMeasureRestText"));
+ = make_spanner ("MultiMeasureRestText");
Music* e = text_events_[i];
SCM t = e->get_mus_property ("text");
else
{
Spanner *sp
- = new Spanner (get_property ("MultiMeasureRestNumber"));
+ = make_spanner ("MultiMeasureRestNumber");
numbers_.push (sp);
announce_grob (sp, rest_ev_->self_scm());
}
for (int i = 0 ; i < numbers_.size(); i++)
{
typeset_grob (numbers_[i]);
- Side_position_interface::add_staff_support (numbers_[i]);
}
/*
for (int i = 0; i < last_numbers_.size ();i++)
{
typeset_grob (last_numbers_[i]);
- Side_position_interface::add_staff_support (last_numbers_[i]);
}
}
last_rest_ = 0;