/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2005--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2005--2015 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
*/
- Item *r_neighbor = unsmob_item (col->get_object ("right-neighbor"));
- Item *l_neighbor = unsmob_item (col->get_object ("left-neighbor"));
+ Item *r_neighbor = unsmob<Item> (col->get_object ("right-neighbor"));
+ Item *l_neighbor = unsmob<Item> (col->get_object ("left-neighbor"));
if (!l_neighbor || !r_neighbor)
return false;
for (vsize i = elts.size (); i--;)
{
Grob *g = elts[i];
- if (g && Break_alignment_interface::has_interface (g))
+ if (has_interface<Break_alignment_interface> (g))
{
extract_grob_set (g, "elements", gelts);
for (vsize j = gelts.size (); j--;)
{
Grob *h = gelts[j];
- if (h && h->get_property ("break-align-symbol") == ly_symbol2scm ("staff-bar"))
+ if (h && scm_is_eq (h->get_property ("break-align-symbol"),
+ ly_symbol2scm ("staff-bar")))
{
extract_grob_set (h, "elements", helts);
for (vsize k = helts.size (); k--;)
|| Spacing_interface::right_column (sp) != rc)
continue;
- if (Note_spacing::has_interface (sp))
+ if (has_interface<Note_spacing> (sp))
{
/*
The note spacing should be taken from the musical
dists[d] = max (dists[d], spring.min_distance ());
}
- else if (Staff_spacing::has_interface (sp))
+ else if (has_interface<Staff_spacing> (sp))
{
Spring spring = Staff_spacing::get_spacing (sp, rc, 0.0);
if (loose)
{
- Grob *right_neighbor = unsmob_grob (c->get_object ("right-neighbor"));
- Grob *left_neighbor = unsmob_grob (c->get_object ("left-neighbor"));
+ Grob *right_neighbor = unsmob<Grob> (c->get_object ("right-neighbor"));
+ Grob *left_neighbor = unsmob<Grob> (c->get_object ("left-neighbor"));
/*
Either object can be non existent, if the score ends
min_right_rank = right_rank;
}
- Grob *old_left_neighbor = unsmob_grob (right_col->get_object ("left-neighbor"));
+ Grob *old_left_neighbor = unsmob<Grob> (right_col->get_object ("left-neighbor"));
if (!old_left_neighbor || left_rank > Paper_column::get_rank (old_left_neighbor))
right_col->set_object ("left-neighbor", left_col->self_scm ());
}
if (!Paper_column::is_breakable (it) && !Paper_column::is_musical (it))
continue;
- if (i && !unsmob_grob (cols[i]->get_object ("left-neighbor")))
+ if (i && !unsmob<Grob> (cols[i]->get_object ("left-neighbor")))
cols[i]->set_object ("left-neighbor", cols[i - 1]->self_scm ());
- if (i + 1 < cols.size () && !unsmob_grob (cols[i]->get_object ("right-neighbor")))
+ if (i + 1 < cols.size () && !unsmob<Grob> (cols[i]->get_object ("right-neighbor")))
cols[i]->set_object ("right-neighbor", cols[i + 1]->self_scm ());
}
}