• C++ 87.3%
  • C 4.1%
  • Makefile 2.3%
  • Lua 1.4%
  • FreeBASIC 1.1%
  • Other 3.7%
Find a file
2026-10-09 15:21:53 +00:00
.github/workflows [Fix] build: CI: Github: macOS: Fix Homebrew OpenSSL 3 breakage on macOS 15. 2026-10-03 10:49:51 +00:00
build [Var] python: Update to v3.15.0 (2026-10-09) 2026-10-09 15:21:53 +00:00
common [Fix] IT Compatibility: Fix really bad interaction between Envelope Carry feature and an instrument number + portamento combination in Compatible Gxx mode, which may copy the envelope state from another channel thanks to some global state not being updated in this particular condition in the original IT code. Test case: CarryCompatGxxPortaWithIns.it 2026-07-12 14:09:54 +00:00
contrib [Mod] Add ASIF magic bytes to fuzzer dictionary. 2026-02-21 19:52:28 +00:00
doc [Doc] Update the signed release process documentation (still not fully up-to-date after this change). 2026-03-24 20:25:36 +00:00
examples [Fix] examples: Silence GCC warning in PortAudio-C++. 2026-04-19 06:27:00 +00:00
include [Fix] zlib: Apply <a82e0db392>. 2026-10-03 14:20:13 +00:00
installer [Ref] Installer: Force x86 installer binary. When future Windows removes the capability to execute 32bit x86 code natively or via emulation, we will need to migrate to SetupArchitecture=x64, which generates an amd64 installer binary. 2026-03-16 16:47:51 +00:00
libopenmpt [Mod] libopenmpt: Bump prerel version. 2026-08-18 21:10:14 +00:00
misc [Ref] mptOS: Detect Windows 11 26H2. 2026-10-03 08:51:57 +00:00
mptrack [Fix] Avoid crash in quickstart dialog when launching OpenMPT with a file as command-line parameter that fails to load, while then also trying to pass a second file via IPC to the same instance. 2026-10-09 13:42:57 +00:00
openmpt123 [Var] 2026. 2026-01-01 08:04:28 +00:00
packageTemplate [Doc] Fix broken HTML. 2025-05-31 14:18:22 +00:00
pluginBridge [Ref] Plugin Bridge: Silence bogus cppcheck warning. 2026-06-06 06:24:52 +00:00
sounddsp [Ref] mptCPU: Simplify SIMD feature checks. 2025-11-14 18:08:19 +00:00
soundlib [Fix] SF2: Allow loading samples with undefined "linked" sample type (https://bugs.openmpt.org/view.php?id=1988). 2026-10-09 13:45:07 +00:00
src [Ref] mpt/osinfo/windows_version.hpp: Add Windows 11 26H2. 2026-10-03 08:51:25 +00:00
test [Ref] openmpt/soundbase/SampleConvert.hpp: Add ConvertChain. 2026-04-27 18:51:31 +00:00
tracklib [Ref] Use cleaner include statement for r8brain. 2026-07-06 07:38:27 +00:00
unarchiver [Ref] mptString: Remove mpt::IsUTF8(). Just use mpt::is_utf8(). 2025-12-27 14:29:56 +00:00
.appveyor.yml [Fix] build: CI: AppVeyor: Fix typo. 2025-12-01 17:13:06 +00:00
.clang-format [Var] Work-around clang-format performance problem. See <https://github.com/llvm/llvm-project/issues/57117#issuecomment-1213375889>. 2022-08-13 16:29:15 +00:00
.gitattributes [Var] Add .gitattributes file that prevents github from using files in include/ to classify the source language of the repository. 2021-06-16 08:09:53 +00:00
.gitignore [Var] Update gitignore. 2026-07-17 11:17:33 +00:00
LICENSE [Var] 2026. 2026-01-01 08:04:28 +00:00
Makefile [Mod] build: cppcheck: Suppress uninitMemberVarNoCtor. Causes way too many bogus warnings. 2026-06-05 20:27:02 +00:00
README.md [Doc] Remove mentioning separate Windows 8.1 SDK installation options. We only support using the VS 2017 XP targeting compiler with a proper VS 2017 installation anyway. 2025-10-03 21:18:23 +00:00

README

OpenMPT and libopenmpt

This repository contains OpenMPT, a free Windows/Wine-based tracker and libopenmpt, a library to render tracker music (MOD, XM, S3M, IT MPTM and dozens of other legacy formats) to a PCM audio stream. libopenmpt is directly based on OpenMPT, offering the same playback quality and format support, and development of the two happens in parallel.

License

The OpenMPT/libopenmpt project is distributed under the BSD-3-Clause License. See LICENSE for the full license text.

Files below the include/ (external projects) and contrib/ (related assets not directly considered integral part of the project) folders may be subject to other licenses. See the respective subfolders for license information. These folders are not distributed in all source packages, and in particular they are not distributed in the Autotools packages.

How to compile

OpenMPT

  • Supported Visual Studio versions:

    • Visual Studio 2019, and 2022 Community/Professional/Enterprise

      To compile the project, open build/vsVERSIONwin7/OpenMPT.sln (VERSION being 2019, or 2022) and hit the compile button. Other target systems can be found in the vs2019*, and vs2022* sibling folders.

      Note that you have to build the PluginBridge and PluginBridgeLegacy projects manually for architectures other than the one you are building OpenMPT for, as Visual Studio only builds one architecture configuration at a time.

      Please note that we do not support building with a later Visual Studio installation with an earlier compiler version. This is because, while later Visual Studio versions allow installing earlier compilers to be available via the later version's environment, in this configuration, the earlier compiler will still use the later C and C++ runtime's headers and implementation, which significantly increases the matrix of possible configurations to test.

    • Visual Studio 2017 XP targeting toolset

  • OpenMPT requires the compile host system to be Windows 8.1 (or later) on amd64 for VS2019 and VS2017, Windows 10 (or later) on amd64 for VS2022, or Windows 11 (or later) ARM64.

  • In order to build OpenMPT for Windows XP, the Visual Studio 2017 XP targeting toolset as well as the Windows 8.1 SDK need to be installed. The SDK is optionally included with Visual Studio 2017.

  • Microsoft Foundation Classes (MFC) are required to build OpenMPT.

libopenmpt and openmpt123

See Dependencies and Getting Started.

Contributing to OpenMPT/libopenmpt

See contributing.