OpenMPT 1.27 releases

Started by Saga Musix, September 11, 2017, 16:02:47

Previous topic - Next topic

Saga Musix

After more than one year of work, OpenMPT 1.27 development is finally nearing completion, and only a few little things need to be ironed out for the 20-year anniversary release. But of course there might still be some new bugs hidden that we didn't manage to catch, so I'd like to officially start the beta-testing phase now. :)

I consider the current test builds stable enough to encourage everyone to give them a try and provide feedback on the new version. You can obtain the current version from https://builds.openmpt.org/ for all the supported configurations (x86 and x64 for both new and old Windows / Wine versions).
Please note that the minimum system requirements have changed a bit, dropping support for Windows versions older than XP and Wine versions older than 1.6, as outlined in another thread.

The wiki also contains the most current documentation on OpenMPT 1.27: https://wiki.openmpt.org/Main_Page

What has changed? Well, quite a bit!
General tab
   [Imp] Indicate whether a plugin is bridged (http://bugs.openmpt.org/view.php?id=904).

Pattern tab
   [New] Allow locking playback to a pattern selection through context menu or shortcut (http://forum.openmpt.org/index.php?topic=5720.0).
   [New] Added option "Play notes when transposing" which previews the transposed note if the pattern selection only spans one pattern cell (tx Kab).
   [New] New shortcut "Apply current instrument to existing only". Unlike "Apply current instrument", this does not affect notes without instrument numbers. Can also be found in "Change Instrument" context sub-menu.
   [New] New shortcut "Transpose Custom (Quick)", which applies the previously used custom transpose amount if possible, or shows the transpose dialog otherwise (http://bugs.openmpt.org/view.php?id=947).
   [New] 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.
   [New] VU meters are now also shown for instrument plugins. Plugin VU meters can have their own colours defined in the Display options (http://forum.openmpt.org/index.php?topic=2006.0).
   [New] Can now fade in from or fade out to arbitrary values other than 0% (http://bugs.openmpt.org/view.php?id=48).
   [New] Pattern Properties: Can now add and remove rows at the beginning of the pattern (http://bugs.openmpt.org/view.php?id=280).
   [New] Pasting multiple patterns without inserting new patterns is now possible when using Mix Paste and Paste Flood. Note: Overflow Paste has to be enabled to continue pasting past the current pattern's end (http://bugs.openmpt.org/view.php?id=812).
   [New] Add "Select Column" which really only just selects the current column. Default: Ctrl+Shift+L.
   [New] Show selection size in status bar.
   [New] Added option to disable follow song on click (http://bugs.openmpt.org/view.php?id=667).
   [New] Hidden setting "Pattern Editor.FontDot" can now be used to replace the empty cell placeholder character in custom pattern fonts (tx daXX).
   [New] An accessibility description of the current pattern cell is now provideded for screen readers. The description format can be customized through the setting "Pattern Editor.AccessibilityFormat".
   [Imp] Seeking with sample sync now also keeps track of pingpong-looped samples.
   [Imp] Overwriting a MIDI macro with a PC event automatically converts the macro parameter.
   [Imp] When configuring a pattern's tempo swing settings, the "Use Global Settings" button can now be used to copy the default swing settings to this pattern.
   [Imp] Seeking now updates the vibrato / tremolo / panbrello position.
   [Imp] Show pattern location of undo / redo action in menu entries.
   [Mod] Rename old "Select Column" to "Select Channel".
   [Mod] "Maintain sample sync on seek" is now enabled by default on new installations.
   [Fix] Recording MIDI macros over existing PC events resulted in incorrect pattern data.
   [Fix] Various order editing features (e.g. drag & drop) did not always work correctly when extending the sequence past the 256th order item.
   [Fix] When pasting multiple patterns, patterns with names containing a "|" were not pasted correctly.

Sample tab
   [New] Can now import 64-bit PCM WAV and AIFF samples.
   [New] Can now fade in from or fade out to arbitrary levels other than 0% (http://bugs.openmpt.org/view.php?id=48).
   [New] Can now change the stereo width of a sample.
   [New] Show selection length in beats (based on current tempo).
   [Imp] Improved resampling accuracy when using the built-in resamplers.
   [Imp] Directly apply global volume changes to playing channels.
   [Imp] Directly update the sample rate of playing channels after resampling (only IT / MPTM / S3M).
   [Imp] mpg123 is now shipped with OpenMPT, so MP3 sample import is now supported out of the box on all systems.
   [Imp] Remember previously used values when adding silence or resizing samples (http://bugs.openmpt.org/view.php?id=965).
   [Imp] If not bound to a shortcut, the Application key opens the context menu.
   [Imp] Can now resize sample in milliseconds instead of samples.
   [Imp] Can now display cursor position in hex (http://bugs.openmpt.org/view.php?id=963).
   [Mod] For samples whose path is known, offer this path when saving them rather than a name based on the possibly incomplete filename field.
   [Fix] Small noise bursts when previewing sample or instrument after module was paused (http://bugs.openmpt.org/view.php?id=941).

Instrument tab
   [New] Undo / Redo for instruments (http://bugs.openmpt.org/view.php?id=126).
   [New] Can now import SFZ instruments. A list of supported opcodes can be found in the manual.
   [New] Allow saving all instruments at once by shift-clicking the save button.
   [New] An accessibility description of the currently selected envelope point is now provideded for screen readers.
   [Imp] Directly apply global volume changes to playing channels.
   [Imp] Indicate whether a plugin is bridged (http://bugs.openmpt.org/view.php?id=904).
   [Imp] If a control is disabled, show in tooltip text why this is the case.
   [Imp] Improve tuning accuracy in PAT instruments.
   [Imp] If not bound to a shortcut, the Application key opens the context menu.
   [Imp] Can now display cursor position in hex (http://bugs.openmpt.org/view.php?id=963).
   [Reg] No longer allow per-instrument resampling to be used in IT and XM files. Legacy modules are not affected.

Comments tab
   [Imp] The Tab key can now be used to insert soft tabs (http://bugs.openmpt.org/view.php?id=148).
   [Imp] Use the full available space for the comments text edit control for MPTM and XM files. For IT, limit the displayed width to 75 chars (http://bugs.openmpt.org/view.php?id=148).
   [Fix] Do not force raster font and character width for the comment font. This results in unintended bad font rendering, especially on Wine (http://bugs.openmpt.org/view.php?id=873).

Tree view
   [New] New shortcut: Switch to instrument library (and back to module), default: Alt+I
   [New] Ctrl+Shift+Enter loads the selected instrument or sample into an unused slot.
   [New] Can now preview samples and instruments using MIDI input as well. Shortcuts bound to MIDI CCs also work here now.
   [Imp] Add new hidden option Display.FSUpdateInterval (default 500ms) to rate-limit instrument library updates.
   [Imp] If not bound to a shortcut, the Application key opens the context menu (http://bugs.openmpt.org/view.php?id=964).
   [Imp] Show modules with Amiga-style file extensions (i.e. mod.songname, http://bugs.openmpt.org/view.php?id=640).

VST / DMO Plugins
   [New] Add hidden setting "VST Plugins.EnableMidiMappingInEditor" to no longer open the MIDI Mapper when shift-clicking in plugin editors (http://forum.openmpt.org/index.php?topic=5794.0).
   [Imp] The default DMO effects are now also available on Windows Server and Wine without any additional downloads (http://bugs.openmpt.org/view.php?id=862).
   [Fix] Plugins sharing the same filename no longer casue OpenMPT to rescan them on every startup (http://forum.openmpt.org/index.php?topic=5719.0). Note: OpenMPT will have to rescan all plugins once on first launch of this version.
   [Fix] In some situations, the "Plugin has previously crashed" notification could appear on every startup until a new plugin was eventually registered.

VST::Plugin Bridge
   [Imp] Cache effGetTailSize opcode for improved performance.

Playback
   [New] Added the Amiga Resampler, which emulates how the Amiga's soundchip (Paula) works by means of BLEP synthesis. Can be enabled from the Mixer options only for Amiga-type modules (http://bugs.openmpt.org/view.php?id=803).
   [Imp] Increased accuracy of the sample position and sample rate to drift less when playing very long samples.
   [Imp] All built-in DSPs (Bass Extension, Reverb, Surround) are now also available in 64-bit OpenMPT builds. Disclaimer: These DSPs have a rather low quality and should only be used for legacy projects. Plugins should be used instead to improve the sound of your modules.
   [Imp] Rearranging, adding and removing channels no longer stops active NNA channels.
   [Fix] For very high sample rates (starting at 88 kHz), low filter cutoff frequencies resulted in silent filter output.
   [Fix] There were some tiny differences between portamento commands that were supposed to be identical (e.g. FF2 and FE8).

MPTM
   [Fix] It was not possible to read custom tunings written by OpenMPT 1.17.02.46 to 1.17.02.48 since OpenMPT 1.22.

MPTM::Custom Tuning
   [New] Added Scala .scl export.
   [Imp] Cleaned up tuning dialog.
   [Imp] Show cents in addition to ratios in tuning dialog.
   [Imp] Allow decimal point as specified by the system locale to be used for entering tuning ratios.
   [Mod] Simplified tuning management. All tunings are now tune-specific tunings (i.e. embedded in MPTM files) - built-in, local and sandbox tunings are gone. Used built-in or local tunings are converted into tune-specific tunings during loading and will be written to the MPTM file when saving. The user is notified when this change is applied. Local tunings are loading from the local_tunings.tc file in this case.
   [Fix] Scala .scl import was broken (http://forum.openmpt.org/index.php?topic=3717.0).
   [Fix] Support for loading very early tunings (pre-1.17.02.46).
   [Reg] Local tunings do not exist any more. Contents of local_tunings.tc are unpacked to individual tuning files on first start.

IT
   [Fix] Having a vibrato command in both the volume and effect column applies vibrato twice. The volume column depth parameter takes precedence if it is not 0.

IT::Compatible Playback Mode
   [Fix] Do not process auto-vibrato at all if the rate (speed) is 0. Previously, the fade-in (sweep) was still applied and audible with vibrato waveforms other than sine.
   [Fix] A lone instrument number should only reset sample properties to those of the corresponding sample in instrument mode.
   [Fix] Reset portamento when using a lone instrument number to retrigger a stopped note.
   [Fix] If the start row of a pattern loop is past the end of the current pattern (e.g. when continued from a previous pattern due to missing SB0 effect), advance to the next pattern (http://bugs.openmpt.org/view.php?id=913).

XM
   [Fix] Having a vibrato command in both the volume and effect column doubles the vibrato speed. The effect column depth parameter takes precedence if it is not 0.

XM::Compatible Playback Mode
   [Fix] A non-delayed note-off for an instrument with no volume envelope enables fade-out, which can be heard when a volume command is applied afterwards.
   [Fix] Separate portamento up and down effect memory.
   [Fix] Just like in IT / S3M, note delays that are on the same row as a pattern delay retrigger the note on every repetition.
   [Fix] Note-Off + Instrument Number + Retrigger did not fade out the note correctly.
   [Fix] Reset envelope key-off status with instrument number.
   [Fix] Properly emulate FT2's broken "ramp down" tremolo waveform (E71).
   [Fix] More accurate emulation of arpeggio limits to "fix" some arpeggios in dubmood's "Mario Airlines".

S3M
   [Fix] A portamento immediately following an arpeggio continues at the last arpeggiated note.
   [Fix] Do not advance tremolo position on first tick.

MOD
   [New] Added support for MOD command E0x (Set LED filter). Only supported when using the Amiga Resampler.
   [Imp] Update heuristic for disabling panning commands to fix constant_romance.mod by chromag.
   [Fix] Base arpeggio on portamento position rather than initial note (http://bugs.openmpt.org/view.php?id=902).

Other formats
   [New] Can now read Soundtracker Pro II (STP) modules (http://bugs.openmpt.org/view.php?id=755).
   [New] Can now read Digital Tracker / Digital Home Studio (DTM) modules.
   [New] Support for synthesized instruments in Startrekker modules. Instrument files must have the same name as the module itself, followed by either ".nt" or ".as".
   [Imp] 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 (http://bugs.openmpt.org/view.php?id=124).
   [Imp] Allow samples in DMF, GDM and MDL files to not have a default volume (http://bugs.openmpt.org/view.php?id=850).
   [Imp] Tighten heuristics for rejecting invalid 669 files.
   [Mod] MO3: mpg123 is now shipped with OpenMPT, so unmo3.dll support has been removed. The internal MO3 decoder is always used.

Stream Export
   [New] Added raw PCM and floating-point export.
   [Imp] Opus export is now also possible at sample rates that are not native to the Opus codec. They are automatically resampled.
   [Reg] Removed long-deprecated BladeEnc and Lame_Enc MP3 encoder support. MP3 export via libmp3lame (openmpt-lame.dll, libmp3lame.dll or similar), as well as MP3 export via ACM codecs (lame_acm, Fraunhofer, or others) is still supported.

Module cleanup
   [Imp] 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).
   [Imp] Rearranging patterns no longer clears the pattern undo.

Audio I/O
   [New] Experimental direct integration with PulseAudio and ALSA when running OpenMPT through Wine (http://forum.openmpt.org/index.php?topic=5792.0).
   [Mod] For WASAPI devices, use the high latency provided by PortAudio as the default latency. The low one is way too low.
   [Fix] Importing sound device settings from OpenMPT 1.22 and older was broken.

Misc
   [New] MIDI Export: Added option to not export an instrument at all (available from the MIDI channel dropdown).
   [New] 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 (http://forum.openmpt.org/index.php?topic=5736.0).
   [New] Channel Manager: Channels can be renamed by middle-clicking them (applies instantly).
   [New] "Friendly names" can be set for MIDI input / output ports. Ba adding a "Device Name=Friendly Name" pair to the [MIDI Input Ports] or [MIDI Output Ports] sections respectively, the real device name gets substituted by the user-supplied name in the user interface (http://bugs.openmpt.org/view.php?id=909).
   [New] MIDI Mapping: Support for 14-bit MIDI controllers. Combinations of CC 0...31 and CC 32...63 are now recognized as double-precision MIDI messages (this feature was advertised in OpenMPT 1.25 as experimental but never worked).
   [New] New shortcut for editing global tempo swing settings (https://bugs.openmpt.org/view.php?id=864).
   [Imp] OpenMPT's file handling is now fully unicode-aware (http://bugs.openmpt.org/view.php?id=164).
   [Imp] Rather than placing them in the executable directory, LAME and Blade DLLs can (and should) now be placed in %APPDATA%\OpenMPT\Components\x86\ for 32-bit builds and %APPDATA%\OpenMPT\Components\x64\ for 64-bit builds respectively to avoid problems with VirtualStore and non-privileged Windows user accounts.
   [Imp] Show the progress of stream and MIDI export in the task bar on Windows 7 and later.
   [Imp] Increase waveform limit in DLS / SF2 files from 16383 to 65535.
   [Imp] Added a great number of user-contributed colour schemes.
   [Imp] Crash Handler: Added command line option /noCrashHandler which disables ALL custom crash handling.
   [Imp] Crash Handler: Added command line option /DebugCrashHandler for debugging purposes.
   [Mod] No longer show the system's crash handler after OpenMPT's own crash report. The old behaviour can be restored by enabling the hidden option Debug.DelegateToWindowsHandler.
   [Mod] In keyboard mapping files, layout-independent scan codes are now stored for note keys, so that notes remain in the correct place regardless whether the current keyboard layout is QWERTY, QWERTZ, AZERTY, Dvorak or anything else. The default key maps are now also layout-independent.
   [Mod] Default shortcuts are now only imported into custom key maps if there is no other shortcut assigned to the same command yet.
   [Mod] MIDI Macro Configuration: Remove checkbox for embedding MIDI macros. They are embedded automatically when required.
   [Fix] Modifying channels outside the channel editor (renaming, moving, etc.) did not update the channel manager instantly.

Bundled plugins
   [New] Added the LFO Plugin, which can automate other plugins' parameters or MIDI CCs.
   [New] MIDI Input / Output Plugin: Added possibility to not send timing information (http://bugs.openmpt.org/view.php?id=982).
   [Imp] MIDI Input / Output Plugin: It is now possible to specify a custom output latency. This value can also be negative, up to the duration of OpenMPT's own output latency.
   [Fix] MIDI Input / Output Plugin: Sporadic freezes and crashes (http://bugs.openmpt.org/view.php?id=843).
   [Fix] DigiBooster Pro Echo DSP did not empty its delay lines when jumping around in the module.

Third-Party Libraries
   [Mod] Update opus (v1.2.1), SoundTouch (v2.0), UnRAR (v5.5.5).

Installer/release package
   [New] A new Cyrillic key map provided by Fler0301, a UK keymap resembling the Impulse Tracker shortcuts by chocosaurus, and updated Norwegian keymap by Rakib and US keymap by LPChip.
» 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.

Saga Musix

The 1.27 release is around the corner - if all goes well, it will be released within the next week. There have been a few last-minute changes related to file loading, and while our own tests have confirmed that everything is still working as intended, now would be a good time to download the latest development build from https://builds.openmpt.org/ and give it a try by loading the most obscure modules formats from your collection you can think of. ;)
» 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.

RyanBram

This module loop point is played correctly in OpenMPT123 version 0.2.7025-beta20.1-bin-win here. But since new version it jump to the wrong place. It looks like because the module lack of Position Jump (Bxx) to Pattern 1. But why old version can recognize it?

Please don't bite me, because it is based on MIDI  :P

Saga Musix

This only worked by chance in beta20 (if the order list was longer than 256 items, it would also have happened in that version). Due to some internal restructuring, the problem just became more apparent with short modules. Will be fixed before the release.
» 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.

Saga Musix

OpenMPT 1.27 is released! thanks to everyone who helped by testing, reporting bugs and requesting new features during the last year. It took us much longer than expected, but now this big milestone of OpenMPT development is finally reached. It marks the end of Windows 9x/2000 support, leaving OpenMPT 1.26.14.00 to be the last version supported by these systems.
» 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.

Rakib

Congrats, you guys have done an excellent work. I look forward to using the new version.
^^

.^o

thanks once again.
testing soon on new projects.

Saga Musix

The first update for OpenMPT 1.27 has been released.
This consists mostly of bugfixes and other small improvements.
» 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.

Saga Musix

Another update for OpenMPT 1.27 has just been released. Once again, this mostly contains small bugfixes and improvements. The biggest one is probably that autosave didn't work at all in the previous version!
» 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.

Saga Musix

OpenMPT 1.27.04.00 is the first update of the year and has just been released. It consists of mostly small bugfixes and other improvements. One of the most interesting ones might be support for the loop_crossfade opcode in SFZ files (at least for me it is :)).
» 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.

Saga Musix

OpenMPT 1.27.05.00 once again makes OpenMPT more stable by fixing a number of bugs (including a nasty bug affecting the default keyboard configuration since OpenMPT 1.27.01.00) and improving existing features.
» 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.

anta999

Any pure C version ? Or c++ but without using ugly templates and keywords drom 14 17 C++ ?

Saga Musix

Another small bugfix update has been released today: OpenMPT 1.27.06.00.
» 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.

Saga Musix

OpenMPT 1.27.07.00 fixes more bugs, including one very stupid bug where the volume envelope release node was activated when importing DLS / SF2 instruments in to IT / XM files, and a small crash when calculating the song length in songs with many nested pattern loops.
» 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.