Closed Wohlstand closed 6 years ago
Everything is complete! Works on Linux and Windows (MinGW). MacOS and Windows-MSVC test is needed.
Finally works on MSVC, even GenAdldata while building (however in-ide adldata's progress output log is glitchy). macOS is not tested yet.
Okay, libADLMIDI now is usable on DJGPP too to have hardware support for OPL3 chip. ADLMIDI2 (reorganized original ADLMIDI tool) works fine:
I'll try to add support for OpenWattcom.
OpenWattcom, unfortunately, hard to support because of cluncky implementation of STL, especially a memory management and RB-Tree used by std::set and std::map. Therefore usage of those classes cauaes application to crash. Also, std::stringstream is not implemented, a dummy header with "TODO" was prrsented instead of real implementation. The test was done on DOS, as demo music tool needs SDL2 be also built on OpenWattcom to work on modern operating systems such as Linux. As alternative, try to implement a direct usage of PulseAudio to pass audio output through it.
Okay, to debug a workflow on OpenWatcom under Linux is need to only make the "Wave-Only" version that only can write WAV files. Then we are will be able to debug the build.
Okay, ADLMIDI2 now works on macOS! (include playing with a rewerb!) It is buildable through both XCode project and Makefile ways.
However, it is glitchy when exiting from the player... It's common issue, but also happens on macOS too:
Okay, looks like the stuff is fine now. Related to Watcom side, looks like it's a very buggy case, and looks like I need to use a different thing for it.
While now everything is building through raw makefiles, I want to have CMake which is very advanced, flexible, and easy to use.
What new build must be able:
Build on operating systems
Entire CMake project must be buildable and tested on next operating systems and toolchains: