MikMod homepage

What is MikMod? | News | Features | Screenshots | License | Files | Version Control | Documentation | Mailing list | Ports and other versions | Where to get music

What is MikMod?

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.

Back to the MikMod Homepage

News

Dec 15 2017:   Version control migrated to Git:

The sources were moved to a Git repository on SourceForge. There is also a mirror at Github.

June 20 2017:   libmikmod-3.3.11.1 and libmikmod-3.1.21.1 are released:

These are tiny patch releases for the libmikmod3 and libmikmod2 series, which fix Imago Orpheus channel status validation in previous versions.

Download current libmikmod3 from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11.1/

Download libmikmod2 from here: (if you still not upgraded to libmikmod3 for whatever reason)
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.21.1/


June 14 2017:   libmikmod-3.3.11 is released:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is highly recommended.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.11/

Here is the short ChangeLog:

- 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:

This is a maintenance release.

Download from here:
http://sourceforge.net/projects/mikmod/files/mikmod/3.2.8/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.21/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.10/

Here is the short ChangeLog:

- Fixed windows builds when UNICODE is defined. (Thanks S. Michel).

Aug. 31 2016:   libmikmod-3.1.20 is released:

This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.20/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.9/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.8/

Here is the ChangeLog:

- 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:

This is a maintenance release.

Download from here:
http://sourceforge.net/projects/mikmod/files/mikmod/3.2.7/

Here is the ChangeLog:

- Documentation update.
- Update DOS build for the new djgpp-2.05 release.

Nov. 15 2015:   libmikmod-3.1.19 is released:

This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.19/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.7/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release.

Download from here:
http://sourceforge.net/projects/mikmod/files/mikmod/3.2.6/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.18/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.6/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.17/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is encouraged.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.5/

Here is the ChangeLog:

- 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:

This is a bugfix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series. Users of libmikmod2 are encouraged to upgrade.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.16/

Here is the ChangeLog:

- 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:

This is a minor bug fix/maintenance release.

Download from here:
http://sourceforge.net/projects/mikmod/files/mikmod/3.2.5/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release for the current libmikmod3 series. Upgrading is recommended.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.4/

Here is the ChangeLog:

- 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:

This is a bugfix/maintenance release for the old libmikmod-3.1.x, i.e. the libmikmod2 series.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.15/

Here is the ChangeLog:

- 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:

This is a bug fix/maintenance release, with a new loader for umx files as the new feature. Upgrading is recommended.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.3/

Here is the ChangeLog:

- 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:

This is a minor bug fix/maintenance release.

Download from here:
http://sourceforge.net/projects/mikmod/files/mikmod/3.2.4/

Here is the ChangeLog:

- 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:

This is a bugfix/maintenance release for the old libmikmod-3.1.x series.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.14/

Here is the ChangeLog:

- 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:

This is a serious bug fix release after the previous 3.2.0 series, with additional new features. All who are using libmikmod-3.2.0 (or the interim 3.3.1-beta) must upgrade to the new libmikmod-3.3.2 version.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.3.2/

Here is the ChangeLog:

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:

This is a maintenance release to fix minor bugs since mikmod-3.2.2.

Download from here:
http://sourceforge.net/projects/mikmod/files/mikmod/3.2.3/

Here is the ChangeLog:

- 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:

This is a bugfix/maintenance release for the old libmikmod-3.1.x series. Users of libmikmod-3.1.x are recommended to update.

Download from here:
http://sourceforge.net/projects/mikmod/files/libmikmod/3.1.13/

Here is the ChangeLog:

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/

For older news, see the older news page.

Back to the MikMod Homepage

