Commit graph

128 commits

Author SHA1 Message Date
Cacodemon345
b5bd930369 Switch to miniz from zlib 2023-09-17 23:53:53 +02:00
Cacodemon345
576b7da64d Pull in zlib from vcpkg 2023-08-27 13:40:51 +02:00
Cacodemon345
e970fb15f0 Statically link to libsndfile when pulled from vcpkg 2023-08-23 20:02:13 +02:00
Cacodemon345
1d5e34466d vcpkg improvements 2023-08-23 20:02:13 +02:00
Cacodemon345
0a7dc86a55 Allow building with static configurations 2023-08-23 20:02:13 +02:00
Cacodemon345
a036a16450 Add vcpkg.json 2023-08-23 20:02:13 +02:00
Christoph Oelckers
fc30a8f1e4 - 1.1.12 2023-04-02 09:04:28 +02:00
alexey.lysiuk
22ab5b210c - continuous integration workflow revamp
* use latest virtual machines
* use less if's in scripts
* remove installation of fluidsynth
* simplify formatting, and remove lots of useless quotes
2023-02-22 12:02:21 +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
Wohlstand
75d2994b4b OPNMIDI: Fixed MSVC build 2023-01-02 08:11:31 +01:00
Wohlstand
faa997b986 Updated libOPNMIDI to 1.5.1
Changelog:
 * Added an ability to disable the automatical arpeggio
 * Updated the GENS chip emulator from the 2.10 into GS/II (thanks to @freq-mod for the help)
 * Added an ability to set number of loops
 * Added an ability to disable/enable playing of selected MIDI channels
 * Fixed memory damages and crashes while playing XMI files
 * Added the chip channels allocation mode option
 * Fixed the playback of multi-song XMI files
 * Added an ability to switch the XMI song on the fly

