Laserschwert: I'm on Windows, but if it doesn't make things more difficult, multi-platform never hurts. Do you think that once it's set up, your tool could work for the TIE Fighter music as well?
Tarvis: Yup, the music files and the loop tables are the same format, just with 8 character filenames and more states (12 instead of 9, and references to state 0 and state 13 may indicate some arbitrary special loop cases which I must figure out)
Laserschwert: By the way, I've noticed something about X-Wing's in-flight music: The four bars of silence at the beginning of each track aren't actually silence in all files. Some, like DG21 to DG31, play notes in there, so I guess they ARE already supposed to have an overlap of those 4 bars. Technically this means each new piece of music is started 4 bars before the end of the current piece (so those 4 bars don't have to be removed at all!).
Tarvis: Strange. In my conversions, I do not have any preceding notes. Maybe I manually stripped them out, I don't remember. I converted them a long time ago...
Otherwise, look at the event lists for them. It is possible that such notes if present are never actually played by the engine, because the SysEx Jump command I described earlier may come before them. If so, they are probably just leftover from earlier revisions of those files during development and can be ignored.
EDIT: Okay, I looked into this. Turns out many of the inflight segments had 2 tracks. I looked into how they are called. Those segments have a jump point in Track 1 near the middle that calls it to play Track 2 which is only 2 notes long. Curiously, I discovered that those two notes are already present at the position Track 2 is called in Track 1! So it seems redundant. The only thing extra in Track 2 is a SysEx command 7D 40 which apparently according to ScummVM's iMUSE specs is nothing more than a marker. So all it is is some kind of metadata. I did not check every multitrack segment but all of them I did check were the same way (including DG21 to DG31). So, I decided it was simply safe to discard all Track 2s for the inflight music.
I think what you're finding is that you did NOT convert your MIDis from Type 2 to Type 0 or 1. That means your MIDIs contain both tracks in the same MIDI, and track 2 only has a 2 note delay instead of 4.
Altureus: I found that Timbers of Heaven to be an extremely good soundfont too if you are interested in using that.
Tarvis: I think we should consider different soundfonts after all. It seems like some of Chorium's patches are slightly out of tune. That's what it sounds like at the end of the Concourse loop I recorded. Of course, it could just be my synth (CoolSoft) Can anyone else confirm for me?
/xwing_chorium_concourse.ogg HALMARCH00_loop.mid One of those notes at the end does sound kind of off tune. But i tested it with Coolsoft using Timbers of Heaven and Chorium RevA checked and it seemed fine.