/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2005--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
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);
}
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);
+ Spring spring = 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 = Note_spacing::get_spacing (spacing, next_col,
+ spring, options.increment_);
+
+ base_note_space = spring.distance ();
+ tight_note_space = spring.min_distance ();
}
else
{
tight_note_space = spring.min_distance ();
}
+ Real loose_col_horizontal_length = loose_col->extent (loose_col, X_AXIS).length ();
+ base_note_space = max (base_note_space, loose_col_horizontal_length);
+ tight_note_space = max (tight_note_space, loose_col_horizontal_length);
+
clique_spacing.push_back (base_note_space);
clique_tight_spacing.push_back (tight_note_space);
}
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];