Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor MIDI library inclusion #356

Open
mrikola opened this issue Mar 26, 2020 · 1 comment
Open

Refactor MIDI library inclusion #356

mrikola opened this issue Mar 26, 2020 · 1 comment

Comments

@mrikola
Copy link
Contributor

mrikola commented Mar 26, 2020

Current situation:

  • ADLMIDI and Fluidsynth-lite are bundled in with the code
  • Native MIDI support was added after the two
  • ADLMIDI mostly sounds like crap
  • Fluidsynth quality depends on soundfont; there's a really good one in the works over at https://www.systemshock.org/index.php?topic=10927 but the download clocks in at 350MB+

Target situation:

  • Native MIDI is the baseline
  • Fluidsynth is an optional nice-to-have for customization purposes
  • ADLMIDI is the fallback if all else fails

Comments welcome as to which MIDI libraries should be included and how.

@HunterZ
Copy link
Contributor

HunterZ commented Mar 27, 2020

I don't have any strong opinions on this, but here are some thoughts as the person who contributed native MIDI support:

  • The upshot of ADLMIDI is that it works for everyone out of the box, even if it sounds the worst.
  • Windows has a General MIDI software synthesizer built-in that the native MIDI support will use by default on that platform.
  • Linux native MIDI support was only tested in a VM, and it takes some effort to set up a software synthesizer that works with it.
  • I wasn't able to attempt native MIDI support for Mac, so it's not even an option there unless someone else added it.
  • Ideally they should probably all be optional, and the game should figure out which ones got compiled in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants