From a53d70ed61f87a5a49426b1e3066dbba09907199 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Tue, 1 Oct 2013 12:20:06 -0700 Subject: [PATCH] Prefer flats rather than sharps when converting from MIDI It's ambiguous before we look at the key, (which often tells us what to do). But when the key doesn't indicate, we can really say flat from above or sharp from below. The preference for choosing flat here is so that if we input a scale such as Db major, we get that key signature (with 5 flats) rather than the rather unlikely key of C# with 7 sharps. --- pitch.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pitch.c b/pitch.c index 03eb481..6bb6470 100644 --- a/pitch.c +++ b/pitch.c @@ -255,13 +255,13 @@ pitch_from_midi (unsigned char midi_note) return PITCH_LITERAL (C, NATURAL, octave); break; case 1: - return PITCH_LITERAL (C, SHARP, octave); + return PITCH_LITERAL (D, FLAT, octave); break; case 2: return PITCH_LITERAL (D, NATURAL, octave); break; case 3: - return PITCH_LITERAL (D, SHARP, octave); + return PITCH_LITERAL (E, FLAT, octave); break; case 4: return PITCH_LITERAL (E, NATURAL, octave); @@ -270,19 +270,19 @@ pitch_from_midi (unsigned char midi_note) return PITCH_LITERAL (F, NATURAL, octave); break; case 6: - return PITCH_LITERAL (F, SHARP, octave); + return PITCH_LITERAL (G, FLAT, octave); break; case 7: return PITCH_LITERAL (G, NATURAL, octave); break; case 8: - return PITCH_LITERAL (G, SHARP, octave); + return PITCH_LITERAL (A, FLAT, octave); break; case 9: return PITCH_LITERAL (A, NATURAL, octave); break; case 10: - return PITCH_LITERAL (A, SHARP, octave); + return PITCH_LITERAL (B, FLAT, octave); break; case 11: return PITCH_LITERAL (B, NATURAL, octave); -- 2.43.0