OpenMPT released

Posted on
by Saga Musix

For more than a year, we have only brought you little bugfix updates to make OpenMPT 1.28 more stable and improve some details, while working on OpenMPT 1.29 at the same time. It took us way longer than expected, but now we are finally proud to release this new milestone, and it brings a great number of new features, improvements and bugfixes.

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

Breaking Changes:

  • Support for Windows XP and Windows Vista has been dropped. Pre-SSE2 x86 CPUs are no longer supported. This includes Intel Pentium 3 and older, AMD Athlon XP and older and various other third-party CPUs.
  • A portable installation of OpenMPT is now identified by the presence of a file called "OpenMPT.portable" rather than an entry in mptrack.ini. Existing portable installations are migrated accordingly.
  • mptrack.exe was renamed to OpenMPT.exe. Please update any old custom shortcuts or file associations to point to the new executable. For existing installations, the installer will try to create a symbolic link to keep the old filename working.

General improvements include:

  • While OpenMPT is still not DPI-aware by default, it now uses a new scaling mode for non-DPI-aware applications on Windows 10 1809 or newer that makes fonts look less blurry on high-DPI displays.
  • Improved tempo tap button accuracy.
  • The Comments tab has been made more useful: Samples and instruments can be previewed using regular note entry keys, and there are new keyboard shortcuts to toggle between samples and instruments and edit the selected item. Sample and instrument names can now be copied to the clipboard through the context menu.
  • Improved screen reader access to order list, pattern and instrument editors.
  • Loading sound fonts no longer requires to pre-cache the entire file in memory. This makes it possible to load huge sound fonts even in 32-Bit builds.
  • When closing a file, a proper dialog is shown for handling modified / missing external samples.

The pattern editor has also seen many improvements:

  • Can now merge a selection of patterns into a single pattern from the order list context menu.
  • Can now split a pattern into two patterns from the pattern editor context menu.
  • Row insertion and deletion can now also be done globally, affecting all patterns up to the next stop (---) pattern.
  • MIDI recording now supports Hold Pedal CC messages.
  • ProTracker- / FastTracker-like shortcuts for cutting, copying and pasting entire channels and patterns to separate clipboards have been added.
  • New shortcut "Lose Selection".
  • Tooltips are shown for pattern properties, channel headers and plugin names.
  • Moving patterns in the order list now behaves more logically (moving them to the right inserts them to the right of the dragged-on item). To make this change obvious, the insertion point is now displayed with a bold line. The old behaviour can be restored with the hidden setting Pattern Editor.OrderListOldDropBehaviour
  • Previous / Next Order shortcuts now ignore skip patterns (+++).
  • A group of channels can now be assigned to a record group at once by drag-selecting their channel headers.
  • The chord editor has been revamped: It now possible to add notes below the base note. Notes can now be dragged round on the keyboard. Closing the dialog using the X button no longer saves the modified chords.
  • Seeking with sample sync now follows instruments with custom tuning.
  • Duplicating / inserting sequences inserts them next to the current sequence rather than adding it at the end. Duplicating a sequence now keeps its original name and adds "(Copy)" to it.
  • New shortcuts to cycle between sequences.

The following improvements have been made with regards to plugins:

  • There are some hybrid VST 2 / 3 plugins using the .vst3 file extension. It is now possible to drag & drop them on OpenMPT and add them through the Plugin Manager. Folder scan does not pick them up for now, as it might result in too many annoying warnings (OpenMPT does not support VST 3 at this point).
  • Narrow plugin windows now resize appropriately if switching between presets results in a change of the menu bar height.
  • A warning is shown when the likely cause for a plugin loading failure is a shortage of Fiber Local Storage indices.
  • Speed up retrieval of parameter values when saving data from bridged plugins.
  • The stability of bridged plugins has been greatly improved. Most, if not all plugins that did not work previously should run just fine now.

In the sample and instrument editor, you can look forward to these changes:

  • Support little-endian AU / SND files.
  • The result of auto-tuning is now applied instantly to playing channels.
  • Allow resampling ratios greater than 1:512 or 512:1 again with r8brain.
  • Cross-fading can now also be applied if no loop has been set but a selection has been made. The selection is then automatically set to be the sample loop.
  • Fix accuracy and consistency of sample grid selection and grid markers with very long samples.
  • Instrument envelopes can now be imported from / exported to SFZ with SFZv2 flexible EGs.
  • Improved SFZ import: Support for #include, macro redefinition, multiline comments, filter envelope import, synthesized samples, amplitude opcode, fractional finetune values and various other small improvements in both import and export.

The tree view has also been made more useful:

  • Can now rearrange sequences through drag & drop.
  • Shortcut (.lnk) files to modules, samples and directories are now resolved.
  • Allow Forward / Backward mouse buttons to be used for folder navigation in Instrument Library.
  • Changing the instrument library directory / module can now also be achieved by editing the library header item (slow double-click).
  • Can now also import samples and instrument from modules in sample browser using Ctrl + (Shift +) Enter.
  • Added rename context menu entry in addition to slow double-click.

A couple of playback behaviours have been changed and improved:

  • In addition to A500 filter settings, the Amiga resampler can now also use A1200 filter settings and unfiltered output.
  • Fix some inaccuracies in OPL emulator.
  • Raise tempo limit from 512 to 1000 BPM in MPTM and XM files.
  • Custom tunings can now be used with OPL instruments.
  • IT: Instrument and sample panning does no longer override channel panning for following notes.
  • Add support for reading OggMod OXM files (XM with Vorbis-compressed samples).
  • Greatly improved MED import. Synthesized instruments are still not supported but support was added for: Multisampled instruments, delta samples, more pattern commands, Hold and Decay, VSTi and MIDI output, multiple songs and many other small changes.
  • SF2: Support instrument-global regions, region-specific sample loops, region tuning (only with a value of 0 for drum programs) and multi-instrument presets.
  • Various other playback fixes for MOD, XM, S3M, IT and other formats.

Audio I/O has also received some updates:

  • There is now a default WASAPI device which automatically follows changes in the system's default audio device.
  • Audio driver crashes are no longer silently masked as they may leave the program in an inconsistent state.
  • Deprecated sound devices are no longer shown by default. Use the "Show deprecated devices" checkbox to re-enable them.

But this is just the tip of the iceberg. For a complete list of changes, have a look at the release notes and the full version history.

With the advent of OpenMPT 1.29, libopenmpt also reaches the version 0.5 milestone with some new API additions and the same playback improvements as OpenMPT.