- int i;
-
- pitch_t sharp_keys[] = {
- PITCH_CLASS_LITERAL (C, NATURAL),
- PITCH_CLASS_LITERAL (G, NATURAL),
- PITCH_CLASS_LITERAL (D, NATURAL),
- PITCH_CLASS_LITERAL (A, NATURAL),
- PITCH_CLASS_LITERAL (E, NATURAL),
- PITCH_CLASS_LITERAL (B, NATURAL),
- PITCH_CLASS_LITERAL (F, SHARP),
- PITCH_CLASS_LITERAL (C, SHARP),
- };
-
- pitch_t flat_keys[] = {
- PITCH_CLASS_LITERAL (C, NATURAL),
- PITCH_CLASS_LITERAL (F, NATURAL),
- PITCH_CLASS_LITERAL (B, FLAT),
- PITCH_CLASS_LITERAL (E, FLAT),
- PITCH_CLASS_LITERAL (A, FLAT),
- PITCH_CLASS_LITERAL (D, FLAT),
- PITCH_CLASS_LITERAL (G, FLAT),
- PITCH_CLASS_LITERAL (C, FLAT)
- };
-
- score->key.pitch = PITCH_CLASS (PITCH_NAME (key), PITCH_ACCIDENTAL (key));
-
- score->key.num_sharps = 0;
- for (i = 0; i < ARRAY_SIZE (sharp_keys); i++)
- if (sharp_keys[i] == score->key.pitch)
- score->key.num_sharps = i;
-
- score->key.num_flats = 0;
- for (i = 0; i < ARRAY_SIZE (flat_keys); i++)
- if (flat_keys[i] == score->key.pitch)
- score->key.num_flats = i;