-/*
- FIXME: too much hardcoding here.
-*/
-const int FLAT_TOP_PITCH = 2; /* fes, ges, as and bes typeset in lower octave */
-const int SHARP_TOP_PITCH = 4; /* ais and bis typeset in lower octave */
-
-/*
- TODO: look this up. I'm not sure where the naturals ought to go.
-
- COMMENT: Current implementation does not use the NATURAL_TOP_PITCH for anything,
- always typesets naturals in the same place as the thing they cancel. -rz
-*/
-const int NATURAL_TOP_PITCH = 4;
-
-/*
- FIXME: key-item should just get a list of (position, acc), and leave
- the thinking to other parties.
-
- - TODO: put this in Scheme
-
- TODO: can we do without c0pos? it's partly musical.
-*/
-int
-alteration_pos (SCM what, int alter, int c0p)
-{
- if (scm_is_pair (what))
- return scm_to_int (scm_car (what)) * 7 + scm_to_int (scm_cdr (what)) + c0p;
-
- int p = scm_to_int (what);
-
- // Find the c in the range -4 through 2
- int from_bottom_pos = c0p + 4;
- from_bottom_pos = from_bottom_pos % 7;
- from_bottom_pos = (from_bottom_pos + 7) % 7; // Precaution to get positive.
- int c0 = from_bottom_pos - 4;
-
- if ((alter < 0 && ((p > FLAT_TOP_PITCH) || (p + c0 > 4)) && (p + c0 > 1))
- || (alter > 0 && ((p > SHARP_TOP_PITCH) || (p + c0 > 5)) && (p + c0 > 2))
- || (alter == 0 && ((p > NATURAL_TOP_PITCH) || (p + c0 > 5)) && (p + c0 > 2)))
- {
- p -= 7; /* Typeset below c_position */
- }
-
- /* Provide for the four cases in which there's a glitch
- it's a hack, but probably not worth
- the effort of finding a nicer solution.
- --dl. */
- if (c0 == 2 && alter > 0 && p == 3)
- p -= 7;
- if (c0==-3 && alter > 0 && p ==-1)
- p += 7;
- if (c0==-4 && alter < 0 && p ==-1)
- p += 7;
- if (c0==-2 && alter < 0 && p ==-3)
- p += 7;
-
- return p + c0;
-}
-