From 59f75a7a40bb12f20d27c809b4335a06228a16db Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 8 Dec 2006 18:39:31 +0100 Subject: [PATCH] insert rods between spanner bounds and breakable columns too. Fixes #171. --- lily/spanner.cc | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/lily/spanner.cc b/lily/spanner.cc index 0f02020241..61051bb9dd 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -334,16 +334,33 @@ SCM Spanner::set_spacing_rods (SCM smob) { Grob *me = unsmob_grob (smob); - - Rod r; - Spanner *sp = dynamic_cast (me); - r.item_drul_[LEFT] = sp->get_bound (LEFT); - r.item_drul_[RIGHT] = sp->get_bound (RIGHT); - SCM num_length = me->get_property ("minimum-length"); if (scm_is_number (num_length)) { + Rod r; + Spanner *sp = dynamic_cast (me); + + + System *root = get_root_system (me); + vector cols (root->broken_col_range (sp->get_bound (LEFT)->get_column (), + sp->get_bound (LEFT)->get_column ())); + + if (cols.size () ) + { + Rod r ; + r.item_drul_[LEFT] = sp->get_bound (LEFT); + r.item_drul_[RIGHT] =cols[0]; + r.distance_ = robust_scm2double (num_length, 0); + r.add_to_cols (); + + r.item_drul_[LEFT] = cols.back (); + r.item_drul_[RIGHT] = sp->get_bound (RIGHT); + r.add_to_cols (); + } + r.distance_ = robust_scm2double (num_length, 0); + r.item_drul_[LEFT] = sp->get_bound (LEFT); + r.item_drul_[RIGHT] = sp->get_bound (RIGHT); r.add_to_cols (); } -- 2.39.5