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, and .GDM. 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.5.8, released on 2021-04-12

Change log:

  • [Sec] Possible null-pointer dereference read caused by a sequence of openmpt::module::read, openmpt::module::set_position_order_row pointing to an invalid pattern, and another openmpt::module::read call. To trigger the crash, pattern 0 must not exist in the file and the tick speed before the position jump must be lower than the initial speed of the module. (r14530)
  • [Bug] libopenmpt 0.5.7 broke seeking in some subsongs.
  • The built-in LFO plugin did not load the correct initial LFO frequency.
  • IT command S7x (instrument control) is now supported when seeking with sample sync enabled.
  • libopenmpt_ext play_note was cutting of channels even when there were plenty of free channels to use.
  • mpg123: Update to v1.26.5 (2021-03-22).

Works with foobar2000 v1.4 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?