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.