From: hanwen Date: Wed, 22 Sep 2004 16:37:42 +0000 (+0000) Subject: (acknowledge_grob): avoid more X-Git-Tag: release/2.3.24^2~153 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f6f6c9a5c79f17536d64514676e31d6889ccea79;p=lilypond.git (acknowledge_grob): avoid more objects. --- diff --git a/ChangeLog b/ChangeLog index 741fc100e7..142b1f19fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2004-09-22 Han-Wen Nienhuys + * lily/phrasing-slur-engraver.cc (acknowledge_grob): avoid more + objects. + * lily/beam-concave.cc (calc_concaveness): take absolute value of dy for scaling. This fixes various downbeams. diff --git a/lily/dot-column-engraver.cc b/lily/dot-column-engraver.cc index 141f2cfec6..61e4323e07 100644 --- a/lily/dot-column-engraver.cc +++ b/lily/dot-column-engraver.cc @@ -30,22 +30,22 @@ protected: Dot_column_engraver::Dot_column_engraver () { - dotcol_ =0; + dotcol_ = 0; stem_ = 0; } void Dot_column_engraver::stop_translation_timestep () { - /* - Add the stem to the support so dots stay clear of flags. + /* + Add the stem to the support so dots stay clear of flags. - See [Ross, p 171] - */ - if (stem_ && dotcol_) - dotcol_->set_property ("stem", stem_->self_scm ()); + See [Ross, p 171] + */ + if (stem_ && dotcol_) + dotcol_->set_property ("stem", stem_->self_scm ()); - dotcol_ =0; + dotcol_ =0; heads_.clear (); stem_ =0; } diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index 06226cefa6..2250da3a4a 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -83,12 +83,29 @@ Phrasing_slur_engraver::acknowledge_grob (Grob_info info) else { /* - TODO: maybe take more objects? - */ - for (int i = slurs_.size (); i--; ) - Slur::add_extra_encompass (slurs_[i], e); - for (int i = end_slurs_.size (); i--; ) - Slur::add_extra_encompass (end_slurs_[i], e); + ugh. cut & paste from slur-engraver.cc + */ + SCM inside = e->get_property ("inside-slur"); + if (Tie::has_interface (e) + || to_boolean (inside)) + { + for (int i = slurs_.size (); i--; ) + Slur::add_extra_encompass (slurs_[i], e); + for (int i = end_slurs_.size (); i--; ) + Slur::add_extra_encompass (end_slurs_[i], e); + } + else if (inside == SCM_BOOL_F) + { + Grob *slur = slurs_.size()?slurs_[0] : 0; + slur = (end_slurs_.size () && !slur) + ? end_slurs_[0] : slur; + + if (slur) + { + e->add_offset_callback (Slur::outside_slur_callback_proc, Y_AXIS); + e->set_property ("slur", slur->self_scm()); + } + } } } @@ -133,6 +150,6 @@ ENTER_DESCRIPTION (Phrasing_slur_engraver, /* descr */ "Print phrasing slurs. Similar to @ref{Slur_engraver}", /* creats*/ "PhrasingSlur", /* accepts */ "phrasing-slur-event", -/* acks */ "note-column-interface slur-interface", +/* acks */ "note-column-interface tie-interface fingering-interface script-interface slur-interface", /* reads */ "", /* write */ ""); diff --git a/lily/slur-scoring.cc b/lily/slur-scoring.cc index 1f904c18de..149a3c67c9 100644 --- a/lily/slur-scoring.cc +++ b/lily/slur-scoring.cc @@ -1195,7 +1195,6 @@ score_extra_encompass (Grob *me, Grob *common[], if (!found) { - Real x = collision_infos[j].extents_[X_AXIS] .linear_combination (collision_infos[j].idx_);