/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2007--2011 Joe Neeman <joeneeman@gmail.com>
+ Copyright (C) 2007--2015 Joe Neeman <joeneeman@gmail.com>
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<Grob *> columns (left_col, right_col);
- Direction d = LEFT;
- do
+ for (LEFT_and_RIGHT (d))
{
for (vsize i = 0; i < items[d].size (); i++)
{
if (Item *piece = g->find_prebroken_piece (break_dirs[d]))
g = piece;
- if (g && Separation_item::has_interface (g) && g->get_column () == columns[d])
+ if (has_interface<Separation_item> (g) && g->get_column () == columns[d])
{
SCM sky_scm = g->get_property ("horizontal-skylines");
- Skyline_pair *sky = Skyline_pair::unsmob (sky_scm);
+ Skyline_pair *sky = unsmob<Skyline_pair> (sky_scm);
extract_grob_set (g, "elements", elts);
Grob *ycommon = common_refpoint_of_array (elts, g, Y_AXIS);
}
}
}
- while (flip (&d) != LEFT);
return skylines;
}
if (!me->is_live ())
return 0;
- Grob_array *a = unsmob_grob_array (me->get_object ("right-items"));
+ Grob_array *a = unsmob<Grob_array> (me->get_object ("right-items"));
Item *mincol = 0;
int min_rank = INT_MAX;
for (vsize i = 0; a && i < a->size (); i++)
for (vsize i = 0; i < elts.size (); i++)
{
- if (Note_column::has_interface (elts[i]))
+ if (has_interface<Note_column> (elts[i]))
ret.push_back (dynamic_cast<Item *> (elts[i]));
- else if (Separation_item::has_interface (elts[i]))
+ else if (has_interface<Separation_item> (elts[i]))
{
extract_grob_set (elts[i], "elements", more_elts);
vector<Item *> ncs = get_note_columns (more_elts);