/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org>
+ Copyright (C) 1998--2012 Jan Nieuwenhuizen <janneke@gnu.org>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
{
SCM spacing_pair = me->get_property ("spacing-pair");
Interval iv;
- Direction d = LEFT;
- do
+ for (LEFT_and_RIGHT (d))
{
Item *col = me->get_bound (d)->get_column ();
SCM align_sym
iv[d] = coldim[-d];
}
- while (flip (&d) != LEFT);
return iv;
}
&& (to_boolean (scm_null_p (duration_logs_list))
|| !to_boolean (scm_list_p (duration_logs_list))))
{
- warning (_ ("usable-duration-logs must be a non-empty list. Falling back to whole rests."));
+ warning (_ ("usable-duration-logs must be a non-empty list."
+ " Falling back to whole rests."));
closest_usable_duration_log = 0;
}
else
return s;
}
- Real staff_space = Staff_symbol_referencer::staff_space (me);
-
Font_metric *musfont = Font_interface::get_default_font (me);
int mdl = calc_measure_duration_log (me, true);
if (measure_count == 1)
{
- Stencil s = musfont->find_by_name (Rest::glyph_name (me, mdl, "", true));
if (mdl == 0 && me->get_property ("staff-position") == SCM_EOL)
- s.translate_axis (staff_space, Y_AXIS);
+ {
+ if (Staff_symbol_referencer::on_staff_line (me, 2))
+ me->set_property ("staff-position", scm_from_int (2));
+ else if (Staff_symbol_referencer::on_staff_line (me, 3))
+ me->set_property ("staff-position", scm_from_int (3));
+ }
+
+ Stencil s = musfont->find_by_name (Rest::glyph_name (me, mdl, "", true));
s.translate_axis ((space - s.extent (X_AXIS).length ()) / 2, X_AXIS);
return s;
if (!spacing)
spacing = unsmob_grob (ri->get_object ("spacing"));
if (!spacing)
- me->warning ("Using naive multi measure rest spacing.");
+ me->warning (_ ("Using naive multi measure rest spacing."));
else
{
Spacing_options options;