Author Topic: OpenMPT 1.30 release candidate available  (Read 260 times)

Offline Saga Musix

  • OpenMPT Developers
  • *****
  • Posts: 7,346
  • aka Jojo
    • Download music, samples, VST plugins: Saga Musix Website
  • Operating System: Windows 10 x64
OpenMPT 1.30 release candidate available
« on: November 16, 2021, 22:40:18 »
It took us far longer than expected, but now we're finally getting ready for an official release of OpenMPT 1.30 towards the end of the year. There are many great new features in this release, so hopefully the long delay was worth it.

This isn't a release candidate in a strict sense, but I would like to encourage the brave among you to go to and grab the latest OpenMPT 1.30 test builds and play around with them.

We'll iron out a few more bugs and and get the wiki / manual ready with all thsoe changes in the next weeks.

Here's the detailed changelog as of r15985 (a few changes might not be documented yet):

Code: [Select]
Tree view
- [Imp] It is now possible to also load instruments from the MIDI library or soundfonts into the sample / instrument tab using Ctrl + (Shift +) Enter.
- [Fix] Clicking on some folders under soundfont items caused some instrument of that soundfont to be played since OpenMPT

General tab
- [Imp] Changes to channel properties can now be undone and redone.
- [Imp] Tooltips are shown for channel volume and panning sliders as well as plugin gain.
- [Imp] User-chosen plugin names are now shown in addition to library names in plugin dropdown list.

Pattern tab
- [New] Channels can now be color-coded. In addition to the pattern editor, channel color is also shown and editable in the General Tab, Quick Channel Settings and Channel Manager. Default colors can be changed in Display settings.
- [New] Pattern Goto Dialog: Can now directly jump to a timestamp.
- [Imp] Quick Channel Settings: Tooltips are shown for volume and panning sliders.
- [Mod] 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.
- [Mod] Typing in a pattern number into the order list now instantly updates the displayed pattern.
- [Mod] "Dummy" commands are now shown as semi-transparent text.
- [Fix] Fix issues with Data Entry shortcuts on commands that take two nibble parameters (e.g. volume slides).

Sample tab
- [New] Added a timeline 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.
- [New] Add option to convert ping-pong loops to unidirectional loops.
- [New] Resampling can now optionally adjust offset commands in patterns. This does not work properly with offsets affected by the SAx "high offset" command currently.
- [New] Raw sample import can now try to automatically determine the correct raw format. More raw format options are now available, too.
- [New] IFF MAUD samples can now be imported.
- [New] The sample value under mouse cursor is now shown in the status bar.
- [Imp] Cue points can now be deleted by right-clicking their marker in the timeline.
- [Imp] Speed up redrawing of sample waveform when modifying the sample selection or loop points.
- [Imp] 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.
- [Imp] Time stretch parameter setup is now more usable.
- [Imp] Dropping an item from the tree view with Shift pressed now drops it into a new sample slot.
- [Mod] Opus / Vorbis: Instead of rejecting large samples, they are now trimmed to the maximum supported length and a warning is shown.
- [Fix] Show correct dB values for OPL instruments in Default Volume and Global Volume tooltips.
- [Fix] Switching to an OPL instrument after a zoomed-in sample was shown and not scrolled entirely to the left didn't display the OPL editor correctly.

Instrument tab
- [Imp] Dropping an item from the tree view with Shift pressed now drops it into a new instrument slot.
- [Imp] Zoom level is now remembered when switching between tabs.

Mod Conversion
- [Imp] Ping-pong loops are now automatically converted to unidirectional loops when converting to MOD / S3M.
- [Mod] Converting to MPTM no longer asks if the order list should be split into multiple sequences if it contains separator items. This action can still be carried out manually from the order list context menu instead.

VST / DMO Plugins
- [New] 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.
- [Imp] Plugin Editor: Added a menu item to rename the plugin instance.
- [Imp] Plugin Editor: Bypass status is now shown in title bar.
- [Mod] Do not silently ignore crashes in VST plugins any more. A new hidden settings "Broken Plugins Workarounds.VSTMaskAllCrashes" can restore previous behaviour.
- [Fix] When implementing the Flanger DMO effect, some details in the original effect were overlooked. For modules made with OpenMPT 1.27 - 1.29, a legacy plugin using the old implementation (close to the Chorus DMO) is provided (this does not show up in the Plugin Manager) and used automatically in those modules.
- [Fix] 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.

