X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fspacing-loose-columns.cc;h=15f77f34a0bcc0283ca5119af4e5958b9df24c06;hb=750b714488c5af6eae22d07163bba8b554734ac6;hp=bf8e13593aa4ed71074dc1c2e52fc6a2b186baf0;hpb=e47e8dc419d5c9657a0ff357a3c32cd4d84a7fac;p=lilypond.git diff --git a/lily/spacing-loose-columns.cc b/lily/spacing-loose-columns.cc index bf8e13593a..15f77f34a0 100644 --- a/lily/spacing-loose-columns.cc +++ b/lily/spacing-loose-columns.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2012 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -60,8 +60,8 @@ set_loose_columns (System *which, Column_x_positions const *posns) if (!loose->get_system ()) break; - Paper_column *le = dynamic_cast (unsmob_grob (scm_car (between))); - Paper_column *re = dynamic_cast (unsmob_grob (scm_cdr (between))); + Paper_column *le = unsmob (scm_car (between)); + Paper_column *re = unsmob (scm_cdr (between)); if (! (le && re)) break; @@ -135,8 +135,8 @@ set_loose_columns (System *which, Column_x_positions const *posns) Paper_column *loose_col = dynamic_cast (clique[j]); Paper_column *next_col = dynamic_cast (clique[j + 1]); - Grob *spacing = unsmob_grob (clique_col->get_object ("spacing")); - if (Grob *grace_spacing = unsmob_grob (clique_col->get_object ("grace-spacing"))) + Grob *spacing = unsmob (clique_col->get_object ("spacing")); + if (Grob *grace_spacing = unsmob (clique_col->get_object ("grace-spacing"))) { spacing = grace_spacing; } @@ -153,19 +153,14 @@ set_loose_columns (System *which, Column_x_positions const *posns) if (Paper_column::is_musical (next_col) && Paper_column::is_musical (loose_col)) { - Real base = Spacing_spanner::note_spacing (spacing, loose_col, next_col, - &options); - if (Note_spacing::has_interface (spacing)) - { - Spring spring = Note_spacing::get_spacing (spacing, next_col, base, options.increment_);; - base_note_space = spring.distance (); - tight_note_space = spring.min_distance (); - } - else - { - base_note_space = base; - tight_note_space = base; - } + Spring spring = Spacing_spanner::note_spacing (spacing, loose_col, + next_col, &options); + if (has_interface (spacing)) + spring = Note_spacing::get_spacing (spacing, next_col, + spring, options.increment_); + + base_note_space = spring.distance (); + tight_note_space = spring.min_distance (); } else {