Commit graph

15 commits

Author SHA1 Message Date
Braden Obrzut
b3c4b55dab Overhaul CMakeLists to conform with modern CMake
- Prefer target properties instead of setting variables whenever possible.
  A zmusic-obj target now exists to represent the commonality between zmusic
  and zmusiclite.
- Factored out as much as possible from global settings to per target settings
  which will make it easier to support using ZMusic as a submodule. Moved
  helper functions into a ZUtility.cmake module.
- We now generate and install ZMusicConfig.cmake so find_package(ZMusic)
  will work either automatically or given ZMusic_DIR is set.
- CPack is enabled although some refinement is still needed.
- Requires CMake >= 3.13 which is newer than I would normally like, but given
  how no one like to refactor these things it may be better to deal with the
  short term pain of going a little aggressive on the requirement in order to
  avoid having to make things ugly. Especially given that these scripts have
  a tendency to be copy/pasted into sister projects. CMake itself has very few
  dependencies so users of old Linux distros should be able to easily compile
  a supported version of CMake.
- On Windows CMake >= 3.15 is required for redistributable results.
- Cleaned out bits that were copied from GZDoom but not relevant to ZMusic.
2021-02-16 01:38:10 -05:00
Wohlstand
eac26c3aca libADLMIDI and libOPNMIDI: Fixed an infinite loop caused the stuck
Recently I've got the report from @drfrag666 that at LZDoom some banks
do cause the dead freeze and that is probably because of the merge
problems. However, after my research, I found the bug at me: in a very
special case, a zero delay value may appear that will cause the stuck.
2020-10-16 10:54:25 +02:00
Wohlstand
a175de1531 The small update at libADLMIDI
- Fixed a bug of DMX frequency, accidentally ported from DMX
- Removed the useless adlmidi_sequencer.cpp file
- Synchronize all files of chipset with OPL3-BE
2020-10-15 13:31:04 +02:00
Wohlstand
8eff49f731 libADLMIDI & libOPNMIDI: Apply the important fix
Fixed an incorrect timer processing when using a real-time interface.
This bug does directly affect the case of ZMusic which does use of RealTime API of both libraries.
2020-10-11 07:58:12 +02:00
Wohlstand
13623aeda8 ADL & OPN MIDI: Fixed some MSVC warnings 2020-10-04 08:03:44 +02:00
Wohlstand
c4f24b47f4 OPNMIDI: Try to remive the unistd header at PMDWin emulator
Seems it doesn't required here...
2020-10-04 08:03:44 +02:00
Wohlstand
72c23d98a3 Update libOPNMIDI library to 1.5.0
## 1.5.0   2020-09-28
 * Drum note length expanding is now supported in real-time mode (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added support for OPNA chip with Neko Project II Kai YM2602 emulator usage (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added VGM file dumper which allows to output OPN2 commands into VGM file. (A new MIDI to VGM tool is now created with basing on libOPNMIDI)
 * Fixed an incorrect work of CC-121 (See https://github.com/Wohlstand/libADLMIDI/issues/227 for details)
 * Internality has been refactored and improved
2020-10-04 08:03:44 +02:00
Wohlstand
1d4a016c41 Update libADLMIDI up to 1.5.0
## 1.5.0   2020-09-28
 * Drum note length expanding is now supported in real-time mode (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Channels manager has been improved (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Nuked OPL3 1.8 emulator got some optimizations ported from 1.7 where they are was applied previously (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Reworked rhythm-mode percussions system, WOPL banks with rhythm-mode percussions
 * Added Public Domain Opal OPL3 emulator made by Reality (a team who originally made the Reality Adlib Tracker) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added LGPL licensed JavaOPL3 emulator made by Robson Cozendey in Java and later rewritten into C++ for GZDoom (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Fully rewritten an embedded bank database format, embedded banks now supports a wider set (more than 127:127 instruments in one bank)
 * Improved accuracy of the DMX volume model, include the buggy AM interpretation
 * Improved accuracy of Apogee volume model, include the bug of AM instruments
 * Improved accuracy of the Win9X volume model
 * Removed C++ extras. C++-bounded instruments tester is useless since a real-time MIDI API can completely replace it
 * Added AIL volume model
 * Added Generic FM variant of Win9X volume model
 * Fixed an incorrect work of CC-121 (See https://github.com/Wohlstand/libADLMIDI/issues/227 for details)
 * Added HMI volume model (Thanks to [Alexey Khokholov](https://github.com/nukeykt) for help with research!)
 * Added frequency models, assigned to every volume model: AIL, HMI, DMX, Apogee, 9X, and the Generic formula
2020-10-04 08:03:44 +02:00
alexey.lysiuk
271b919048 - fixed ARM64 compilation errors reported by Xcode 12 beta 4
thirdparty/dumb/src/helpers/resampler.c:927:43: error: invalid operands to binary expression
thirdparty/dumb/src/helpers/resampler.c:1132:13: error: called object type 'const float *' is not a function or function pointer
2020-08-09 15:05:24 +03:00
alexey.lysiuk
9d7175259e - timidity++: better handling of soundfont terminal preset record 2020-06-08 14:55:15 +03:00
alexey.lysiuk
e8b2bd4318 - added header files to CMake generated projects 2020-06-08 11:31:07 +03:00
Cacodemon345
425ac9048d
Fix compilation on NetBSD (#8) 2020-05-30 11:26:23 +03:00
alexey.lysiuk
edd802e655 - added ability to build static libraries
Dynamic libraries are still built by default
2020-02-09 12:30:29 +02:00
Christoph Oelckers
17d7942d02 - made the global interface c compatible. Added an empty C source so that incompatibilities immediately trigger compile errors.
- simplified the message printing interface to a single function.
2020-01-11 12:47:07 +01:00
Christoph Oelckers
a4eae42ec5 - initial commit 2020-01-02 17:52:30 +01:00