libtimidity-0.2.0 is released: This is a stable major bugfix / maintenance
release. Upgrading is encouraged. Download from here:
https://sourceforge.net/projects/libtimidity/files/libtimidity/0.2.0/
ChangeLog:
- stream.c, api change: added mid_istream_seek and mid_istream_tell to
the mid_istream_* api. added seek and tell funcs to the _MidIStream
structure. mid_istream_open_callbacks() is changed now accepts these
callbacks.
- stream.c, api change: mid_istream_open_mem() no longer accepts an
autoclose parameter, which was error-prone.
- MidSongOptions, api change: padded the struct with reserved members
for better alignment.
- mid_song_load(): options are now validated. limited the acceptable
sample rate range to 4000-256000. MID_AUDIO_U16MSB audio format is
now handled correctly.
- malloc-safe: upon memory allocation failures, the library either does
a mid_exit() to free all the allocated memory during init time, or a
mid_song_free() to free the allocated memory during a song load time.
- the library can be compiled using a different memory allocator than
malloc. (edit common.h for timi_malloc and timi_free)
- mid_init(), mid_init_no_config(): a mid_exit() is guaranteed upon
config file parse failures or malloc() failures.
- mid_init(): the library doesn't care about common timidity.cfg system
locations any more, callers of mid_init() are responsible for it. if
the config file argument to mid_init() contains a parent directory,
that will be added to timidity search path.
- mid_exit(): does a proper cleanup now and a reinitialization of the
library doesn't crash.
- multiple resampling fixes. several timidity-0.2i fixes from the
onicos.com site (http://www.onicos.com/staff/iz/timidity/dist/),
as well as a few bits from timidity++. several fixes for memory
errors reported by valgrind.
- mid_istream_skip(): accepts a long type length instead of size_t
and returns success or failure now.
- options.h (DEFAULT_DRUMCHANNELS): do not mark 16 as a drum channel.
- read_midi_file(): added support for Microsoft RMID format.
- read_midi_file(): fixed parsing of certain MIDI files with extra
data at the end of the tracks. (SDL_mixer bug:
http://bugzilla.libsdl.org/show_bug.cgi?id=1299)
- read_config_file(): honor the return code from a recursive call.
- mid_get_version(): new function to retrieve library version.
- DLS instruments support: made it a config time option, disabled by
default, because the code isn't good enough, neither is it used in
unix installations where timidity is normally needed.
- DLS: a few changes from vavoom svn repository to fix loading of drums
and somewhat improve the dls instruments use. still not good enough.
- renamed macro FSCALE to TIM_FSCALE to avoid possible clashes with
system headers. renamed FSCALENEG to TIM_FSCALENEG for consistency.
- support for elf and macho symbol visibility attributes. support for
windows dllexport/dllimport attributes.
- build: changed DEBUG to TIMIDITY_DEBUG for DEBUG_MSG. made to compile
cleanly using newer gcc versions, as well as clang. made it to compile
using C++ compilers.