Commit graph

25 commits

Author SHA1 Message Date
RoqueDeicide
b31b43efd0 Updated fluidsynth chorus and reverb setting limits. 2024-04-03 16:12:24 +02:00
Evghenii
5ce525efc7 Fix second VectorReader constructor 2023-11-29 06:52:21 +01:00
Cacodemon345
b5bd930369 Switch to miniz from zlib 2023-09-17 23:53:53 +02:00
Sam James
7695852856 Add missing standard library includes (fix build with GCC 13)
GCC 13 (as usual for new compiler releases) shuffles around some
internal includes and so <cstdint> etc is no longer transitively included.

See https://www.gnu.org/software/gcc/gcc-13/porting_to.html.

Bug: https://bugs.gentoo.org/892814
2023-02-04 21:40:13 +01:00
Christoph Oelckers
47475495f4 - integrate FluidSynth directly into the project in source form.
The primary reason for this is to avoid dealing with FluidSynth's rather messy compile setup.
This also protects us from breaking API/ABI changes like between version 1 and 2.

This still needs work for Linux/macOS to deal with glib. Windows works fine.
2022-07-31 12:12:11 +02:00
Emanuele Disco
a3b79ca8f6 - fixed FileSystemSoundFontReader fail to read gus patches.
The method open_file use read text flags to open a file and it fail to check the header of the gus patches, by setting the flag to read binary fix the issue.
2022-04-09 22:41:24 +02:00
Emanuele Disco
f4cfb36f4a Fixes for gus and wildmidi emulation
- fixed gus emulation not working with DMXGUS and DMXGUSC lump
- gus_patchdir and/or ULTRADIR variable can be used to load custom gus patches together with main patches set with midi_config (not required when using DMXGUS(C) lump configuration)
- gus_patchdir and ULTRADIR variable can be used with both DMXGUS and timidity configuration when using GUS emulation
- fixed wildmidi emulation not working with collection of gus patches (resource files)
- removed sf2 files from midi_config items for gus emulation (when using sf2 with gus emulation the sound is distorted), only resource files will be listed to be used with gus emulation.
- removed the `already loaded` check from timidity setup in order to recreate the reader even when changing the gus memory.
2022-04-09 22:41:24 +02:00
Chris Robinson
ae70ea40f2 Better handle various formats in SndFileSong 2021-11-06 09:00:11 +01:00
Chris Robinson
db05f4a8ef Implement ZMusic_GetStreamInfo using GetStreamInfoEx 2021-11-06 09:00:11 +01:00
Chris Robinson
3696d8fa27 Add a new ZMusic_GetStreamInfoEx function
This provides cleaner info about the stream format
2021-11-06 09:00:11 +01:00
Braden Obrzut
95e6bfcd8c Better support for vendoring
- Allow ZLIB::ZLIB target to be provided by a unified build
- Added ZMUSIC_INSTALL variable to allow disabling of install rules (mostly due to how install(EXPORT) works)
- Static libraries don't need dllimport/dllexport on Windows
- Fixed: INTERFACE include directory was missing from zmusic/zmusiclite targets when using with add_subdirectory
- use_fast_math CMake function updated to allow source files to be passed (for GZDoom/Raze)
2021-05-31 22:22:57 +02:00
alexey.lysiuk
e598ab7f1c - fixed file closing in standard MIDI file writer
source/zmusic/zmusic.cpp:506:2: warning: deleting pointer to incomplete type '__sFILE' may cause undefined behavior [-Wdelete-incomplete]
2021-03-19 10:04:41 +02:00
Christoph Oelckers
4c223a7de7 - fixed bad return for zmusic_wildmidi_config change. 2021-03-13 23:53:32 +01:00
Christoph Oelckers
ecad4aaf06 - added ZMusic_GetDeviceType function to return the currently active MIDI synth. 2021-03-13 23:53:07 +01:00
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
6b2e4b9153 Use the "Auto" volume model by default at libADLMIDI
After a small set of tests, it's fine to use the "AUTO" volume model by default.
Every embedded bank and every WOPL file has a setting of a volume model that matches to the behavior of the original OPL2/3 driver of each volume model.
2020-10-04 08:03:44 +02:00
Wohlstand
03afaef324 Update default bank and some settings of libADLMIDI 2020-10-04 08:03:44 +02:00
alexey.lysiuk
79effe2353 - fixed print function with va_list argument 2020-02-09 15:18:56 +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
778d0c8faa - added a configuration record that can be used by the client to set up the needed data structures, allowing to deal with internal changes without having to recompile against a more recent version.
Also added the missing defaults for the Dumb config and renamed a few things.
2020-01-04 19:03:42 +01:00
alexey.lysiuk
eb7d20d0d2 - fixed compilation on macOS and Linux 2020-01-04 14:42:22 +01:00
alexey.lysiuk
2422d06835 - removed dependency on SDL 2020-01-04 14:42:22 +01:00
Christoph Oelckers
7466c7da5b - backported ALSA init fix. 2020-01-04 12:26:03 +01:00
Christoph Oelckers
c1bbdcc849 - conditionalize the configuration depending on available content, so that the lite variant also builds successfully. 2020-01-04 12:20:56 +01:00
Christoph Oelckers
a4eae42ec5 - initial commit 2020-01-02 17:52:30 +01:00