Jef 20d28e80a5 Initial community commit 2 月之前
..
.github 20d28e80a5 Initial community commit 2 月之前
build 20d28e80a5 Initial community commit 2 月之前
common 20d28e80a5 Initial community commit 2 月之前
contrib 20d28e80a5 Initial community commit 2 月之前
doc 20d28e80a5 Initial community commit 2 月之前
examples 20d28e80a5 Initial community commit 2 月之前
include 20d28e80a5 Initial community commit 2 月之前
installer 20d28e80a5 Initial community commit 2 月之前
libopenmpt 20d28e80a5 Initial community commit 2 月之前
misc 20d28e80a5 Initial community commit 2 月之前
mptrack 20d28e80a5 Initial community commit 2 月之前
openmpt123 20d28e80a5 Initial community commit 2 月之前
packageTemplate 20d28e80a5 Initial community commit 2 月之前
pluginBridge 20d28e80a5 Initial community commit 2 月之前
sounddsp 20d28e80a5 Initial community commit 2 月之前
soundlib 20d28e80a5 Initial community commit 2 月之前
src 20d28e80a5 Initial community commit 2 月之前
test 20d28e80a5 Initial community commit 2 月之前
tracklib 20d28e80a5 Initial community commit 2 月之前
unarchiver 20d28e80a5 Initial community commit 2 月之前
.appveyor.yml 20d28e80a5 Initial community commit 2 月之前
.cirrus.yml 20d28e80a5 Initial community commit 2 月之前
.clang-format 20d28e80a5 Initial community commit 2 月之前
.gitattributes 20d28e80a5 Initial community commit 2 月之前
.gitignore 20d28e80a5 Initial community commit 2 月之前
LICENSE 20d28e80a5 Initial community commit 2 月之前
Makefile 20d28e80a5 Initial community commit 2 月之前
README.md 20d28e80a5 Initial community commit 2 月之前

README.md

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 2017, 2019, and 2022 Community/Professional/Enterprise

      To compile the project, open build/vsVERSIONwin7/OpenMPT.sln (VERSION being 2017, 2019, or 2022) and hit the compile button. Other target systems can be found in the vs2017*, 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.

  • OpenMPT requires the compile host system to be Windows 8.1 (or later) amd64, or Windows 11 (or later) ARM64.

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

    The Windows 8.1 SDK is available from https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/ or directly from https://download.microsoft.com/download/B/0/C/B0C80BA3-8AD6-4958-810B-6882485230B5/standalonesdk/sdksetup.exe .

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

libopenmpt and openmpt123

See Dependencies and Getting Started.

Contributing to OpenMPT/libopenmpt

See contributing.