Also, regarding the music thing,
Löve uses libmodplug to play back specific,
sample(r)-based tracker formats; it has a neat list what it supports, but here are the list of things it doesn't:
- Any deflemask format, because those aren't sample-based, they are sound-chip based;
- FamiTracker, for the same reason, uses the chip found in the NES;
- HivelyTracker, because it simulates a SID chip;
- Klystracker, same as above;
- Abyss' Highest Experience, same as above.
And loads of other tracker formats aren't supported either because they'd be out of scope for libmodplug... as well as the fact that libmodplug's not being actively maintained either (and replacing it with libopenmpt would be complicated to do, but i digress)
You have three options basically,in order of simplicity:
- Render music into wav/ogg/mp3/flac depending on how much of an audiophile you are

, downside is of course storage space increase;
- Re-compose music in sample-based formats; MOD/S3M/XM/IT are the "big 4" that are most supported; i'd recommend either S3M or IT though, they have the least badly-defined behaviour (and although S3M does support AdLib OPL2 synth channels, libmodplug unfortunately doesn't implement those),
- Implement a replayer for Deflemask formats (whether getting a c lib or doing it in lua). I did the latter for S3M myself as an experiment, and löve handles it nicely, but chip-based is always way over-complicated to implement in software... you can take a peek at how Reality AdLib Tracker 2 implemented an OPL3 chip, since they FOSS-ed the code for it.