And also:
 * Fixed the work on big endian processors
 * Fixed ARM64 build on some platforms
 * Improved support of the EA-MUS files (Thanks to [dashodanger](https://github.com/dashodanger))
 * Fixed crash on attempt to change the volume of a blank note
2023-01-02 08:11:31 +01:00
Wohlstand
5bd573478b Updated libADLMIDI to version 1.5.1
Changelog
 * Added an ability to disable the automatical arpeggio
 * Added an ability to set the count of loops (how many times to play the song)
 * Added an ability to disable/enable playing of selected MIDI channels
 * Fixed memory damages and crashes while playing XMI files
 * Added bank-specific MT32 defaults (to don't confuse XMI playback between different games, works for AIL and IBK only, and for WOPL if set at the header)
 * Added the chip channels allocation mode option
 * Fixed the playback of multi-song XMI files
 * Added an ability to switch the XMI song on the fly

ALSO (future updates)
 * Fixed the work on big endian processors
 * Fixed ARM64 build on some platforms
 * Improved support of the EA-MUS files (Thanks to [dashodanger](https://github.com/dashodanger))
 * Fixed crash on attempt to change the volume of a blank note
2023-01-02 08:11:31 +01:00
Rachael Alexanderson
36a5308de1 - fix velocities and volume on MUS input 2022-12-26 23:36:31 -05:00
alexey.lysiuk
1dda85bbe1 - fixed crash when FluidSynth soundfont cannot be loaded
Since FluidSynth 2.1.6, delete_fluid_settings() must be called after delete_fluid_synth()
2022-11-21 10:05:18 +02:00
Christoph Oelckers
7a7ee92ff8 1.1.11 2022-11-05 13:53:02 +01:00
Marisa Heit
4725517832 Don't mess with the build type in GME's CMakeLists.txt 2022-08-14 08:01:20 +02:00
Christoph Oelckers
8ebcd430b2 - compiles on macOS now. 2022-07-31 20:36:17 +02:00
Christoph Oelckers
dad5c5a765 - fixed compilation on Mac.
Linking still does not work...
2022-07-31 19:30:31 +02:00
Christoph Oelckers
da12efde2b - changed GME_YM2612_EMU to "Nuked".
Since MAME in here is GPL it cannot be used with ZMusicLite.
2022-07-31 14:20:54 +02:00
Christoph Oelckers
43203cb207 - removed command line stuff for FluidSynth.
Nothing of this is needed but it got linked in regardless.
2022-07-31 12:33:13 +02: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
Christoph Oelckers
6da5525ba8 1.1.10 2022-07-21 08:18:38 +02:00
Christoph Oelckers
304de9b0aa - fixed EMIDI track designation checks. 2022-07-21 08:16:06 +02:00
Christoph Oelckers
c5b6c0d317 added missing check for AMF format in module loader 2022-07-18 11:03:46 +02:00
Christoph Oelckers
9fbc2ec095 Version 1.1.9 2022-06-06 18:09:47 +02:00
Emanuele Disco
ad00418fec - fixed fluidsynth settings getting reset to default during midi init playback sequence 2022-04-12 08:52:54 +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
Christoph Oelckers
6b5aebf6a3 - fixed inverted error checking logic for loading a patch set in the WildMidi player. 2021-12-29 19:07:32 +01:00
Christoph Oelckers
8375c06737 - apparently newer GCCs do not like unnamed structs in typedefs anymore. 2021-11-14 09:42:37 +01:00
Chris Robinson
5ac16461ad Add missing GetStreamInfoEx for CDSong 2021-11-06 09:00:11 +01:00
Chris Robinson
592bb9126b Handle non-int16 samples in dumb_decode_vorbis 2021-11-06 09:00:11 +01: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
Chris Robinson
dd76ab1fce Add a 32-bit float sample type 2021-11-06 09:00:11 +01:00
alexey.lysiuk
d8e6e28879
- directory should be the last argument for CMake
Fixes #29
2021-07-18 19:55:44 +03: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
Cacodemon345
514ef6b528 Add handling for KeyPress events and avoid calling snd_seq_sync_output_queue twice 2021-05-25 13:57:46 +03:00
Cacodemon345
fee3bc352e Improve ALSA MIDI backend
1. No longer excludes builtin MIDI passthrough ports.
2. "GZDoom" references changed to "ZMusic Program".
3. No longer bugs out when MIDI playback is paused.
2021-05-25 13:57:46 +03:00
alexey.lysiuk
2b291705f2 - support dynamic loading of FluidSynth 2.2 2021-05-19 09:13:53 +03:00
alexey.lysiuk
0ee7aa9a5b - support arbitrary number of FluidSynth dynamic library names 2021-05-19 09:13:32 +03:00
alexey.lysiuk
69692696ec - load FluidSynth dynamic library once
https://forum.zdoom.org/viewtopic.php?t=70710
2021-05-19 09:12:59 +03:00
alexey.lysiuk
2cae98b442 - update library version number 2021-05-19 09:12:31 +03:00
alexey.lysiuk
74ff273a3d - fixed file header in MIDI wave writer
https://forum.zdoom.org/viewtopic.php?t=72161
2021-05-05 11:20:02 +03:00
alexey.lysiuk
0c2ac8cbf3 - open MIDI wave output as binary file
https://forum.zdoom.org/viewtopic.php?t=72161
2021-05-05 11:20:02 +03:00
alexey.lysiuk
e79fdcef2c - forward callback to play device in MIDI wave writer
https://forum.zdoom.org/viewtopic.php?t=72161
2021-05-05 11:18:04 +03:00
alexey.lysiuk
0f1d954646 - avoid passing nullptr args to MIDI streamer
https://forum.zdoom.org/viewtopic.php?t=72161
2021-05-05 11:17:45 +03: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
alexey.lysiuk
ba9e9da6e6 - fixed incorrect buffer size in wave writer device
See #23
2021-03-19 09:47:22 +02:00