X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fspacing-loose-columns.cc;h=15f77f34a0bcc0283ca5119af4e5958b9df24c06;hb=750b714488c5af6eae22d07163bba8b554734ac6;hp=b73f193d2dd6b2264a1b83eb622e0d884f04b69f;hpb=a42aaa559b71ce5776795fa11a7e1df9110d85b7;p=lilypond.git diff --git a/lily/spacing-loose-columns.cc b/lily/spacing-loose-columns.cc index b73f193d2d..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--2011 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; @@ -83,7 +83,8 @@ set_loose_columns (System *which, Column_x_positions const *posns) if (!right) { - programming_error ("Can't attach loose column sensibly. Attaching to end of system."); + programming_error ("Can't attach loose column sensibly." + " Attaching to end of system."); right = which->get_bound (RIGHT); } @@ -134,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; } @@ -152,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 { @@ -192,7 +188,7 @@ set_loose_columns (System *which, Column_x_positions const *posns) Real sum_spacing = 0; // currently a magic number - what would be a good grob to hold this property? Real left_padding = 0.15; - for (vsize j = 0; j < clique_spacing.size (); j++) + for (vsize j = 0; j < clique_spacing.size (); j++) { sum_tight_spacing += clique_tight_spacing[j]; sum_spacing += clique_spacing[j];