Features

  • Support for the following modules formats:
    669 (Composer 669, Unis 669), AMF (DSMI Advanced Module Format), AMF (ASYLUM Music Format V1.0), APUN (APlayer), DSM (DSIK internal format), FAR (Farandole Composer), GDM (General DigiMusic), IT (Impulse Tracker), IMF (Imago Orpheus), MOD (15 and 31 instruments), MED (OctaMED), MTM (MultiTracker Module editor), OKT (Amiga Oktalyzer), S3M (Scream Tracker 3), STM (Scream Tracker), STX (Scream Tracker Music Interface Kit), ULT (UltraTracker), UNI (MikMod), XM (FastTracker 2)
  • Can play files in archives formats: zip, lha, lzh, zoo, rar, gz, bz2, tar, tar.gz and tar.bz2
  • Curses player interface. With optional color and themes.
  • Playlist support.
  • Configuration file.
  • Works on most Unixes and win32

Back to the MikMod Homepage

Screenshots

Here are screenshots of the dynamic sample and instruments panels, volume bars panel, file selector and the theme editor added in mikmod 3.2.2:
dynamic sample panel screenshot thumnail volume bars panel screenshot thumnail filechooser screenshot theme editor screenshot
(libmikmod >= 3.2.0 required for dynamic samples panel, dynamic instruments panel and volume bars panel).

Here is a screenshot of the new color interface in version 3.2.0:
screenshot

Back to the MikMod Homepage

License

libmikmod is released under the terms of the GNU Lesser General Public License (LGPL).
mikmod is released under the terms of the GNU General Public License (GPL).

Back to the MikMod Homepage

Files

Releases here are source only.
For previous releases, visit the previous releases page.

Filename Released Description Size
Player (Mikmod)
mikmod-3.2.8.tar.gz 14 June 2017 New color interface by Andrew Zabolotny, with themes (built-in editor), file selector, recursive directory scanning, threaded player. If built with libmikmod3, samples and instrument panels are dynamic, and there is a new volume bar panel. Proper win64 support. New CMake build system. Several bug fixes. See the NEWS file for more details. Checksums:
01478623b273d7d2e2c6e45c1c478533 - MD5
dbb01bc36797ce25ffcab2b3bf625537b85b42534344e1808236ca612fbaa4cc - SHA-256
Library (libmikmod)
libmikmod-3.3.11.1.tar.gz 20 June 2017 Latest version of libmikmod3: Fixes several bugs, plugs several security holes, etc. See the NEWS file for details. Checksums:
f69d7dd06d307e888f466fc27f4f680b - MD5
ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19 - SHA-256
libmikmod-3.1.21.1.tar.gz 20 June 2017 Latest libmikmod2 release. Fixes several bugs, plugs several security holes, backports a new improved ALSA driver, etc., to keep the 3.1.x series up to date. See the NEWS file for more details. Checksums:
8af05b19c967d6ed33471df1f7e023a5 - MD5
1a88922b5a67c308899c1d991ddfb62b5d851f8a94175612b33856854938b2fb - SHA-256

All current and previous releases can also be downloaded from here:
http://sourceforge.net/projects/mikmod/files/

Back to the MikMod Homepage

Version Control

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

Back to the MikMod Homepage

Documentation

Online documentation. This is the same doc as found inside the docs/ subdir of libmikmod releases.

Documentation for libmikmod3, latest version 3.3.11 (160k single html page).
And here it is in pdf format: mikmod-3.3.11.pdf

Documentation for the old 3.1.x series (libmikmod2) version 3.1.21 (152k single html page).
And here it is in pdf format: mikmod-3.1.21.pdf

Back to the MikMod Homepage

Mailing list

There's a mailing list (mikmod-public) for discussing the development of MikMod (new features, bugs, ideas...)

To subscribe, visit https://lists.sourceforge.net/lists/listinfo/mikmod-public.

To read the existing messages archive, visit http://sourceforge.net/p/mikmod/mailman/mikmod-public/.

Back to the MikMod Homepage

Ports and other versions

Mikmod for the classic Macintosh:
http://www.algonet.se/~afb/mikmod/

Mikmod for Java:
jmikmod.berlios.de

Back to the MikMod Homepage

Where to get music

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.

Back to the MikMod Homepage


Page by Shlomi Fish

Get MikMod at SourceForge.net. Fast, secure and Free Open Source software downloads

Link to us!:
mikmod mikmod mikmod mikmod mikmod mikmod

Valid HTML 4.01!   Vim icon

vorc