WildMIDI 0.4.1

@sezero sezero released this Feb 26, 2017 · 1 commit to master since this release

Bug-fix, maintenance, and update after the previous version 0.4.0.

What's new in 0.4.1:

  • Fixed bug in handling of the "source" directive in config files.
  • Fixed a nasty bug in dBm_pan_volume. Other fixes and clean-ups.
  • Build system updates. Install a pkg-config file on supported platforms such as Linux. New android ndk makefile.
  • File i/o updates.
  • Support for OS/2.
  • Support for Nintendo 3DS
  • Support for Nintendo Wii
  • Support for AmigaOS and its variants like MorphOS and AROS.


WildMIDI 0.3.12

@sezero sezero released this Feb 15, 2017 · 1 commit to wildmidi-0.3 since this release

What's new in 0.3.10:

  • Build system updates.
  • File i/o updates.
  • Support for AmigaOS and its variants like MorphOS and AROS.

What's new in 0.3.11:

  • Support for OS/2.

What's new in 0.3.12:

  • Fixed bug in handling of the "source" directive in config files.
  • CMake updates from 0.4.x. cmake-2.8.11 or newer is required now.
  • Extended OS/2 support to EMX/KLIBC.


WildMIDI 0.4.0

@psi29a psi29a released this Jun 16, 2016 · 108 commits to master since this release

This is a major milestone release!

We worked hard over the years to improve WildMIDI by looking at how it is used downstream and working with them to offload their MIDI-related burdens and pushing them to WildMIDI. We've included support for the following MIDI-like formats: HMI, HMP, KAR, MIDI Type 2, MUS and XMI. We've expanded our API to help facilitate error detection, logging and on-the-fly conversion from MIDI-likes to MIDI without having to initialize the library first.

What's new in 0.4.0:

  • API change: The library now returns audio data in host-endian format, not little-endian.
  • API change: WildMidi_GetVersion() added to the api, along with new numeric version macros in the wildmidi_lib.h header. the dso version is changed from 1 to 2.
  • API change: All long or unsigned long type _WM_Info fields changed into strictly 32bit fields (int32_t or uint32_t.)
  • API change: WildMidi_OpenBuffer() and WildMidi_GetOutput() changed to accept strictly 32bit size parameters, i.e. uint32_t, instead of unsigned long.
  • API change: WildMidi_ConvertToMidi() and WildMidi_ConvertBufferToMidi() added for MIDI-like files to be converted to MIDI.
  • API change: WildMidi_SetCvtOption() added to support conversion options.
  • API change: WildMidi_SongSeek() added to support Type 2 MIDI files.
  • API change: WildMidi_GetLyric() added to support embedded text, such as KAR files.
  • API change: WildMidi_GetError() and WildMidi_ClearError() added to cleanly check for, retrieve and clear error messages. They no longer go to stderr.
  • Support for loading XMI (XMIDI format) files, thanks Ryan Nunn for releasing his code under the LGPL.
  • Support for loading MUS (MUS Id format) files, such as from Doom.
  • Support for loading HMP/HMI files, such as from Arena and Daggerfall.
  • Support for loading KAR (MIDI with Lyrics) and Type 2 MIDI files.
  • Build requires cmake-2.8.11 or newer now.


WildMIDI 0.3.9

@sezero sezero released this Mar 10, 2016 · 29 commits to wildmidi-0.3 since this release

Maintenance release with fixes:

What's new in 0.3.9:

  • Library: Fixed a segmentation fault with bad midi files.


WildMIDI 0.3.8

@sezero sezero released this Jan 20, 2015 · 33 commits to wildmidi-0.3 since this release

Maintenance release with fixes:

What's new in 0.3.8:

  • Library: Fixed a seek-to-0 bug in order to cure an issue of truncated start (bug #100, gnome/gstreamer bug #694811.)
  • Player, OpenAL: reduced buffers from 8 to 4 so as to cure some output delay issues (bug #85.)


WildMIDI 0.3.7

@sezero sezero released this Jun 5, 2014 · 36 commits to wildmidi-0.3 since this release

Maintenance release with fixes:

What's new in 0.3.7:

  • Plug a memory leak in case of broken midis.
  • Properly reset global state upon library shutdown.
  • Support for type-2 midi files.
  • Fix a possible crash in WildMidi_SetOption.
  • DOS port: Support for Sound Blaster output in player.
  • Uglify the library's private global variable and function names.
  • Build: Add option for a statically linked player.
  • Build: Add headers to project files. Use -fno-common flag.
  • Other small fixes/clean-ups.


WildMIDI 0.3.6

@psi29a psi29a released this Apr 5, 2014 · 553 commits to master since this release

Maintenance release with bug fixes:

What's new in 0.3.6:

  • Fix some portability issues.
  • Fix a double-free issue during library shutdown when several midis were alive.
  • Fix the invalid option checking in WildMidi_Init().
  • Fix the roundtempo option which had been broken since its invention in (WM_MO_ROUNDTEMPO: was 0xA000 instead of 0x2000.)
  • Fix cfg files without a newline at the end weren't parsed correctly.
  • Handle cfg files with mac line-endings.
  • Refuse loading suspiciously long files.


WildMIDI 0.3.5

@psi29a psi29a released this Mar 18, 2014 · 553 commits to master since this release

While we've not added any additional functionality, we have fixed many bugs from internal testing (clang static analysis and valgrind) and also downstream distribution issues. We've also reduced the memory thrashing dramatically. Going from 16,000 reallocations and about 400MiB memory usage when playing a 2 minute midi down to about 600 reallocations and only 8MiB memory usage!

What is new in this release:

  • Greatly reduced the heap usage (was a regression introduced in 0.2.3)
  • OpenAL support: Fixed audio output on big-endian systems. Fixed audio
    skips at song start.
  • OSS support: No longer uses mmap mode for better compatibility. This
    gains us NetBSD and OpenBSD support.
  • Worked around an invalid memory read found by valgrind when playing
    Beethoven's Fur Elise.rmi at 44100 Hz using the old MIDIA patch-set
    from 1994.
  • Build fixes for MSVC. Revised visibility attributes usage.