Font_metric *musfont
= Font_interface::get_font (me,style_chain);
+ SCM sml = me->get_grob_property ("use-breve-rest");
+
if (measures == 1)
{
- Molecule s = musfont->find_by_name (Rest::glyph_name (me, 0, ""));
+ if (sml == SCM_BOOL_T)
+ {
+ Molecule s = musfont->find_by_name (Rest::glyph_name (me, -1, ""));
+
+ s.translate_axis ((space - s.extent (X_AXIS).length ())/2, X_AXIS);
+
+ return s ;
+ }
+ else
+ {
+ Molecule s = musfont->find_by_name (Rest::glyph_name (me, 0, ""));
- /*
- ugh.
- */
- if (Staff_symbol_referencer::get_position (me) == 0.0)
- s.translate_axis (staff_space, Y_AXIS);
+ /*
+ ugh.
+ */
+ if (Staff_symbol_referencer::get_position (me) == 0.0)
+ s.translate_axis (staff_space, Y_AXIS);
- s.translate_axis ((space - s.extent (X_AXIS).length ())/2, X_AXIS);
+ s.translate_axis ((space - s.extent (X_AXIS).length ())/2, X_AXIS);
- return s ;
+ return s ;
+ }
}
else
{
int l = measures;
int count = 0;
Real symbols_width = 0.0;
+
+ SCM sml = me->get_grob_property ("use-breve-rest");
+
while (l)
{
- int k;
- if (l >= 4)
- {
- l-=4;
- k = -2;
- }
- else if (l>= 2)
+ if (sml == SCM_BOOL_T)
{
- l -= 2;
- k = -1;
+ int k;
+ if (l >= 2)
+ {
+ l-=2;
+ k = -2;
+ }
+ else
+ {
+ l -= 1;
+ k = -1;
+ }
+
+ Molecule r (musfont->find_by_name ("rests-" + to_string (k)));
+ symbols_width += r.extent (X_AXIS).length ();
+ mols = gh_cons (r.smobbed_copy (), mols);
}
- else
- {
- k = 0;
- l --;
- }
-
- Molecule r (musfont->find_by_name ("rests-" + to_string (k)));
- if (k == 0)
+ else
{
- Real staff_space = Staff_symbol_referencer::staff_space (me);
- r.translate_axis (staff_space, Y_AXIS);
+ int k;
+ if (l >= 4)
+ {
+ l-=4;
+ k = -2;
+ }
+ else if (l>= 2)
+ {
+ l -= 2;
+ k = -1;
+ }
+ else
+ {
+ k = 0;
+ l --;
+ }
+
+ Molecule r (musfont->find_by_name ("rests-" + to_string (k)));
+ if (k == 0)
+ {
+ Real staff_space = Staff_symbol_referencer::staff_space (me);
+ r.translate_axis (staff_space, Y_AXIS);
+ }
+ symbols_width += r.extent (X_AXIS).length ();
+ mols = gh_cons (r.smobbed_copy (), mols);
}
- symbols_width += r.extent (X_AXIS).length ();
- mols = gh_cons (r.smobbed_copy (), mols);
count ++;
}
",
- "expand-limit measure-count number-threshold padding thickness");
+ "expand-limit measure-count number-threshold padding thickness use-breve-rest");