# OpenMPT 1.30 - Release Notes

It's been a while since the last major feature update, and we have been working on a bunch of great new features for this new version. This document should give a rough overview about the biggest changes in OpenMPT 1.30.

## What's new?

### General

- OpenMPT is now also available for Windows on ARM.
- OpenMPT now uses a unified installer for all supported platforms. There is just one installer that automatically installs all versions that run on the current machine (e.g. x86 and x86-64 on a 64-Bit Intel processor). If you are upgrading from a pre-1.30 installation, do not forget to change any custom shortcuts or file associations to point to the new executable locations!
- OpenMPT can now be updated automatically.
- Keyboard shortcuts can now also be bound to MIDI notes in addition to MIDI CCs.
- DirectSound support was removed.
- There are now experimental OpenMPT builds again for Windows XP (with reduced functionality); they can be obtained via our nightly test builds. The amd64 XP builds should also work on recent macOS versions in Wine. Our official OpenMPT builds for amd64 are currently not supported on macOS due to a bug in the Visual Studio runtime libraries.

### Pattern Editor

- Channels can now be color-coded for easier navigation and visual grouping.
- The Go To dialog can now also directly jump to a timestamp.
- Selecting a non-existing pattern in the order list now no longer keeps displaying the previously edited pattern, to avoid giving the impression that the recently-selected pattern is actually being edited.

### Plugins

- OpenMPT and the default plugin bridge now use Data Execution Prevention by default. For older plugins that are not compatible with DEP, high-entropy ASLR or Large Address Awareness, a legacy plugin bridge is provided, which will be used for all plugins previously added to OpenMPT. Newly added plugins will not use the legacy bridge, unless they are detected to require it or if the user chooses so.
- Added a menu item in the plugin editor to rename the plugin instance.
- Bypass status is now shown in title bar of plugin editors.
- If an instrument's MIDI program or bank was set to 1, it wasn't transmitted together with the first note playing on that channel, only when a different program or bank was previously chosen on that channel. Now it's always transmitted with the first note.

### Sample / Instrument Editor

- Added a timeline to the sample editor which shows sample positions in seconds or samples, and visualizes loop points and cue points, allowing them to be dragged around with the mouse. Press Shift while dragging for finetuning.
- Added option to convert ping-pong loops to unidirectional loops.
- Resampling can now optionally adjust offset commands in patterns.
- Loading or renaming a sample now automatically updates the associated instrument's name too if the instrument previously had the same name as the sample or no name, and if no other samples are assigned to it.
- Dropping an item from the tree view with Shift pressed now drops it into a new sample / instrument slot.
- It is now possible to extract a complete drum instrument into a single instrument slot by dragging its folder rather than an individual note.
- Envelope zoom level is now remembered when switching between tabs.

### Playback

A couple of playback behaviours have been changed and improved and new commands were added:

- Volume column

      o00

  + effect column

      Oxx

  now work together as percentage offset. If parameter extension

      #xx

  is used, it increases the granularity of the percentage.

      SAx

  does not affect this command combination.
- Volume column

      oyy

  + effect column

      Oxx

  (

      yy

  > 0) now work together as well: The effect column offset is added to the sample cue.
- Two new commands, Finetune (

      +xx

  ) and Finetune (Smooth) (

      *xx

  ), which double as micro-tuning commands and absolute pitch wheel messages for plugins. They are centered around value 80h, and fractional precision can be extended using an additional # command on the next row. The micro-tuning depth corresponds to the pitch wheel depth of the instrument; 1 semitone is used in sample mode.
- Improved precision of ping-pong loop length particularly for very small samples.
- Samples are now played at the correct volume (in relation to plugins / OPL instruments) when rendering or playing modules in mono.
- For instrument using custom tuning,

      S2x

  (Set Finetune) now adjusts the finetune of the note by -8...+7 tuning steps.
- Various playback improvements for IT, XM, S3M and other formats.

### File Format Support

- OPL register dumps can now be exported as VGZ / VGM / DRO files.
- OpenMPT 1.30 adds support for the following module formats: Symphonie / Symphonie Pro (SymMOD), Digital Symphony (DSym), FM Tracker (FMT), Scream Tracker Music Interface Kit (STX) and music from Psycho Pinball and Micro Machines 2 (MUS).
- OpenMPT can now detect whether an S3M file was made in Scream Tracker 3 with a SoundBlaster or Gravis Ultrasound and will apply playback compatibility settings accordingly.
- IFF MAUD samples can now be imported.
- The raw sample import is now more flexible and supports more raw format options.
- TakeTracker MOD files with magic bytes `TDZ1`, `TDZ2` and `TDZ3` are now also recognized.
- Modules packed with various legacy compression formats (in particular many more XPK variants) can now be read. All formats supported by the ancient library are supported.
- Added support for SF2 files with Vorbis and FLAC samples (typically referred to as SF3 or SF4).

### There's more...

For a detailed description of what has changed, check History.txt. If you are new to OpenMPT, be sure to read the manual as well.

## Known Issues

This list is not very comprehensive. The Issue Tracker keeps more fine-grained track of issues.

- The plugin bridge is still rather experimental. It is known that some plugins don't work in it at all. Custom plugin GUIs are known to not work in Wine. Please report any issues you may be having with the plugin bridge!
- Far from perfect VST support (no buses for audio / MIDI routing, not all tracker effects are supported, etc...)
- Previewing samples from the tree view's file browser stops the playing module.
- There is no really convenient way to find out what features of the tracker are supported by the original trackers (Impulse Tracker, Fasttracker 2, etc...) when working with those file formats...

Known issues regarding specific VST plugins can be found in the manual.

## Contact

Helpful bug reports, new ideas and brave volunteers to test early development builds or contribute to the code are more than welcome!
Our issue tracker is located at https://bugs.openmpt.org/ and can be used to report bugs and feature requests.
You can also meet us at the ModPlug Central forums: https://forum.openmpt.org/.