Closed Midi-In closed 3 years ago
Unfortunately, currently it's not possible. openmpt uses modern c++17 language standard which is not supported by some of the toolchains used by zxtune. And I still have no idea how to change that.
But you may try to ask openmpt maintainers to support compilers with old standard (c++11 as for now).
libopenmpt 0.4 only requires C++11 and is still supported in addition to libopenmpt 0.5 (which indeed requires C++17). It's completely ruled out that in the year 2020 (well, almost 2021) we will go back to supporting C++11. Moving to a more modern language standard was a very concious decision.
libopenmpt 0.4 only requires C++11 and is still supported in addition to libopenmpt 0.5 (which indeed requires C++17). It's completely ruled out that in the year 2020 (well, almost 2021) we will go back to supporting C++11. Moving to a more modern language standard was a very concious decision.
That's good news! I would be glad to support C++17 (or even fresh C++20) in my project, but some of the toolchains don't support anything but C++11 :(
Then the problem is at least partially solved - implement libopenmpt 0.4 first, as the initial step in the direction of deprecating libxmp
Done in 9f16290e2f17c03062561aba8688dec4ecd69a7d
Currently ZXTune plays classic sampled tracker module formats (.IT, .XM, .S3M, .MOD) utilising XMP library which is less accurate compared to libopenmpt and its development seems be on hiatus (last release was on Oct 12 2016). Moreover libopenmpt supports OpenMPT's native MPTM format, which XMP does not. Would ditching XMP in favour of libopenmpt (or at the very least giving the user the choice between the two) be feasible in the foreseeable future?
Hopefully exposing more playback settings like volume ramping, stereo separation, different resampling algorithms and Amiga filter toggle to the user through libopenmpt API would also be possible.