DECLARE_ACKNOWLEDGER (beam);
DECLARE_ACKNOWLEDGER (bar_line);
DECLARE_ACKNOWLEDGER (stem);
DECLARE_ACKNOWLEDGER (beam);
DECLARE_ACKNOWLEDGER (bar_line);
DECLARE_ACKNOWLEDGER (stem);
Beam::add_stem (beam, (*stems_)[i]);
announce_grob (beam, (*stems_)[0]->self_scm ());
Beam::add_stem (beam, (*stems_)[i]);
announce_grob (beam, (*stems_)[0]->self_scm ());
- stems_ = new Link_array<Item>;
- grouping_ = new Beaming_info_list;
+ stems_ = new vector<Item*>;
+ grouping_ = new Beaming_pattern ();
+ beaming_options_.from_context (context ());
beam_settings_ = updated_grob_properties (context (), ly_symbol2scm ("Beam"));
beam_start_moment_ = now_mom ();
beam_start_location_
= robust_scm2moment (get_property ("measurePosition"), Moment (0));
beam_settings_ = updated_grob_properties (context (), ly_symbol2scm ("Beam"));
beam_start_moment_ = now_mom ();
beam_start_location_
= robust_scm2moment (get_property ("measurePosition"), Moment (0));
- finished_grouping_ = grouping_;
+ {
+ announce_end_grob (finished_beam_, SCM_EOL);
+ finished_grouping_ = grouping_;
+ finished_beaming_options_ = beaming_options_;
+ }
- finished_grouping_->beamify (beat_length_, subdivide_beams_);
+ if (!finished_beam_->get_bound (RIGHT))
+ finished_beam_->set_bound (RIGHT, finished_beam_->get_bound (LEFT));
+
+ finished_grouping_->beamify (finished_beaming_options_);
"@ref{Stem_engraver} properties @code{stemLeftBeamCount} and "
"@code{stemRightBeamCount}. ",
/* create */ "Beam",
"@ref{Stem_engraver} properties @code{stemLeftBeamCount} and "
"@code{stemRightBeamCount}. ",
/* create */ "Beam",