OpenMPT component (kode54 fork)

By: kode54

This component decodes modules, or music files combining both samples and sequence data and effects, using libopenmpt. Its version number is usually derived from the associated libopenmpt version, with a plus sign and trailing number if I add any extra commits following a library update. It supports files in the following formats: .MPTM, .MOD, .S3M, .XM, .IT, .669, .AMF, .AMS, .C67, .DBM, .DIGI, .DMF, .DSM, .DTM, .FAR, .IMF, .ICE, .J2B, .M15, .MDL, .MED, .MMS, .MT2, .MTM, .NST, .OKT, .PLM, .PSM, .PT36, .PTM, .SFX, .SFX2, .ST26, .STK, .STM, .STP, .ULT, .WOW, .GDM, .MUS, .FMT, SymMOD, DSym, and .STX. It also supports Ian Luck's .MO3 compressed format with MP3, Ogg Vorbis, or ADPCM samples, and it also supports arbitrary archive formats with the extensions of .MDZ, .MDR, .S3Z, .S3R, .XMZ, .ITZ, or .MPTMZ, assuming foobar2000's Archive Support plugin is installed, or any other archive plugin.

Note: The included "sinc" resampler is equivalent to the OpenMPT software's "sinc + lowpass", aka sinc plus anti-aliasing filter. The option to disable this filter is not currently exposed in the libOpenMPT API, and even if it were, it would be an implementation detail only relevant to the "sinc" resampling filter size.

Current version: 0.6.2, released on 2022-03-14

Change log:

  • [Sec] Possible out-of-bounds write in malformed IT / XM / MPTM files using the internal LFO plugin. (r17076)
  • [Sec] Possible out-of-bounds read when using Amiga BLEP interpolation with extremely high-pitched notes. (r17078, r17079)
  • ISO-8859-1-related charsets from Amiga OS and RISC OS are now handled more accurately, thus avoiding some unwanted control characters.
  • MO3: Pattern indices 254 / 255 were not treated as playable patterns even if the original file was a MOD / XM.
  • Correctly apply ST3-style effect memory when seeking in S3M files.
  • Command S (S3M / IT style) effect memory was not applied when seeking.

Works with foobar2000 v1.6 and newer


View version history
Source code

More components

Browse all
Browse by author: kode54
Tags: Amiga, decoder, demoscene, game music

How to install a component?