Getting the Octaves Right

The MIDI export functionality is now at a point where all notes are exported correctly, in the correct time signature and tempo. However, while I was working on this and testing MIDI file exports, I discovered a shortcoming which has been with us all along: the octaves written at the beginning of each pattern are not correct.

For example, say you have a C note in the 5th octave like this:

Screenshot of C5 note in Sputter

As it stands, if you export that to MIDI you will end up with a C note in the 4th octave:

Screenshot of C4 note in MidiEditor

Playing the note in Sputter and running it into a pitch detector will yield a C note in the 3rd octave:

Screenshot of C3 note in Lingot

To generate MIDI song files closer in line with what you hear in Sputter, the default grid should start at C3, not C5:

First note should be called C3

What to do about this?

So then the problem could be solved by just transposing the note name labels? Well, since the default base note now sounds more like C3, it should be called C3 in the user interface. It should also be exported as a C3 in the MIDI file, and sound like a C3 when played back in Sputter. If just the note names were changed, the C3 would still be exported as a C4 note to the MIDI file.

To get this to work I will have to transpose some of the built in instruments up one octave, and do some dancing around with Sputter song files made with previous versions. It seems like it can be done, and hopefully the first beta with MIDI export will be out in a couple of weeks.