Moment extend_mom_;
Moment beam_start_moment_;
Moment beam_start_location_;
+ Context *beam_start_context_;
// We act as if beam were created, and start a grouping anyway.
Beaming_pattern *grouping_;
for (vsize i = 0; i < stems_->size (); i++)
Beam::add_stem (beam, (*stems_)[i]);
- announce_grob (beam, (*stems_)[0]->self_scm ());
+ Grob_info i = make_grob_info (beam, (*stems_)[0]->self_scm ());
+ i.rerouting_daddy_context_ = beam_start_context_;
+ announce_grob (i);
return beam;
}
beaming_options_.from_context (context ());
beam_settings_ = updated_grob_properties (context (), ly_symbol2scm ("Beam"));
+ beam_start_context_ = context ()->get_parent_context ();
beam_start_moment_ = now_mom ();
beam_start_location_
= robust_scm2moment (get_property ("measurePosition"), Moment (0));
if (finished_beam_)
{
- announce_end_grob (finished_beam_, SCM_EOL);
+ Grob_info i = make_grob_info (finished_beam_, SCM_EOL);
+ i.rerouting_daddy_context_ = beam_start_context_;
+
+ announce_end_grob (i);
finished_grouping_ = grouping_;
finished_beaming_options_ = beaming_options_;
}