OpenMPT released

Posted on
by Saga Musix

For more than a year, we have only brought you little bugfix updates to make OpenMPT 1.26 more stable and improve some details, while working on OpenMPT 1.27 at the same time. Now it is finally time to release it, and it brings a great number of new features, improvements and bugfixes.

Here is a short summary of the most notable new features:

  • First and foremost: The minimum system requirements changed. OpenMPT now requires at least Windows XP or Wine 1.6 to run. Older systems (Windows 98 SE, Windows ME, Windows 2000, as well as Wine 1.0 through 1.5) are no longer supported. OpenMPT 1.27 also drops support for some very old CPUs. More details can be found in a forum thread.
  • Greatly improved MIDI import. New features include support for user-definable quantization level, XG and GS drum kits, sustain pedal, loop points, channel / master transpose, type 2 (multi-song) MIDI files, and many others.
  • SFZ instruments, 64-bit PCM WAV and AIFF samples can now be imported.
  • Undo / Redo for instruments.
  • Can now fade in from or fade out to arbitrary levels other than 0% and change the stereo width of a sample.
  • VU meters are now also shown for instrument plugins. You can define individual VU meter colours for samples and plugins!
  • Added the LFO Plugin, which can automate other plugins' parameters or MIDI CCs.
  • Fixed sporadic freezes and crashes in the MIDI Input / Output Plugin. It is now also possible to toggle the sending of timing information to MIDI devices, and to specify a custom output latency. This value can also be negative, up to the duration of OpenMPT's own output latency.
  • Added the Amiga Resampler, which emulates how the Amiga's soundchip (Paula) works by means of Band-Limited Step (BLEP) synthesis. Can be enabled from the Mixer options only for Amiga-type modules. Includes support for the E0x command in MOD files.
  • Increased accuracy of the sample position and sample rate to drift less when playing very long samples or when resampling them in the sample editor.
  • Added a great number of user-contributed colour schemes.
  • OpenMPT's file handling is now fully unicode-aware.
  • Experimental direct integration with PulseAudio and ALSA when running OpenMPT through Wine.
  • Redesigned and improved the Tuning Editor: Cents are shown in addition to ratios, simplified tuning management (all tunings are now "tune-specific"), decimal point as specified by the system locale can be used to input ratios, etc.
  • Local tunings do not exist anymore. Contents of are unpacked to individual tuning files on first start.
  • Added support for Soundtracker Pro II (STP) and Digital Tracker / Digital Home Studio (DTM) modules and synthesized instruments in Startrekker modules. Instrument files must have the same name as the module itself, followed by either ".nt" or ".as".
  • Various MOD, XM, S3M and IT playback fixes.
  • The default DMO effects are now also available on Windows Server and Wine without any additional downloads.
  • Plugins sharing the same filename no longer cause OpenMPT to rescan them on every startup.
  • Unused channel removal is now more aggressive and removes any channels that contain no notes, no PC events and no global commands (so a channel that contains only Note Cuts or only portamento commands will be removed).
  • Improved accessibility for blind users in the pattern and instrument editors.
  • Rearranging patterns no longer clears the pattern undo.
  • Added an option to MIDI Export to not export an instrument at all (available from the MIDI channel dropdown).
  • Added hidden setting Misc.SaveChannelMuteStatus (default true), which can be used to avoid channel mute status to be saved in S3M, IT and MPTM files.
  • Channels can be renamed in the Channel Manager by middle-clicking them.
  • "Friendly names" can be set for MIDI input / output ports. By adding a "Device Name=Friendly Name" pair to the [MIDI Input Ports] or [MIDI Output Ports] configuration sections respectively, the real device name gets substituted by the user-supplied name in the user interface.
  • MIDI Mapping now supports 14-bit MIDI controllers. Combinations of CC 0...31 and CC 32...63 are now recognized as double-precision MIDI messages, which increases the precision when recording them as PC events or passing them on to plugins.
  • Playback can now be locked to a pattern selection through the context menu or a keyboard shortcut.
  • New shortcut "Apply current instrument to existing only". Unlike "Apply current instrument", this does not affect notes without instrument numbers.
  • New shortcuts "Jump to previous / next entry in column" can be used to quickly jump to the next non-empty entry in the currently selected note, instrument, etc. column.
  • Added option "Play notes when transposing" which previews the transposed note if the pattern selection only spans one pattern cell.
  • Seeking with sample sync now also keeps track of pingpong-looped samples and is now enabled by default for new installations.
  • Added Scala .scl export for custom tunings.
  • MP3 patents have finally expired! mpg123 is now shipped with OpenMPT, so unmo3.dll support has been removed. The internal MO3 decoder is always used. MP3 sample import is now also supported out of the box on all systems.
  • Opus export is now also possible at sample rates that are not native to the Opus codec. They are automatically resampled.

For a complete list of changes, have a look at the release notes and the full version history.

With the advent of OpenMPT 1.27, libopenmpt also reaches the version 0.3 milestone with several new API additions and the same playback improvements as OpenMPT.