Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Originally a player for MS-DOS, MikMod has been ported to other platforms, such as Unix, Macintosh, BeOS, and Java(!!) Mikmod main authors are Jean-Paul Mikkers (MikMak), Jake Stine (Air Richter) and Frank Loemker. Steve McIntyre was the first Unix maintainer, followed by Peter Amstutz, Miodrag Vallat and finally Raphaël Assénat.
Unfortunately, since Raphaël Assénat did not have enough free time to work on
MikMod those days, releases somewhat came to an halt. This is why he handed
the baton to Shlomi Fish in order to
add new features, fix bugs and bring the project further. As of September 2013,
Shlomi handed the baton to Ozkan
as the maintainer for the project. |
December 31 2024:
libmikmod-3.3.12 is released: - Add WebAudio support (see webaudio/README.md for details.) - Dynamically load pulseaudio library at runtime. - New configuration option to exclude module depackers (off by default.) - Fix high cpu usage in ALSA output driver (reported by David Lindsay.) - Add WinMM driver (drv_win) command line options for buffer size and count (github bug #29, PR #30.) - Merge vibrato tables/math, fix tremolo ramp down, fix IT vibrato. (github PR #28.) - Fix XM fine volume slide effects (was broken between libmikmod-3.1.6 and 3.1.7 - github PR #20.) - Changed XM effect L to behave correctly (e.g. Graff/ant attack.xm or villgust.xm - github PR #56.) - Implement MODPlugin ADPCM4 support (github PR #57 and #61.) - Fix playback of Impulse Tracker modules with more than 99 instruments (e.g. many MPT-created ITs -- github bug #33.) - Fix MOD retrigger (E9x) effect bug that would cause it to always retrigger on tick 1. (github bug #21, PR #22.) - Fix handling of FAR pattern break byte (github bug #5.) - Add support for Mod's Grave WOW files to MOD loader (github bug #7.) - Detect more MOD variants: TDZ#, FA04/6/8, LARD, NSMS (github PR #59.) - Check M&K! and CD61 signatures in Octalyser modules (github PR #12.) - Don't load STM samples with volume==0, fix sample offset calculation (github bug #6.) - Fix volume event handling for FAR modules. (github PR #14.) - Multiple fixes to FAR modules: (github PR #37) * Fix player to handle empty patterns. * Handle invalid pattern numbers in position list. * Add support for effect 1 and 2 (porta slide up/down). * Implement effect 3 (tone porta) the right way. * Play with the real tempos. * Support for effects D and E (fine tempo up/down). * Fix effect 6 (vibrato). * Fix effect 4 (retrigger) by adding a new effect. * Fix bug in the sample loader when loading 16-bit samples. * Support for restart position. - Fix GDM empty notes, fine volslide/portamento, and sample volume. (github PR #15.) - Fix GDM set pan position effect. (github PR #27.) - Fix MED 9xx command in tempo mode and various BPM mode bugs (github bug #17). - Implement missing OctaMED effects and fix several other MED effects (github bug #19, PR #23.) - Add support for MED song/instrument transpose and octave wrapping. (github bug #24, PR #25.) - Use more accurate BPM values for 8-channel mode tempos in OctaMed loader (github PR #26) - Allow speed values of 128-255 for S3M/IT/DSMI/GDM/IMF (github PR #42, also see github PR #35.) - Multiple fixes to DSMI AMF loader. (github PR #36) - Support for version 8, 9, and older AMF 1.0 modules (github PR #51.) - Fix note tuning for 669 modules. (github PR #16.) - Fix sample loop-end for 669 modules. (See e.g. in 'Lost in Germany', github PR #34.) - Fix UltraTracker sample speed calculation. (e.g. 'Break the beat.ult' now plays correctly. github PR #40.) - Fix UltraTracker portamento to note (github PR #40.) - Fix STM blank patterns handling. (github bug #9, PR #55.) - Fix sample loop and detection for invalid values in Scream Tracker 2 loader. (e.g. N.S. Beat.stm and Batman.stm. github PR #38.) - Fix unimod version 4 sample flags. (e.g.: 'hundrapporten!' and 'mulla on porkkanaa' modules now play correctly. github bug #47.) - Fix unimod version 5 sample flag at bit 6 to be SF_OWNPAN (github bug #47.) - Fix ASYLUM Music Format restart byte (github PR #58.) - DoPTEffectB, DoPTEffectD: bounds-check the jump target. - StartEnvelope: workaround invalid envelopes with 0 pts. - Sanity-check against bad effects in Asylum loader. - Sanity-check that position values can't be higher than patterns in several loaders. - Fix access to uninitialized memory in M15, IT, STM and STMIK loaders in case of short files. - Fix access to uninitialized memory elsewhere in code (github bug #67.) - Refuse zero instrument and pattern numbers in STMIK loader. - Revise sanity checks and add boundary checks in UMX loader. - Remove bogus lastnote handling from ConvertNote() in Aylum loader. (github bug #49). - Fix inverted argument fed to UniExpand in UniNewline (github bug #43). - Fix off-by-one source buffer boundary check in PP20 depacker. - Fix misaligned pointers in XPK depacker checksum routine. - Add missing sanity check for vebatim block in unsqsh (xpk) depacker. - Fix shifts by invalid exponents in S404 depacker. - Add best case compression ratio bounding to S404 depacker. - Improved sanity checks in S404 depacker to prevent out-of-bound reads. - Updated macOS CoreAudio output driver (based on xmp player.) - Added Nintendo64 output driver -- based on old work by 'dragonminded'. - The library is free of libm dependency. - Multiple other cleanups throughout the code. - Several build and portability fixes/updates. - Removed support for lcc-win32 compiler. Thanks to: - Lionel Debroux, for providing fuzz files which helped finding defects. - Alice Rowan, for providing DSMI AMF, FAR, GDM, IT, STM, and many other loader fixes. - Thomas Neumann, for providing 669, DSMI AMF, STM, UNI and other loader fixes. - Carlos Rafael Gimenes das Neves for WebAudio support. - Victor Vieux, for providing and testing the N64 driver.
December 31 2024:
MikMod player v3.2.9 is released: - Avoid possible undefined behavior in display code if the songname is NULL (github bug #67.) - Fixed a startup crash with _FORTIFY_SOURCE=3 on some systems. - Fixed warnings from new gcc versions. - Fixed a stack size issue in os2 builds. - Multiple other cleanups throughout the code. - Several build and portability fixes/updates. - Removed support for lcc-win32 compiler.
December 31 2024:
libmikmod-3.1.22 is released: - Fix high cpu usage in ALSA output driver (reported by David Lindsay.) - Add WinMM driver (drv_win) command line options for buffer size and count (github bug #29, PR #30.) - Merge vibrato tables/math, fix tremolo ramp down, fix IT vibrato. (github PR #28.) - Fix XM fine volume slide effects (was broken between libmikmod-3.1.6 and 3.1.7 - github PR #20.) - Changed XM effect L to behave correctly (e.g. Graff/ant attack.xm or villgust.xm - github PR #56.) - Implement MODPlugin ADPCM4 support (github PR #57 and #61.) - Fix playback of Impulse Tracker modules with more than 99 instruments (e.g. many MPT-created ITs -- github bug #33.) - Fix MOD retrigger (E9x) effect bug that would cause it to always retrigger on tick 1. (github bug #21, PR #22.) - Fix handling of FAR pattern break byte (github bug #5.) - Add support for Mod's Grave WOW files to MOD loader (github bug #7.) - Detect more MOD variants: TDZ#, FA04/6/8, LARD, NSMS (github PR #59.) - Check M&K! and CD61 signatures in Octalyser modules (github PR #12.) - Don't load STM samples with volume==0, fix sample offset calculation (github bug #6.) - Fix volume event handling for FAR modules. (github PR #14.) - Multiple fixes to FAR modules: (github PR #37) * Fix player to handle empty patterns. * Handle invalid pattern numbers in position list. * Add support for effect 1 and 2 (porta slide up/down). * Implement effect 3 (tone porta) the right way. * Play with the real tempos. * Support for effects D and E (fine tempo up/down). * Fix effect 6 (vibrato). * Fix effect 4 (retrigger) by adding a new effect. * Fix bug in the sample loader when loading 16-bit samples. * Support for restart position. - Fix GDM empty notes, fine volslide/portamento, and sample volume. (github PR #15.) - Fix GDM set pan position effect. (github PR #27.) - Fix MED 9xx command in tempo mode and various BPM mode bugs (github bug #17). - Implement missing OctaMED effects and fix several other MED effects (github bug #19, PR #23.) - Add support for MED song/instrument transpose and octave wrapping. (github bug #24, PR #25.) - Use more accurate BPM values for 8-channel mode tempos in OctaMed loader (github PR #26) - Allow speed values of 128-255 for S3M/IT/DSMI/GDM/IMF (github PR #42, also see github PR #35.) - Multiple fixes to DSMI AMF loader. (github PR #36) - Support for version 8, 9, and older AMF 1.0 modules (github PR #51.) - Fix note tuning for 669 modules. (github PR #16.) - Fix sample loop-end for 669 modules. (See e.g. in 'Lost in Germany', github PR #34.) - Fix UltraTracker sample speed calculation. (e.g. 'Break the beat.ult' now plays correctly. github PR #40.) - Fix UltraTracker portamento to note (github PR #40.) - Fix STM blank patterns handling. (github bug #9, PR #55.) - Fix sample loop and detection for invalid values in Scream Tracker 2 loader. (e.g. N.S. Beat.stm and Batman.stm. github PR #38.) - Fix unimod version 4 sample flags. (e.g.: 'hundrapporten!' and 'mulla on porkkanaa' modules now play correctly. github bug #47.) - Fix unimod version 5 sample flag at bit 6 to be SF_OWNPAN (github bug #47.) - DoPTEffectB, DoPTEffectD: bounds-check the jump target. - StartEnvelope: workaround invalid envelopes with 0 pts. - Sanity-check that position values can't be higher than patterns in several loaders. - Fix access to uninitialized memory in M15, IT, STM and STMIK loaders in case of short files. - Fix access to uninitialized memory elsewhere in code (github bug #67.) - Refuse zero instrument and pattern numbers in STMIK loader. - Fix inverted argument fed to UniExpand in UniNewline (github bug #43). - Removed support for lcc-win32 compiler. - Several build and portability fixes/updates. Thanks to: - Lionel Debroux, for providing fuzz files which helped finding defects. - Alice Rowan, for providing DSMI AMF, FAR, GDM, IT, STM, and many other loader fixes. - Thomas Neumann, for providing 669, DSMI AMF, STM, UNI and other loader fixes.
Dec 15 2017:
Version control migrated to Git:
June 20 2017:
libmikmod-3.3.11.1 and libmikmod-3.1.21.1 are released:
June 14 2017:
libmikmod-3.3.11 is released: - Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF, GDM and MED module loaders. - Fixed a possible endless loop in the IT loader with malformed files. - Fixed signed integer overflow leading to crashes in the sample loader. - Fixed a possible crash in MMCMP depacker with malformed files. - Fixed the broken fixed-line comment reader which might possibly lead to crashes, and also badly translated several song messages. The new code is adapted from libopenmpt. - Support for building the Windows version using Open Watcom compiler. - A few minor OS/2 fixes. - CMake updates. - Other minor fixes/tidy-ups. Thanks to: - Lionel Debroux, for providing fuzz files which helped finding defects. - Johannes Schultz (sagamusix), for allowing us to use a piece of code from libopenmpt.
June 14 2017:
MikMod player v3.2.8 is released: - Fixed several warnings from clang static analyzer. - Fixed a misleading indentation warning from gcc6. - A few minor OS/2 fixes. - Support for building the Windows version using Open Watcom compiler. - Other minor fix/tidy-ups.
June 14 2017:
libmikmod-3.1.21 is released: - Fixed lots of possible crashes in the IT, XM, S3M, STM, STX, AMF, IMF, GDM and MED module loaders. - Fixed a possible endless loop in the IT loader with malformed files. - Fixed signed integer overflow leading to crashes in the sample loader. - Fixed the broken fixed-line comment reader which might possibly lead to crashes, and also badly translated several song messages. The new code is adapted from libopenmpt. - Support for building the Windows version using Open Watcom compiler. - A few minor OS/2 fixes. - Other minor fixes/tidy-ups. Thanks to: - Lionel Debroux, for providing fuzz files which helped finding defects. - Johannes Schultz (sagamusix), for allowing us to use a piece of code from libopenmpt.
Aug. 31 2016:
libmikmod-3.3.10 is released: - Fixed windows builds when UNICODE is defined. (Thanks S. Michel).
Aug. 31 2016:
libmikmod-3.1.20 is released: - Fixed windows builds when UNICODE is defined. (Thanks S. Michel). - RAW file writer: Changed to use ansi stdio functions instead of posix unistd, for better portability. - Playercode: Allocate the right channel reverb buffers only if the mixer is setup for stereo mode. (Helps with ports to memory-tight platforms. Patch from Andrew Rossignol.) - Added a configuration option to exclude the hqmixer (off by default.) - Using locale-insensitive ctype.h and casecmp functions in library. - Configury: New --disable-alldrv option to disable all of the audio output drivers. If additional --enable-xxx options are given, the specified drivers will be enabled. - Other minor tidy-ups.
Aug. 12 2016:
libmikmod-3.3.9 is released: - Amiga, AHI driver: Fixed a crash upon driver shutdown. - Amiga: Updates. Added standalone makefiles with cross-build support. - RAW file writer: Changed to use ansi stdio functions instead of posix unistd, for better portability. - Playercode: Allocate the right channel reverb buffers only if the mixer is setup for stereo mode. (Helps with ports to memory-tight platforms. Patch from Andrew Rossignol.) - Fixed access to uninitialized memory in the simpleplayMEM example program. - Added a configuration option to exclude the hqmixer (off by default.) - Using locale-insensitive ctype.h and casecmp functions in library. - Configury: New --disable-alldrv option to disable all of the audio output drivers. If additional --enable-xxx options are given, the specified drivers will be enabled.
Nov. 15 2015:
libmikmod-3.3.8 is released: - Handle the FastTracker2 pattern loop (E60) bug. Modules abusing this bug (roadblas.xm) should play correctly now. Thanks to Eugene Toder. - AMF loader: Fixed segmentation fault in case of bad sample offsets in broken files. (sf.net bug #26, thanks to 'Saga' of OpenMPT project for the report and analysis.) - AMF loader: Fixed loading of v10 files where sample loop start and end values should be read as 32 bits, not 16 bits. (tested with Maelcum's "the tribal zone" and "the way its gonna b". noticed in OpenMPT source) - Fixed a possible undefined behavior in the XM loader. - Support for MMCMP, Amiga PP20 (PowerPack), STC (Stone Cracker S404) and XPK compressed module formats, based on public domain code from libmodplug and libxmp. - Support for OpenBSD sndio. - Fixed SDL output driver, so that it doesn't crash upon resetting. - Disabled the gt2 loader until it is completed properly. (It has been always non-functional since its introduction in v3.2.0.) - Updated configury. The aix, hpux, bsd/sunaudio and sgi audio drivers are now configurable and not built unconditionally. Haiku support thanks to Jérôme Duval. - Documentation update. - Update DOS build for the new djgpp-2.05 release. - Minor fix/tidy-ups.
Nov. 15 2015:
MikMod player v3.2.7 is released: - Documentation update. - Update DOS build for the new djgpp-2.05 release.
Nov. 15 2015:
libmikmod-3.1.19 is released: - Handle the FastTracker2 pattern loop (E60) bug. Modules abusing this bug (roadblas.xm) should play correctly now. Thanks to Eugene Toder. - AMF loader: Fixed segmentation fault in case of bad sample offsets in broken files. (sf.net bug #26, thanks to 'Saga' of OpenMPT project for the report and analysis.) - AMF loader: Fixed loading of v10 files where sample loop start and end values should be read as 32 bits, not 16 bits. (tested with Maelcum's "the tribal zone" and "the way its gonna b". noticed in OpenMPT source) - Fixed a possible undefined behavior in the XM loader. - Support for OpenBSD sndio. - Updated configury. The aix, hpux, bsd/sunaudio and sgi audio drivers are now configurable and not built unconditionally. Haiku support thanks to Jérôme Duval. - Documentation update. - Minor fix/tidy-ups.
Sep. 07 2014:
libmikmod-3.3.7 is released: - Android support, thanks to Radovan Cervenka, with the OpenSL ES driver adapted from the old libmikmod-android project. - Support for AmigaOS and its variants like MorphOS, AROS, and a new AHI driver thanks to Szilárd Biró. - Build system configuration and packaging simplifications, tidy-ups. - Several portability tweaks. - New PSP driver. (untested. suggested by Jon Daniel, based on older ports from pspdev.) - Fix some OS/2 bit rot. (for nostalgia...)
Sep. 07 2014:
MikMod player v3.2.6 is released: - Fix curses linkage on some setups. (add -ltinfo if necessary.) - Windows version now relies on %USERPROFILE% instead of %HOME% for its config and playlist. - The dos version doesn't check %HOME% anymore and simply uses C: for its config and playlist. - Support for AmigaOS and its variants like MorphOS, AROS. (thanks to Szilard Biro for lots of help.) - Build system configuration and packaging simplifications, tidy-ups. - Configury: fix link tests for older binutils. - Cmake updates and improvements. Several makefile clean-ups. - Several portability tweaks. - Fix some OS/2 bit rot. (for nostalgia...) - Removed ancient convert_playlist script which used to supposed to convert pre-ancient mikmod playlists. Documentation updates.
Aug. 31 2014:
libmikmod-3.1.18 is released: - Build system configuration and packaging simplifications, tidy-ups. - Several portability tweaks. - Fix some os/2 bit rot. (for nostalgia...)
Mar. 20 2014:
libmikmod-3.3.6 is released: - UMX loader: Minor corrections to the container parse code with relation to upkg file format. (for correctness' sake only...) - ALSA and ESD drivers: Fixed a dlopen() issue. - PulseAudio driver: Simplified its command line parser procedure, so that it always sets server and sink to some value, NULL or otherwise, and fix a very minor memory leak on some occasions. - Configury, OSS driver: Removed useless check for /dev/sndstat presence, added <soundcard.h> check to cover all our bases for less common setups. - Configury, NAS driver: Use the configury detected X header and library locations when necessary, not just hardcoded /usr/X11R6/. - Several configury and makefile clean-ups. - Added Dreamcast driver from the old 3.2.0b2 dreamcast.es port.
Mar. 20 2014:
libmikmod-3.1.17 is released: - ALSA and ESD drivers: Fixed a dlopen() issue. - Configury, OSS driver: Removed useless check for /dev/sndstat presence, added <soundcard.h> check to cover all our bases for less common setups. - Several configury and makefile clean-ups.
Jan. 10 2014:
libmikmod-3.3.5 is released: - New PulseAudio driver for audio output, using pa_simple_* api. - Improved ALSA driver. - mikmod.texi: Fixed document generation using newer texinfo. - Updates and fixes to configury (autotools) and to cmake support. Cmake support covers more targets and options now. - Made the aiff, wav and raw file writer drivers configurable: the library can be configured and compiled without any audio output drivers if so required, except for drv_nos ('nosound') of course. - DOS (djgpp): fixed the sound blaster SB16 driver. - Fixed a few potential sources of crash, several code clean-ups. - Minor compilation fixes against ancient software versions. - Merged an updated gp32 driver (it is still an untested driver...)
Jan. 10 2014:
libmikmod-3.1.16 is released: - Improved ALSA driver. - mikmod.texi: Fixed document generation using newer texinfo. - Updates and fixes to configury (autotools). - Made the wav and raw file writer drivers configurable: the library can be configured and compiled without any audio output drivers if so required, except for drv_nos ('nosound') of course. - Minor compilation fixes against ancient software versions. - Backported pkg-config file and rpm spec file from HEAD branch.
Jan. 10 2014:
MikMod player v3.2.5 is released: - New CMake build system. - Small autotols updates. - Fix configury $datadir variable expansion in PACKAGE_DATA_DIR. - Fix ALSA driver options menu for libmikmod2 versions >= 3.1.13. - Fix compilation against ancient libmikmod1 versions <= 3.1.6. - Several code clean-ups.
Dec. 08 2013:
libmikmod-3.3.4 is released: - libmikmod.m4: fixed so that it works with C++ compilers. - cmake: fixed a cpack version number issue. - Fix CVE-2006-3879 (Secunia 21196) for Graoumf tracker (gt2) loader. (the loader is non-functional yet but the issue was there.) - Fix memory leaks in the Graoumf tracker (gt2) loader. - UMX loader: Support umx music files from Unreal 1997/98 beta version. - S3M loader: Enforce the 64000 bytes sample length limit, which has been in effect since libmikmod-v3.1.10, only for tracker id 1, i.e. only if setting the S3MIT_SCREAM flag during track conversion. Fixes playback of some rare brokenly prepared files - e.g. Arena2.umx from the unreal game community add-on level decyberduel. - ULT loader: Fix version array size (was 1 less then its initializer.) - ESD driver: Fix signature for esd_playstream function pointer (const) - ALSA driver: Remove unused function pointers. - The library is compilable using C++ compilers.
Dec. 08 2013:
libmikmod-3.1.15 is released: - libmikmod.m4: fixed so that it works with C++ compilers. - S3M loader: Enforce the 64000 bytes sample length limit, which has been in effect since libmikmod-v3.1.10, only for tracker id 1, i.e. only if setting the S3MIT_SCREAM flag during track conversion. - ULT loader: Fix version array size (was 1 less then its initializer.) - ESD driver: Fix signature for esd_playstream function pointer (const) - ALSA driver: Remove unused function pointers.
Oct. 15 2013:
libmikmod-3.3.3 is released: - New loader to load modules contained in UMX files from games like Unreal, DeusEx, etc. (Developers: custom MREADER implementations must respect the 'iobase' field for umx loading to work for them. see the splayMEM example app source.) - AIFF file writer now silently ignores and clears float output mode. - Fixed a small memory leak in samples freeing (thanks to S. Michel.) - Fixed calling the previous position while at position 0 resulting in an invalid read. (noticed while running mikmod under valgrind.) - Memory reader now fills the available bytes to destination buffer when a short read is happening, while still returning false. - Memory reader now respects the iobase value of the reader struct. (doesn't change normal behavior, but may help with new features.) - Updated simpleplayMEM example application. - Fix return types for MREADER->Seek and MWRITER->Put to be int, and not BOOL. (identical functionality but non-misleading.) - Documentation fixes with relation to free()/MikMod_free(). - Marked the SIMD (SSE2/AltiVec) option as unstable in the makefiles and configury/cmake: not recommended until it is fixed properly. - Provided new Visual Studio 6 and Visual Studio 2005 project files. The latter imports into newer Visual Studio versions, e.g. VS2012. - Fixed some driver version signatures which I missed changing in the previous release. (cosmetic change.)
Oct. 15 2013:
MikMod player v3.2.4 is released: - Addressed some snprintf issues and MSVC6 compilation issues. - New MSVC6 and VS2005 project files. The latter imports into newer Visual Studio versions, e.g. VS2012. - Use MikMod_free() on the string returned by Player_LoadTitle() if it is available. - Fixed some compiler warnings, minor cleanups.
Oct. 15 2013:
libmikmod-3.1.14 is released: - Fixed a small memory leak in samples freeing (thanks to S. Michel.) - Fixed calling the previous position while at position 0 resulting in an invalid read. (noticed while running mikmod under valgrind.) - Fix return types for MREADER->Seek and MWRITER->Put to be int, and not BOOL. (identical functionality but non-misleading.) - Provided new Visual Studio 6 and Visual Studio 2005 project files. The latter imports into newer Visual Studio versions, e.g. VS2012.
Oct. 05 2013:
libmikmod-3.3.2 (final) is released: NEW FEATURES - New CMake build system. - Updated configury, support for cross-compilation, support for building in a separate directory, support latest autotools. - New SDL driver - works both with SDL-1.2.x and with SDL2, supports floating point output if compiled against SDL2. - New OpenAL driver, originally suggested by 'kervala', with fixes and updates and with floating point output support. - The multi-platform SDL and OpenAL drivers, if they are compiled, have priority over OS-specific hw drivers for MikMod_RegisterAllDrivers(). - New windows xaudio2 driver, originally suggested by 'honza.c', with updates, xaudio2.8 support and with floating point output support. - ALSA driver now supports only the contemporary ALSA 1.0.x versions. All of the ancient ALSA 0.3.x-0.4.x code were removed. - Floating point output mode support for ALSA, OSS, Direct Sound, WinMM drivers and for WAV file writer. - The pipe and stdout drivers are now configurable - Raw file-writer now has the lowest priority among the file-writers. - GCC elf and macho symbol visibility attributes now supported. - Windows: dllexport/dllimport attributes work properly for MinGW[-w64], as well as windows compilers. Static builds using MSVC, LCC, etc are now named mikmod_static.lib. When compiling against static libmikmod, MIKMOD_STATIC should be defined so that dllimport wouldn't be assumed. BUGFIXES - ALSA fixes from Fedora. - ALSA fixes for "Write error: File descriptor in bad state" crashes, e.g. RedHat bug #915121. Now works stable. - ESD (esound) updates from Fedora. Add esd back to configury which was removed in 3.2.0b3, now requiring >= 0.2.18. - Minor OSS fixes. - The NAS driver now actually compiles. - 64 bit detection fixes. - Fix BOOL type use all over the source. - Several const correctness fixes. - Fixes for CVE-2007-6720 and CVE-2009-0179. - mmio: memreader fixes and updates. - Fixes for access violations introduced in 3.2.0b3. - Fixes for broken memory allocation wrappers introduced in 3.2.0b3. - Fix MikMod_strerror() might read beyond end of a static array. - Fix looping volume in Player_SetVolume(), based on an old patch by Yi-Huang Han. - XM loader now reads songlength amount of orders from the file and then seeks to mh->headersize+60 (sf.net bug #10.) - Fix "unclick" code to consider loop lengths shorter than 16: fixes crashes seen with several xm files (sf.net bug #12, mpd bug #3425.) - Mac OS X: new standalone makefile with cross-compilation support. - DJGPP build fixes. - Windows: fixes/updates, win64 fully supported. MinGW[-w64] fully supported along with MSVC and LCC. new standalone MinGW makefile with cross-compilation support. - SIMD (AltiVec and SSE2) option is now disabled by default. Can be enabled by --enable-simd configury option, similarly with cmake. (the standalone makefiles or project files are added instructions on how to enable the feature if required.) - Many compiler warning fixes, other small cleanups.
Oct. 05 2013:
MikMod player v3.2.3 is released: - Made MikMod compilable against older versions of libmikmod without MikMod_Free(). - Fixed a minor buffer overrun (sf.net bug #2). - Fixed a minor string format issue. - Updated configury to support latest autotools. - Fixed djgpp builds. - Fixed windows mingw builds, proper win64 support.
Oct. 05 2013:
libmikmod-3.1.13 is released: BUGFIXES backported from the HEAD branch: - 64 bit detection fixes. - Fixes for CVE-2007-6720, CVE-2009-0179, CVE-2009-3995, CVE-2010-2546. - Fix MikMod_strerror() might read beyond end of a static array. - Fix looping volume in Player_SetVolume(), based on an old patch by Yi-Huang Han. - Fix "unclick" code to consider loop lengths shorter than 16: fixes crashes seen with several xm files (sf.net bug #12, mpd bug #3425.) - XM loader now reads songlength amount of orders from the file and then seeks to mh->headersize+60 (sf.net bug #10.) - A double driver registration fix. - MikMod_InfoDriver and MikMod_InfoLoader list print fixes. - Fix a possible crash on accessing the samples menu in mikmod. - Fix wav file writer for big endian platforms. - Fix wav file writer to output a correct rifflength in header. CLEANUPS backported from the HEAD branch: - Updated configury, proper support for cross-compilation, support for building in a separate directory, support latest autotools. - Fix BOOL type use all over the source. - Multiple compiler warning fixes, other small cleanups. PLATFORM SPECIFIC stuff backported from the HEAD branch: - Linux: backport ALSA driver from HEAD branch to support contemporary ALSA versions. - Unix: ESD driver updates from Fedora, now require >= 0.2.18. - Unix: minor OSS fixes. - Windows: fixes/updates, win64 fully supported. MinGW[-w64] fully supported along with MSVC and LCC. new standalone MinGW makefile with cross-compilation support. - Windows: dllexport/dllimport attributes work properly for MinGW[-w64], as well as windows compilers. Static builds using MSVC, LCC, etc are now named mikmod_static.lib. When compiling against static libmikmod, MIKMOD_STATIC should be defined so that dllimport wouldn't be assumed. - GCC elf and macho symbol visibility attributes now supported. - Linux: the old Alsa-0.3.x/0.4.x driver is now retired. the source is still in the drivers directory but not tested, nor will be maintained any more. - Linux: the old sam9407 and ultra drivers haven't been maintained for quite some time and they now default to disabled in the configury. the ultra driver had got an update in the 3.2.0 releases, which won't be back merged. - Misc: the pipe and stdout drivers are now configurable. Sep. 28 2013: The MikMod home page is now setup here at sourceforge: http://mikmod.sourceforge.net/ |
|
libmikmod is released under the terms of the
GNU Lesser General Public License (LGPL). |
Releases here are source only.
All current and previous releases can also be downloaded from here: http://sourceforge.net/projects/mikmod/files/ |
libmikmod and mikmod's sources are available from its new Git repository (based on the new SourceForge interface). In order to checkout the sources by cloning the repository, use the following command: git clone git://git.code.sf.net/p/mikmod/mikmod.git mikmod-git |
Online documentation. This is the same doc as
found inside the docs/ subdir of libmikmod releases. Documentation for libmikmod3, latest version 3.3.12 (160k single html page). And here it is in pdf format: mikmod-3.3.12.pdf Documentation for the old 3.1.x series (libmikmod2) version 3.1.22 (152k single html page). And here it is in pdf format: mikmod-3.1.22.pdf |
There's a mailing list (mikmod-public) for discussing the development
of MikMod (new features, bugs, ideas...) |
Mikmod for the classic Macintosh:
Mikmod for Java: |
www.modarchive.com Over 10 GB in more
than 28k compressed files. www.mirsoft.info/gamemods.php If you appreciate game music as much as I do, you will be pleased with all the good old game tunes available on this website. |
Page by Shlomi Fish
Link to us!: