Interrupt / systemshock

Shockolate - A minimalist and cross platform System Shock source port.
GNU General Public License v3.0
803 stars 62 forks source link

additional music enhancements #286

Open HunterZ opened 5 years ago

HunterZ commented 5 years ago

I've done even more than I set out to accomplish with music support enhancements, but here are some additional items that I thought about during the process in case anyone is interested:

HunterZ commented 5 years ago

Native MIDI should also probably advertise the MIDI Mapper output. I'm thinking of reporting it as output number zero, and shifting all the normal output numbers up by one.

HunterZ commented 5 years ago

Windows MIDI mapper is now supported.

HunterZ commented 5 years ago

Linux ALSA sequencer is now supported via PR #291

I don't have the ability to develop Mac software, so someone else will have to do it. I suggest looking at the CoreMidi/CoreAudio backends for ScummVM and DOSBox as a starting point: https://github.com/scummvm/scummvm/tree/master/backends/midi https://sourceforge.net/p/dosbox/code-0/HEAD/tree/dosbox/trunk/src/gui/

HunterZ commented 5 years ago

Implemented FluidMidi in-game soundfont selection in PR #291. Should work on all platforms, but I was only able to test on Windows and Linux.

HunterZ commented 5 years ago

It was easy to have AdlMidi advertise banks as outputs, but there are a couple of issues that have led me to abandon this idea for now:

I think we would need something like the load/save UI, but with prev/next page buttons and maybe two columns of text.

markkurikola commented 5 years ago

Based on https://bisqwit.iki.fi/source/adlmidi.html we should only be using bank 45 anyway, so I'd say that's not really a feature worth adding.