/*
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
Drul_array<Item *> next_door,
Spacing_options const *options)
{
- Direction d = LEFT;
Drul_array<Real> dists (0, 0);
- do
+ for (LEFT_and_RIGHT (d))
{
Item *lc = dynamic_cast<Item *> ((d == LEFT) ? next_door[LEFT] : c);
Item *rc = dynamic_cast<Item *> (d == LEFT ? c : next_door[RIGHT]);
The note spacing should be taken from the musical
columns.
*/
- Real base = note_spacing (me, lc, rc, options);
+ Spring base = note_spacing (me, lc, rc, options);
Spring spring = Note_spacing::get_spacing (sp, rc, base, options->increment_);
dists[d] = max (dists[d], spring.min_distance ());
programming_error ("Subversive spacing wish");
}
}
- while (flip (&d) != LEFT);
Rod r;
r.distance_ = dists[LEFT] + dists[RIGHT];
Spacing_options *options)
{
vector<Grob *> newcols;
-
for (vsize i = 0; i < cols->size (); i++)
{
Grob *c = cols->at (i);
*/
if (!right_neighbor || !left_neighbor)
{
- c->programming_error ("Cannot determine neighbors for floating column. ");
+ c->programming_error ("Cannot determine neighbors for floating column.");
c->set_object ("between-cols", scm_cons (cols->at (i - 1)->self_scm (),
cols->at (i + 1)->self_scm ()));
}
/*
Set distance constraints for loose columns
*/
- Drul_array<Item *> next_door (dynamic_cast<Item *> (cols->at (i - 1)),
- dynamic_cast<Item *> (cols->at (i + 1)));
+ Drul_array<Item *> next_door (dynamic_cast<Item *> (left_neighbor),
+ dynamic_cast<Item *> (right_neighbor));
set_distances_for_loose_col (me, c, next_door, options);
}
}
- if (!loose)
+ else
newcols.push_back (c);
}