OpenMPT released

Posted on
by Saga Musix

It's time for the next big OpenMPT release, and OpenMPT 1.24 again brings a great amount of long-awaited new and improved features. Here is a short summary of the most notable new features:

  • ITP is dead*, long live MPTM! No worries, your old ITP files can still be imported, but the clunky ITP format has been dropped in favour of some new features in the MPTM format: Instead of linked instruments, you can now keep references to external samples in your MPTM files, effectively reducing the file size even if a sample is shared by several instruments. The ITI instrument format has been extended in a similar way so that ITI files can now simply reference external sample files instead of directly embedding the sample data (choose "Impulse Tracker Instruments with external Samples" in the save dialog). Unlike in the ITP format, it is easy to mix external and internal samples in one file and relocate missing files.
  • Each song's window position and contents are now saved, so that you can continue right where you left off when reloading the file.
  • "Remove unused sample data" now also finds samples with identical stereo channels and offers to optimize them to mono.
  • Dropping a folder on OpenMPT that contains modules or VST plugins opens / registers them directly now.
  • Song length estimation can now show the length of all "hidden" subtunes in the current sequence.
  • Many small improvements in the audio output code again, also to improve performance on Wine systems.
  • In the pattern editor, Ctrl+(Shift+)Scroll wheel can now be used as a replacement for the "(Coarse) Data Entry" shortcuts.
  • Further enhanced drag&drop functionality in the tree view: Dropping a module or folder on the sample browser opens this module or folder for browsing, dropping a soundfont file on the upper part of the tree view adds it to the list of soundfonts.
  • In the tree view, sample waveforms can now be reloaded from disk (e.g. after editing a sample in an external application) if OpenMPT knows the sample's original path, e.g. after loading or saving it, or using MPTM's external sample feature.
  • When adding a new plugin through the plugin manager that is missing from some open file, it is now automatically loaded and restored in that file.
  • "Randomize Parameters" now applies a customizable randomization factor to plugin parameters.
  • Resampling samples to any custom sample rate is now possible, thanks to the high-quality r8brain-free resampler.
  • Adjusting the sample frequency updates all playing notes' sample frequency immediately (only in IT and MPTM).
  • Custom background and selection colours for the sample and instrument editor.
  • Rearranging samples (e.g. through song cleanup or the tree view) no longer messes up the undo buffer history.
  • When previewing instruments with a fadeout value of 0, instantly stop them on key-up instead of letting them play forever.
  • The first instrument of a soundfont can now be loaded directly without registering the soundfont in OpenMPT. Useful for single-instrument soundfonts.
  • S70 / S71 / S72 commands do now also work with instrument plugins. NNA / DCA settings are now applied to plugins assigned to sample-less instruments as well.
  • Smooth MIDI macros do now, to some extent, work with external MIDI messages. They interpolate from the previous Zxx or \xx parameter from the same channel to the new parameter.
  • In all mix modes since 1.17RC2, a way too long volume ramp (some times up to 100 times longer than the user-supplied ramp setup) was applied for extreme global volume changes. This is now disabled except for legacy 1.17RC2 mix mode.
  • Re-implemented stereo separation to be applied on the master mix. This means that it also works as expected with stereo samples and plugins now.
  • Linear frequency slide mode (in all formats except XM, which already worked as intended) has been re-implemented to fix some unwanted inaccuracies which can add up very quickly when using extra-fine slides.
  • Reverted XM compatibility export to always write out 256 order items, which should restore compatibility with a couple of players that were previously choking on OpenMPT's XM files.
  • Use "normal" compatible mix mode instead of FT2 panning mix mode for XM files that were compatibility-exported with OpenMPT 1.22 or older, and XM files made with other trackers that use linear panning.
  • Compatible playback mode for S3M: When enabled, OpenMPT emulates certain ScreamTracker quirks as it did until now (linked pattern effect memory and ignored effects on muted channels). Compatible mode is disabled automatically for files made with less compatible trackers. S3M files made with OpenMPT always have this mode enabled, and its state is not saved in S3M files.
  • Amiga frequency limits can now also be enforced in MOD files without activating ProTracker 1/2 mode.
  • Added loading support for a MOD variant introduced by SoundTracker 2.6 and Ice Tracker.
  • Completely rewrote MT2 loader. Some files that would previously not load properly do now load. Support for VST plugins, drum patterns and some extended MT2 pattern commands has been added.

* Not that anyone would have noticed - some fundamental errors in the ITP saving code have gone unnoticed since the release of OpenMPT 1.21 two years ago...

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

libopenmpt has been updated as well to reflect the latest improvements in OpenMPT. New features include independent pitch and tempo modification as well as better subsong selection control.