• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

CI/H18-Sep-2017-460351

amiga/H18-Sep-2017-208144

android/H18-Sep-2017-13374

cfg/H03-May-2022-143136

cmake/H18-Sep-2017-165129

djgpp/H18-Sep-2017-1,8821,305

docs/H18-Sep-2017-1,4321,403

include/H18-Sep-2017-1,450721

os2/H18-Sep-2017-166116

src/H03-May-2022-15,48312,199

test/H18-Sep-2017-1715

.chklistH A D18-Sep-2017268 1412

.gitignoreH A D18-Sep-2017289 3125

.travis.ymlH A D18-Sep-2017898 3936

COPYINGH A D18-Sep-201792 52

README.mdH A D18-Sep-20176.1 KiB160140

appveyor.ymlH A D18-Sep-20171.4 KiB5944

README.md

1WildMIDI is a simple software midi player which has a core softsynth
2library that can be use with other applications.
3
4The WildMIDI library uses Gravis Ultrasound patch files to convert MIDI
5files into audio which is then passed back to the calling application.
6The library API is designed so that it is easy to include WildMIDI into
7applications that wish to include MIDI file playback.
8
9Version: 0.4.2
10Licenses: GPLv3+ and LGPLv3
11Website: http://www.mindwerks.net/projects/wildmidi
12
13PLATFORMS:
14
15* Linux: Arch, Debian, Fedora, Ubuntu (player: ALSA, OSS, OpenAL output)
16* Windows: x86 and x64
17* OSX: x86, x64 and powerpc (in Xterm. player: OpenAL output)
18* BSD: Debian, FreeBSD, NetBSD, OpenBSD. (player: OSS output)
19* kFreeBSD: Debian (player: OSS output)
20* Hurd: Debian
21* DOS (player: sound blaster or compatibles output.)
22* OS/2 (player: Dart output.)
23* AmigaOS & variants like MorphOS, AROS. (player: AHI output)
24
25BUILD FROM SOURCE:
26
27Requirements:
28* git
29* cmake
30* GCC or clang / Xcode / VisualStudio / MinGW or MinGW-w64
31* DOS port: DJGPP / GNU make
32* OS/2 port: OpenWatcom (tested with version 1.9)
33* Nintendo 3DS port: devkitARM
34* Nintendo Wii port: devkitPPC
35
36CHANGELOG
37
380.4.2
39* Fixed CVE-2017-11661, CVE-2017-11662, CVE-2017-11663, CVE-2017-11664
40  (Bug #175).
41* Fixed WildMidi_Open() might read beyond buffer with too short inputs
42  (Bug #178).
43* Fixed a buffer overflow during playback with malformed midi files
44  (Bug #180).
45* GUS patch processing changes to meet users expectations (Bug #132).
46* Worked around a build failure with newer FreeBSD versions failing to
47  retrieve the ONLCR constant (Bug #171).
48* Fixed a minor Windows unicode issue (PR #170).
49* A few other fixes / clean-ups.
50
510.4.1
52* Fixed bug in handling of the "source" directive in config files.
53* Fixed a nasty bug in dBm_pan_volume. Other fixes and clean-ups.
54* Build system updates. Install a pkg-config file on supported platforms
55  such as Linux. New android ndk makefile.
56* File i/o updates.
57* Support for OS/2.
58* Support for Nintendo 3DS
59* Support for Nintendo Wii
60* Support for AmigaOS and its variants like MorphOS and AROS.
61
620.4.0
63* API change: The library now returns audio data in host-endian format,
64  not little-endian.
65* API change: WildMidi_GetVersion() added to the api, along with new
66  numeric version macros in the wildmidi_lib.h header. the dso version
67  is changed from 1 to 2.
68* API change: All long or unsigned long type _WM_Info fields changed
69  into strictly 32bit fields (int32_t or uint32_t.)
70* API change: WildMidi_OpenBuffer() and WildMidi_GetOutput() changed
71  to accept strictly 32bit size parameters, i.e. uint32_t, instead of
72  unsigned long.
73* API change: WildMidi_ConvertToMidi() and WildMidi_ConvertBufferToMidi()
74  added for MIDI-like files to be converted to MIDI.
75* API change: WildMidi_SetCvtOption() added to support conversion options.
76* API change: WildMidi_SongSeek() added to support Type 2 MIDI files.
77* API change: WildMidi_GetLyric() added to support embedded text,
78  such as KAR files.
79* API change: WildMidi_GetError() and WildMidi_ClearError() added to
80  cleanly check for, retrieve and clear error messages. They no longer
81  go to stderr.
82* Support for loading XMI (XMIDI format) and XFM files, such as from Arena.
83  Thanks Ryan Nunn for releasing his code under the LGPL.
84* Support for loading MUS (MUS Id format) files, such as from Doom.
85* Support for loading HMP/HMI files, such as from Daggerfall.
86* Support for loading KAR (MIDI with Lyrics) and Type 2 MIDI files.
87* Build requires cmake-2.8.11 or newer now.
88
890.3.9
90* Library: Fixed a segmentation fault with bad midi files.
91
920.3.8
93* Library: Fixed a seek-to-0 bug in order to cure an issue of truncated
94  start (bug #100, gnome/gstreamer bug #694811.)
95* Player, OpenAL: reduced buffers from 8 to 4 so as to cure some output
96  delay issues (bug #85.)
97
980.3.7
99* Plug a memory leak in case of broken midis.
100* Properly reset global state upon library shutdown.
101* Support for type-2 midi files.
102* Fix a possible crash in WildMidi_SetOption.
103* DOS port: Support for Sound Blaster output in player.
104* Uglify the library's private global variable and function names.
105* Build: Add option for a statically linked player.
106* Build: Add headers to project files. Use -fno-common flag.
107* Other small fixes/clean-ups.
108
1090.3.6
110* Fix some portability issues.
111* Fix a double-free issue during library shutdown when several midis
112  were alive.
113* Fix the invalid option checking in WildMidi_Init().
114* Fix the roundtempo option which had been broken since its invention
115  in 0.2.3.5 (WM_MO_ROUNDTEMPO: was 0xA000 instead of 0x2000.)
116* Fix cfg files without a newline at the end weren't parsed correctly.
117* Handle cfg files with mac line-endings.
118* Refuse loading suspiciously long files.
119
1200.3.5
121* Greatly reduced the heap usage (was a regression introduced in 0.2.3)
122* OpenAL support: Fixed audio output on big-endian systems. Fixed audio
123  skips at song start.
124* OSS support: No longer uses mmap mode for better compatibility. This
125  gains us NetBSD and OpenBSD support.
126* Worked around an invalid memory read found by valgrind when playing
127  Beethoven's Fur Elise.rmi at 44100 Hz using the old MIDIA patch-set
128  from 1994.
129* Build fixes for MSVC. Revised visibility attributes usage.
130
1310.3.4
132* OpenAL support: This gains us OSX and other platforms that OpenAL
133  supports for sound output!
134* DOS (DJGPP) support: This goes a long way to helping other DOS
135  based applications.
136* MinGW support: This gains us win32 and win64 support using this
137  toolchain.
138* OSS fixes.
139* Add missing parts of the absolute paths fix in config parsing.
140* New portable file and path-name system to handle cross-platform
141  support.
142* Support for Debian/kFreeBSD, Debian/Hurd and other Debian archs.
143* Many bug fixes, code clean-ups and cosmetic fixes.
144
1450.3.3
146* default to hidden visibility and only export our API functions
147* windows lean and mean to help compile times on Windows
148* cli and xcode work now on OSX
149* better FreeBSD support
150* Supported platforms are Debian, FreeBSD, Windows and OSX (but only
151  for WAV output)
152
1530.3.1 - 0.3.2
154* Cmake updates/fixes/cleanups.
155
1560.3.0
157* initial CMake support.
158* process non-registered params. fix issue of notes ending before
159  attack envelope completed. (sf.net svn r149/r151.)
160