source file of the GNU LilyPond music typesetter
- (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "timing-engraver.hh"
{
if (beam_p_)
{
- reqs_drul_[START]->warning (_ ("Already have a Beam"));
+ reqs_drul_[START]->warning (_ ("Already have a beam"));
return;
}
if (beam_p_)
{
Stem* stem_l = dynamic_cast<Stem *> (info.elem_l_);
- if (!stem_l || stem_l->beam_l_)
+ if (!stem_l || stem_l->beam_l ())
return;
bool stem_grace = stem_l->get_elt_property ("grace") == SCM_BOOL_T;
- SCM wg =get_property ("weAreGraceContext",0);
- bool wgb= gh_boolean_p (wg) && gh_scm2bool (wg);
+ SCM wg =get_property ("weAreGraceContext");
+ bool wgb= to_boolean (wg);
if (wgb!= stem_grace)
return;
{
rhythmic_req->warning (_ ("Stem doesn't fit in beam"));
prev_start_req_->warning (_ ("Beam was started here"));
- return;
+ /*
+ don't return, since
+
+ [r4 c8] can just as well be modern notation.
+ */
}
- stem_l->flag_i_ = rhythmic_req->duration_.durlog_i_;
+ stem_l->set_elt_property ("duration-log",
+ gh_int2scm (rhythmic_req->duration_.durlog_i_));
Moment stem_location = now_mom () - beam_start_mom_ + beam_start_location_;
- beam_info_p_->add_stem (stem_location, rhythmic_req->duration_.durlog_i_ - 2);
+ beam_info_p_->add_stem (stem_location,
+ (rhythmic_req->duration_.durlog_i_ - 2) >? 1);
beam_p_->add_stem (stem_l);
}
}