- [Imp] Improved precision of ping-pong loop length particularly for very small samples.
- [Imp] OPL: Improve channel allocation strategy when there are lots of faded-out notes.
- [Fix] By default, an OPL note-off message is now sent on every note change. Most of the time, there is no audible difference, but this fixes missing notes in ADLIBSP.S3M. The old behaviour is retained through a compatibility flag.
- [Fix] Samples played at the wrong volume when rendering or playing modules in mono (

- [New] 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.
- [New] Volume column oyy + effect column Oxx (yy > 0) now work together as well: The effect column offset is added to the sample cue.
- [New] Two new commands, Finetune (+) and Finetune (Smooth) (*), 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 (

MPTM::Custom Tuning
- [New] Added character '*' to drawable letters for built-in fonts.
- [Imp] S2x (Set Finetune) now adjusts the finetune of the note by -8...+7 tuning steps.

- [Fix] Internally, Impulse Tracker always calculates sample playback speed in Hertz instead of periods, even with Linear Slides disabled. Using periods instead can cause small yet audible discrepancies. OpenMPT now also supports frequency instead of periods for Amiga Slides. Fixes "Watching Her Smile".
- [Fix] Pitch/Pan Separation was affected by note-off commands, and wasn't reset by panning commands like in Impulse Tracker.

- [Fix] Emulate FT2 Tone Portamento quirk that inverts portamento direction after the target was reached (if target note was higher than previous note).

- [Imp] S3M files saved with Impulse Tracker and latest Schism Tracker now also compute sample playback speed in Hertz.
- [Imp] Depending on whether an S3M file was last saved in Scream Tracker with the Sound Blaster or Gravis Ultrasound drivers loaded, different compatibility flags are now applied. For files saved with the GUS, the sample volume factor is now also ignored (fixes volume levles in S3Ms made on the GUS, in particular if they use both samples and OPL instruments).
- [Imp] Enforce lower frequency limit.

- [New] OpenMPT only supported "TDZ4" to "TDZ9" magic bytes for TakeTracker modules, which should not even exist. Add support for 1 to 3 channel TakeTracker modules used "TDZ1" to "TDZ3" magic bytes.
- [Imp] Allow EFx (Invert Loop) effect to work with 16-bit and stereo samples, which would later be converted to 8-bit mono samples anyway.
- [Fix] Digital Tracker MODs have four unknown bytes right after the magic bytes which seem to be ignored even by Digital Tracker itself. Just skip over them (tx AliceLR).

Other formats
- [New] Can now read Symphonie (SymMOD) modules.
- [New] Can now read Digital Symphony (DSym) modules.
- [New] Can now read MUS modules from Psycho Pinball and Micro Machines 2.
- [New] Can now read FMT modules made with Davey W Taylor's FM Tracker.
- [New] 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.
- [Imp] MDL: Implemented finetune command.
- [Imp] OKT: Various accuracy improvements such as: Sharing volume between mixed channels, volume commands on mixed channels are permanent (not reset with new notes), mixed channels do not support default sample volume, 7-bit samples are actually supposed to be played as-is (not amplified to full 8-bit range), reject speed command parameters >= 20.
- [Mod] Warn during saving of an imported file when any playback compatibility settings are enabled that are not supported by the current editing format. These settings are disabled automatically.
- [Fix] MT2: External samples with sample paths starting with ".." (like some MadTracker 2 example songs) didn't load properly.

Stream Export
- [New] Can now export AU files with µ-law and A-law encoding.
- [Mod] Default dither is now 1-bit dither with 1st order noise shaping instead of 0.5-bit dither. Although this adds a higher noise floor in the upper part of the spectrum than the old default, the harmonic distortion is reduced, and the signal-to-noise ratio in the lower part of the spectrum is improved. Especially with high samplerates (> 48kHz), this is a clear improvement over the old default, because the added noise floor will be mostly above audible spectrum.

Audio I/O
- [Mod] Default dither is now 1-bit dither with 1st order noise shaping instead of 0.5-bit dither.
- [Reg] Support for DirectSound output was removed.

- [New] OpenMPT updates can now be downloaded and installed automatically.
- [New] OpenMPT is now also available for Windows on ARM.
- [New] Can now export OPL register dump as VGZ/VGM/DRO files.
- [New] Can now open SF2 soundfonts with compressed samples (commonly referred to as SF3, see
- [New] Added new hidden setting "Misc.UseSingleInstance" (default false) which allows to force OpenMPT to only ever open a single instance.
- [New] Added a button to Mixer settings to easily revert ramping settings to defaults (tx eightbitbubsy).
- [New] Added a new shortcut to quickly toggle between all lower and upper views.
- [Imp] Saving samples / instruments and Stream Export now reports if there was a write failure, e.g. due to full disk.
- [Imp] Keyboard shortcuts can now also be bound to MIDI notes in addition to MIDI CCs.
- [Imp] Infinite pattern loops are now detected in song length calculation. This also improves seeking accuracy in modules with pattern loops.
- [Imp] Register OpenMPT with Restart Manager. This allows the installer to automatically close and restart OpenMPT.
- [Imp] OpenMPT now reports if loading a module fails due to being out of memory.
- [Mod] Hidden settings "VST Plugins.FullyUnloadPlugins" is now named "BrokenPluginsWorkarounds.VSTNeverUnloadAnyPlugin" and its meaning inverted. The old setting is migrated automatically.
- [Reg] Remove hidden setting "Misc.ShowSettingsOnNewVersion".

Third-Party Libraries
- [Imp] Update PortAudio (v19.7.0)

Installer/release package
- [New] Added a new German keymap (Impulse Tracker / OpenMPT crossover) by melcom. Updated coda's key map.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.