- bool parens = false;
- if (to_boolean (a->get_property ("cautionary")))
- {
- SCM cstyle = a->get_property ("cautionary-style");
- parens = ly_is_equal (cstyle, ly_symbol2scm ("parentheses"));
- }
-
- SCM accs = a->get_property ("accidentals");
- SCM scm_style = a->get_property ("style");
- if (!scm_is_symbol (scm_style)
- && !parens
- && scm_ilength (accs) == 1)
- {
- switch (scm_to_int (scm_car (accs)))
- {
- case FLAT:
- {
- Box stem = b;
- Box bulb = b;
-
- /*
- we could make the stem thinner, but that places the flats
- really close.
- */
- stem[X_AXIS][RIGHT] *= .5;
-
- /*
- To prevent vertical alignment for 6ths
- */
- stem[Y_AXIS] *= 1.1;
- bulb[Y_AXIS][UP] *= .35;
-
- boxes.push_back (bulb);
- boxes.push_back (stem);
- }
- break;
- case NATURAL:
- {
- Box lstem = b;
- Box rstem = b;
- Box belly = b;
-
- lstem[Y_AXIS] *= 1.1;
- rstem[Y_AXIS] *= 1.1;
-
- belly[Y_AXIS] *= 0.75;
- lstem[X_AXIS][RIGHT] *= .33;
- rstem[X_AXIS][LEFT] = rstem[X_AXIS].linear_combination (1.0 / 3.0);
- lstem[Y_AXIS][DOWN] = belly[Y_AXIS][DOWN];
- rstem[Y_AXIS][UP] = belly[Y_AXIS][UP];
- boxes.push_back (belly);
- boxes.push_back (lstem);
- boxes.push_back (rstem);
- }
- break;
- /*
- TODO: add support for, double flat.
- */
- }
- }
+ if (tie
+ && !to_boolean (me->get_property ("forced"))
+ && to_boolean (me->get_property ("hide-tied-accidental-after-break")))
+ return ly_interval2scm (Interval ());