OpenMPT also does not distributed with MFC because it is part of Windows, but to make it cross platform I read somewhere you will replace it with another toolkit. AFAIK Qt is the candidate for MFC replacement.
OpenMPT (and i think also original ModPlug Tracker) always shipped MFC itself (statically linked).
So replacing GM.dls with GMGSx.sf2 is something like replacing MFC with Qt.
No, reading samples from GM.dls is an optional features. A GUI toolkit is not an optional component of a GUI program.
We do not ship GM.dls or any other samples, and will certainly not start doing that. There are gazillions of free sample libraries around with compatible licenses. Where would we stop shipping samples?
For consistent user experience in each platform, OpenMPT cannot depends on platform specific solutions
OpenMPT does not depend on GM.dls. It is able to use it if available.
OpenMTP uses various platform-specific features already, without impacting consistency in an major way:
- compressed sample decoding via MediaFoundation (only available on Windows 7 or later, not available on Wine)
- various really platform-specific sound device drivers (WASAPI, ASIO, WDMKS, WaveRT, PulseAudio, ALSA)
- probably more stuff that I cannot remember right now
I don't think the cross platform version of OpenMPT will use MFC for Windows, Cocoa for OS X, GTK+ for GNOME, and Qt for KDE instead of using just Qt for all of the supported platform.
I'd imagine it would use MFC on Windows and QT on everything else as well as Windows for quite some time in parallel, maybe even forever.
Besides, going platform-independent in the future would also mean to rid of the currently used plugin architecture, as the VST system is only available for Windows hosts primary, and is not guaranteed to work with Wine on several Linux systems for example.
There is no technical obstacle to supporting Windows VST plugins in a potential future native Linux OpenMPT version. This can either be implemented via a custom bridge based on Wine, or using some existing Linux VST bridge (which I think thereof do exist multiple ones).
OpenMPT is already kind of cross-platform by explicitly supporting Wine.
Most Linux systems require LADSPA plugins instead, and on macos you have the Audio Unit plugin interface.
OpenMPT 1.27 can even use some native Linux sound drivers. In theory, OpenMPT running on Wine on Linux could also use Linux-native plugins This is just a matter of implementing corresponding bridge functionality.
In any case, cross-platform OpenMPT would certainly not change VST support on Windows. Other plugin architectures could additionally be integrated just as well as VST is.
In any case, the ability to optionally use some system-provided soundfont is by very very far the least of the problems to be solved on the way to any kind of real cross-platform support. Frankly it's very close to irrelevant, given the amount of work in total.