Wohlstand / libADLMIDI

A Software MIDI Synthesizer library with OPL3 (YMF262) emulator
GNU Lesser General Public License v3.0
176 stars 17 forks source link

Use CMake build system #25

Closed Wohlstand closed 6 years ago

Wohlstand commented 7 years ago

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:

Wohlstand commented 7 years ago

Everything is complete! Works on Linux and Windows (MinGW). MacOS and Windows-MSVC test is needed.

Wohlstand commented 7 years ago

Finally works on MSVC, even GenAdldata while building (however in-ide adldata's progress output log is glitchy). macOS is not tested yet.

Wohlstand commented 7 years ago

Okay, libADLMIDI now is usable on DJGPP too to have hardware support for OPL3 chip. ADLMIDI2 (reorganized original ADLMIDI tool) works fine: 2017-11-10 01-52-48

I'll try to add support for OpenWattcom.

Wohlstand commented 6 years ago

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.

Wohlstand commented 6 years ago

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.

Wohlstand commented 6 years ago

Okay, ADLMIDI2 now works on macOS! (include playing with a rewerb!) It is buildable through both XCode project and Makefile ways.

2017-12-09 17 58 43

However, it is glitchy when exiting from the player... It's common issue, but also happens on macOS too: 2017-12-09 18 02 44

Wohlstand commented 6 years ago

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.