EasyRPG / Player

RPG Maker 2000/2003 and EasyRPG games interpreter
https://easyrpg.org/player/
GNU General Public License v3.0
1.01k stars 192 forks source link

Replace libmodplug with libopenmpt #2408

Open fdelapena opened 4 years ago

fdelapena commented 4 years ago

There are several reasons:

Compared to current libxmp, 2019 has 3 commits as the most recent ones.

If I recall correctly, current module player implementation in Player (not sure if libmodplug or libxmp) does not handle properly loopstart module commands, not matching @elvissteinjr's Audieremony patch behavior.

The openmpt API differs, so it is not the same API. We added xmp (#967) time ago because libopenmpt was not popular enough in 2016, but that's not an issue anymore, it's currently more accurate than libxmp and plays better. It could even replace libxmp by default.

carstene1ns commented 3 years ago

libopenmpt should be easy to integrate, we do not use libmodplug directly, so this is only about libxmp. Back then another reason for the choice of xmp was the availability of the lite version for smaller binary size. A static xmp-lite is 144K stripped, libopenmpt (shared, without dependencies!) is already 1,7M.

AFAIK the loopstart stuff is only for ogg files, so a separate (though easy) issue.