diff options
-rw-r--r-- | CMakeLists.txt | 60 | ||||
-rw-r--r-- | README.md | 34 |
2 files changed, 58 insertions, 36 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 29b5110..21fd643 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,27 +56,29 @@ function(set_legacy_standard destTarget) endfunction() #=========================================================================================== -option(WITH_MIDIPLAY "Build also demo MIDI player" OFF) -option(MIDIPLAY_WAVE_ONLY "Build Demo MIDI player without support of real time playing. It will output into WAV only." OFF) -option(WITH_ADLMIDI2 "Build also classic ADLMIDI player [EXPERIMENTAL]" OFF) -option(WITH_VLC_PLUGIN "Build also a plugin for VLC Media Player" OFF) -option(WITH_OLD_UTILS "Build also old utilities" OFF) -option(WITH_EMBEDDED_BANKS "Use embedded banks" ON) -option(WITH_GENADLDATA "Build and run full rebuild of embedded banks cache" OFF) -option(WITH_GENADLDATA_COMMENTS "Enable comments in generated ADLDATA cache file" OFF) -option(USE_DOSBOX_EMULATOR "Use DosBox 0.74 OPL3 emulator (semi-accurate, suggested for slow or mobile platforms)" ON) -option(USE_NUKED_EMULATOR "Use Nuked OPL3 emulator (most accurate, powerful)" ON) +option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON) +option(libADLMIDI_SHARED "Build shared library of libADLMIDI" OFF) + option(WITH_CPP_EXTRAS "Build with support for C++ extras (features are can be found in 'adlmidi.hpp' header)" OFF) option(WITH_MIDI_SEQUENCER "Build with embedded MIDI sequencer. Disable this if you want use library in real-time MIDI drivers or plugins.)" ON) +option(WITH_EMBEDDED_BANKS "Use embedded banks" ON) +option(WITH_HQ_RESAMPLER "Build with support for high quality resampling" OFF) option(WITH_MUS_SUPPORT "Build with support for DMX MUS files)" ON) option(WITH_XMI_SUPPORT "Build with support for AIL XMI files)" ON) -option(WITH_HQ_RESAMPLER "Build with support for high quality resampling" OFF) +option(USE_DOSBOX_EMULATOR "Use DosBox 0.74 OPL3 emulator (semi-accurate, suggested for slow or mobile platforms)" ON) +option(USE_NUKED_EMULATOR "Use Nuked OPL3 emulator (most accurate, powerful)" ON) -option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON) -option(libADLMIDI_SHARED "Build shared library of libADLMIDI" OFF) +option(WITH_GENADLDATA "Build and run full rebuild of embedded banks cache" OFF) +option(WITH_GENADLDATA_COMMENTS "Enable comments in generated ADLDATA cache file" OFF) +option(WITH_MIDIPLAY "Build also demo MIDI player" OFF) +option(MIDIPLAY_WAVE_ONLY "Build Demo MIDI player without support of real time playing. It will output into WAV only." OFF) +option(WITH_ADLMIDI2 "Build also classic ADLMIDI player [EXPERIMENTAL]" OFF) +option(WITH_VLC_PLUGIN "Build also a plugin for VLC Media Player" OFF) +option(WITH_OLD_UTILS "Build also old utilities" OFF) option(EXAMPLE_SDL2_AUDIO "Build also a simple SDL2 demo MIDI player" OFF) + if(CMAKE_VERSION VERSION_EQUAL "3.1" OR CMAKE_VERSION VERSION_GREATER "3.1") set(CMAKE_CXX_STANDARD 11) endif() @@ -517,22 +519,26 @@ if(WITH_UNIT_TESTS) endif() message("==== libADLMIDI options ====") +message("libADLMIDI_STATIC = ${libADLMIDI_STATIC}") +message("libADLMIDI_SHARED = ${libADLMIDI_SHARED}") +message("WITH_UNIT_TESTS = ${WITH_UNIT_TESTS}") + +message("WITH_CPP_EXTRAS = ${WITH_CPP_EXTRAS}") +message("WITH_MIDI_SEQUENCER = ${WITH_MIDI_SEQUENCER}") +message("WITH_EMBEDDED_BANKS = ${WITH_EMBEDDED_BANKS}") +message("WITH_HQ_RESAMPLER = ${WITH_HQ_RESAMPLER}") +message("WITH_MUS_SUPPORT = ${WITH_MUS_SUPPORT}") +message("WITH_XMI_SUPPORT = ${WITH_XMI_SUPPORT}") +message("USE_DOSBOX_EMULATOR = ${USE_DOSBOX_EMULATOR}") +message("USE_NUKED_EMULATOR = ${USE_NUKED_EMULATOR}") + +message("===== Utils and extras =====") +message("WITH_GENADLDATA = ${WITH_GENADLDATA}") +message("WITH_GENADLDATA_COMMENTS = ${WITH_GENADLDATA_COMMENTS}") + message("WITH_MIDIPLAY = ${WITH_MIDIPLAY}") -message("WITH_VLC_PLUGIN = ${WITH_VLC_PLUGIN}") message("MIDIPLAY_WAVE_ONLY = ${MIDIPLAY_WAVE_ONLY}") message("WITH_ADLMIDI2 = ${WITH_ADLMIDI2}") +message("WITH_VLC_PLUGIN = ${WITH_VLC_PLUGIN}") message("WITH_OLD_UTILS = ${WITH_OLD_UTILS}") -message("WITH_EMBEDDED_BANKS = ${WITH_EMBEDDED_BANKS}") -message("WITH_GENADLDATA = ${WITH_GENADLDATA}") -message("WITH_GENADLDATA_COMMENTS = ${WITH_GENADLDATA_COMMENTS}") -message("USE_DOSBOX_EMULATOR = ${USE_DOSBOX_EMULATOR}") -message("USE_NUKED_EMULATOR = ${USE_NUKED_EMULATOR}") -message("WITH_MIDI_SEQUENCER = ${WITH_MIDI_SEQUENCER}") -message("WITH_CPP_EXTRAS = ${WITH_CPP_EXTRAS}") -message("WITH_MUS_SUPPORT = ${WITH_MUS_SUPPORT}") -message("WITH_XMI_SUPPORT = ${WITH_XMI_SUPPORT}") -message("WITH_HQ_RESAMPLER = ${WITH_HQ_RESAMPLER}") -message("libADLMIDI_STATIC = ${libADLMIDI_STATIC}") -message("libADLMIDI_SHARED = ${libADLMIDI_SHARED}") message("EXAMPLE_SDL2_AUDIO = ${EXAMPLE_SDL2_AUDIO}") -message("WITH_UNIT_TESTS = ${WITH_UNIT_TESTS}") @@ -57,20 +57,35 @@ sudo make install ## Available CMake options + +### Library options * **CMAKE_PREFIX_PATH** - destinition folder where libADLMIDI will be installed. On Linux it is /usr/local/ by default. * **CMAKE_BUILD_TYPE** - Build types: **Debug** or **Release** -* **WITH_MIDIPLAY** - (ON/OFF, default OFF) Build demo MIDI player (Requires SDL2 and also pthread on Windows with MinGW) -* **WITH_VLC_PLUGIN** - (ON/OFF, default OFF) Compile VLC plugin. For now, works on Linux and VLC version 2.2.2. Support for newer VLC versions and other platforms comming soon! -* **WITH_ADLMIDI2** - (ON/OFF, default OFF) Build Classic ADLMIDI MIDI player (Requires SDL2 on Linux and macOS, requires pthread on Windows with MinGW, SDL doesn't required on Windows. Also, the **WITH_CPP_EXTRAS** flag must be enabled) + +* **libADLMIDI_STATIC** - (ON/OFF, default ON) Build static library +* **libADLMIDI_SHARED** - (ON/OFF, default OFF) Build shared library +* **WITH_UNIT_TESTS** - (ON/OFF, default OFF) Enable unit testing + * **WITH_CPP_EXTRAS** - (ON/OFF, default OFF) Build libADLMIDI with some extra public features for C++ language (for example, instrument testing API is available for C++ only). -* **WITH_OLD_UTILS** - (ON/OFF, default OFF) Build old utilities to dump some bank formats, made by original creator of ADLMIDI +* **WITH_MIDI_SEQUENCER** - (ON/OFF, default ON) Build with embedded MIDI sequencer. Disable this if you want use library in real-time MIDI drivers or plugins.) * **WITH_EMBEDDED_BANKS** - (ON/OFF, default ON) Enable or disable embedded banks (Original ADLMIDI and older versions of libADLMIDI are had embedded-only banks with no ability to load custom banks in runtime). -* **WITH_GENADLDATA** - (ON/OFF, default OFF) Build and execute the utility which will rebuild the embedded banks database (which is an adldata.cpp file). +* **WITH_HQ_RESAMPLER** - (ON/OFF, default OFF) Build with support for high quality resampling (requires zita-resampler to be installed) +* **WITH_MUS_SUPPORT** - (ON/OFF, default ON) Build with support for DMX MUS files) +* **WITH_XMI_SUPPORT** - (ON/OFF, default ON) Build with support for AIL XMI files) * **USE_DOSBOX_EMULATOR** - (ON/OFF, default ON) Enable support for DosBox 0.74 emulator. (Well-accurate and fast) * **USE_NUKED_EMULATOR** - (ON/OFF, default ON) Enable support for Nuked OPL3 emulator. (Very-accurate, needs more CPU power) -* **libADLMIDI_STATIC** - (ON/OFF, default ON) Build static library -* **libADLMIDI_SHARED** - (ON/OFF, default OFF) Build shared library + +### Utils and extras +* **WITH_GENADLDATA** - (ON/OFF, default OFF) Build and execute the utility which will rebuild the embedded banks database (which is an adldata.cpp file). +* **WITH_GENADLDATA_COMMENTS** - (ON/OFF, default OFF) Enable comments in generated ADLDATA cache file + +* **WITH_MIDIPLAY** - (ON/OFF, default OFF) Build demo MIDI player (Requires SDL2 and also pthread on Windows with MinGW) +* **MIDIPLAY_WAVE_ONLY** - (ON/OFF, default OFF) Build Demo MIDI player without support of real time playing. It will output into WAV only. +* **WITH_ADLMIDI2** - (ON/OFF, default OFF) Build Classic ADLMIDI MIDI player (Requires SDL2 on Linux and macOS, requires pthread on Windows with MinGW, SDL doesn't required on Windows. Also, the **WITH_CPP_EXTRAS** flag must be enabled) +* **WITH_VLC_PLUGIN** - (ON/OFF, default OFF) Compile VLC plugin. For now, works on Linux and VLC. Support for other platforms comming soon! +* **WITH_OLD_UTILS** - (ON/OFF, default OFF) Build old utilities to dump some bank formats, made by original creator of ADLMIDI +* **EXAMPLE_SDL2_AUDIO** - (ON/OFF, default OFF) Build also a simple SDL2 demo MIDI player ## You also can build library manually: @@ -143,8 +158,9 @@ To build that example you will need to have installed SDL2 library. * Fixed an incorrect processing of auto-flags * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME! - * Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk - * The automatical choosing of 4 operator channels count has been improved + * Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!) + * The automatical choosing of 4 operator channels count has been improved (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!) + * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!) ## 1.3.2 2018-04-24 * Added ability to disable MUS and XMI converters |