OpenMPT 1.24 releases

Started by Saga Musix, December 13, 2014, 23:44:14

Previous topic - Next topic

Saga Musix

OpenMPT 1.24 is nearing its completion and I intend to release it in about a week. Here's some sort of release candidate announcement as a motivation to try out the new features and find possible new and old bugs.

Download: https://openmpt.org/openmpt-1-24-01-00-released

So what's new? Quite a lot:

General tab
   [Imp] <js> Clicking on the song type opens Song Properties dialog.

Pattern tab
   [New] <js> Ctrl+(Shift+)Scrollwheel can now be used as a replacement for the "(Coarse) Data Entry" shortcuts (http://bugs.openmpt.org/view.php?id=613).
   [Imp] <js> When previewing instruments with a fadeout value of 0, instantly stop them on key-up instead of letting them play forever.
   [Fix] <js> "Continue song as soon as MIDI notes are being received" didn't work in some situations.
   [Fix] <js> When using "Continue song as soon as MIDI notes are being received", the Edit Step setting was erroneously applied to the first note.
   [Fix] <js> When dragging a selection in the order list one order to the right, the document was marked as modified even though there was no change.
   [Fix] <js> Fixed crash when a module has no patterns at all.
   [Fix] <js> When only one parameter column was selected, the interpolation context menu didn't offer to interpolate this column.

Sample tab
   [New] <js> Support resampling to any arbitrary sampling rate using r8brain-free. Includes new keyboard shortcuts for upsampling, downsampling and resampling.
   [New] <js> As upsampling no longer automatically converts the sample to 16-bit, 16-bit conversion is now a separate option.
   [New] <js> Custom background and selection colours can now be specified.
   [Imp] <js> Adjusting the sample frequency updates all playing notes' sample frequency (only works with IT and MPTM for now).
   [Imp] <js> Improved sample loop point input behaviour so that a loop start value greater than the current loop end value can be entered without having to enter the new loop end first.
   [Imp] <js> Finetune and transpose modifications are now undoable.
   [Imp] <js> Visually distinguish sustain loop and sample grid markers.
   [Imp] <js> No longer show unsupported sample vibrato types in IT (Ramp Up) and XM (Random).
   [Fix] <js> Ramp Up and Ramp Down labels in XM vibrato settings were swapped since forever.
   [Fix] <js> When editing XM vibrato settings, the edit cursor always jumped back to the first character in the edit field.
   [Fix] <js> Rearranging samples (e.g. through song cleanup or the tree view) no longer messes up the undo buffer history (http://bugs.openmpt.org/view.php?id=600).
   [Fix] <js> The sample transpose dropdown was missing two complete octaves. The range has been extended and turned upside down (can now be understood intuitively as "C-5 is being played like note x").
   [Fix] <js> Silencing a single sample point lead to a crash (http://bugs.openmpt.org/view.php?id=610).

Instrument tab
   [New] <js> ITI instrument files can now contain external samples (like MPTM files). Select "Impulse Tracker Instruments with external Samples" from the save dialog (http://forum.openmpt.org/index.php?topic=2515.0).
   [New] <js> The first instrument of a soundfont can now be loaded directly without registering the soundfont in OpenMPT.
   [New] <js> Custom background colour can now be specified.
   [Imp] <js> Since Impulse Tracker's fade-out value is 32 times less precise than what is displayed in the editor, automatically round it when the user makes fade-out adjustments in IT files.
   [Imp] <js> When previewing instruments with a fadeout value of 0, instantly stop them on key-up instead of letting them play forever.
   [Fix] <js> When loading an instrument, force all sample views of the same module to be updated.
   [Fix] <js> Modifying envelopes using the keyboard didn't mark the module as modified.
   [Reg] <js> Disallow OpenMPT-only "attack" setting to be used in IT and XM files.

Tree view
   [New] <js> Dropping a module or folder on the sample browser opens this module or folder for browsing.
   [New] <js> Dropping a soundfont file on the upper part of the tree view adds it to the list of soundfonts.
   [New] <js> Due to the change from external instruments in the ITP format to external samples in MPTM, "Set Path" and "Save" have been moved to samples. External samples are marked with [external], missing external samples are marked with [missing].
   [New] <js> 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 (http://bugs.openmpt.org/view.php?id=207).
   [New] <js> The first instrument of a soundfont can now be previewed directly from the sample browser (without registering the soundfont in OpenMPT).
   [Mod] <js> Apparently, some versions of Ableton Live mark exported WAV files as "temporary". Such files are no longer ignored in the sample browser.
   [Fix] <js> Duplicating samples was broken in OpenMPT 1.23.
   [Fix] <js> Previewing IMA ADPCM-compressed samples from the tree view was broken if the previously previewed sample was a stereo sample.

Mod Conversion
   [Imp] <js> When converting from IT / MPTM to XM, move volume colum portamento to the effect column if possible, as it has a different meaning in XM.
   [Fix] <js> When converting from XM to IT / MPTM, volume column effects were not always limited properly.

VST / DMO Plugins
   [Imp] <js> 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.
   [Imp] <js> "Randomize Parameters" now applies a customizable randomization factor - much more useful than completely random parameters.
   [Fix] <js> Regularly send editor idle commands to plugins with open editors.

VST::Plugin Bridge
   [Imp] <js> The plugin bridge does now also create crash dumps automatically. OpenMPT's /fullMemDump command line switch also applies to these dumps.
   [Mod] <js> By default, all instances of the same plugin do now share one bridge process, since a handful of plugins require this - and the loading performance is much better, too.
   [Fix] <js> Catch potential crashes while loading the plugin, like in OpenMPT (fixes instant crashes with multiple instances of SideKick v3 in different processes).

Playback
   [New] <js> S70 / S71 / S72 commands do now also work with instrument plugins.
   [Imp] <js> 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.
   [Mod] <js> 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.
   [Mod] <js> 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.
   [Fix] <js> NNA / DCA settings were not applied properly to plugins assigned to sample-less instruments.
   [Fix] <js> Instrument plugin arpeggio was executed on muted channels / instruments.
   [Fix] <js> 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.
   [Fix] <js> Glissando should only affect tone portamento, not portamento up / down effects.

MTPM
   [New] <js> MPTM files can now contain external (on-disk) samples. When checking the "Keep sample on disk" checkbox in the sample editor, the sample data is not stored directly in the MPTM file but a relative link to the original sample file is kept (http://bugs.openmpt.org/view.php?id=368).

IT
   [Imp] <js> Added support for reading encrypted edit time in old IT files with no edit history present (discovered through Impulse Tracker source release, yay).

XM
   [Mod] <js> Revert XM compatibility export to always write out 256 order items.
   [Fix] <js> 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.

XM::Compatible Playback Mode
   [Fix] <js> Make arpeggio after portamento effect behave even more like in Fasttracker 2.

S3M::Compatible Playback Mode
   [New] <js> 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.

MOD
   [Imp] <js> Amiga frequency limits can now also be enforced without activating ProTracker 1/2 mode.

MOD::Loading and Saving
   [Mod] <js> M.K. and M!K! files that only have Amiga-compatible notes in their patterns automatically enforce Amiga frequency limits now (http://bugs.openmpt.org/view.php?id=563).
   [Fix] <js> Saving a sample loop with an odd length is now handled better (http://bugs.openmpt.org/view.php?id=590).
   [Fix] <js> Any non-ASCII characters were accidentally removed when loading a MOD file (broke in OpenMPT 1.22).

MOD::ProTracker 1/2 Mode
   [Fix] <js> Glissando is only applied on rows with a portamento effects, and never on the first tick of these rows.

Other formats
   [New] <js> Added support for a MOD variant introduced by SoundTracker 2.6 and Ice Tracker (http://bugs.openmpt.org/view.php?id=597).
   [Imp] <js> SoundTracker auto-slides are now imported using the volume column.
   [Imp] <js> MT2: Completely rewrote 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.
   [Fix] <js> ITP: Always load embedded MIDI macros for files made with OpenMPT 1.19 or older, since back then they were always read, no matter if the embed flag was checked or not.
   [Fix] <js> ITP: Loading extended song properties was broken for a very long time, probably since OpenMPT 1.20.
   [Reg] <js> ITP: Saving and editing ITP files is no longer supported. ITP files are now imported as normal IT files. ITP's functionality is superseded by MPTM's new external sample functionality.

Module Export
   [Fix] <js> F00 "stop song" abort detection for XM files didn't abort if there were samples playing with a global volume of 0.

Module cleanup
   [New] <js> "Remove unused sample data" now also finds samples with identical stereo channels and offers to optimize them to mono.
   [Imp] <js> Give information about how many plugins were removed.
   [Fix] <js> Removing unused samples no longer creates two undo points per sample.

Audio I/O
   [New] <jh> Support direct mode for WaveOut devices. This is mostly useful on Wine systems where it (for certain setups) prevents the Wine-internal resampler from kicking in.
   [Imp] <jh> Increased latency and period precision to allow sub-millisecond latencies.
   [Imp] <jh> Added per-device type default audio settings.
   [Mod] <jh> Query PortAudio for the default latency of PortAudio sound devices.
   [Mod] <jh> When changing between mono / stereo / quad channel configurations, always reset the channel mapping to default instead of basing the new one on the previous one.
   [Mod] <jh> Add a hidden setting setting PreferSameTypeIfDeviceUnavailable in [Sound Settings] which optionally changes the algorithm for selecting the fallback device if the device selected by the user (or read from the configuration) is currently unavailable. When this setting is set, a device of the same type as the currently selected is preferred instead of just defaulting to wave mapper.
   [Mod] <jh> Disable all controls on the Sound Card property page when an unavailable device gets selected.
   [Fix] <jh> If the soundcard is currently unavailable, some ASIO drivers allow opening the driver and report zero input and output channels in that case. Other drivers do not support loading the driver. In both cases, OpenMPT will now disallow selecting the driver in the setup dialog and hide it until restarting OpenMPT or the sound devices get rescanned.

Misc
   [New] <js> Dropping a folder that contains modules or VST plugins opens / registers them directly now (http://bugs.openmpt.org/view.php?id=510).
   [New] <js> Added a first-start dialog to set up some common settings. The corresponding settings have been removed from the installer.
   [Imp] <js> Song length estimation: Slightly improve calculation of nested pattern loops (http://bugs.openmpt.org/view.php?id=591).
   [Imp] <js> Song length estimation shows the length of all "hidden" subtunes in the current sequence.
   [Imp] <js> Made the MIDI Mapping dialog's mapping list more human-readable.
   [Imp] <jh> VU Meter: Rear channels are now also shown in quad mode.
   [Mod] <js> When merging the default key map into a custom key map, event types are now completely ignored, so if e.g. the user has assigned a certain key on "key hold" but the default key map uses the same key on "key down" only, this version is no longer added.
   [Mod] <js> Autosave: When "Use song's original directory" is enabled, but the song has not been saved so far, it is now saved in a sub folder called "Autosave" instead of the root of the settings directory. In this case, modules created from templates are now also autosaved into this folder instead of the template folder.
   [Mod] <jh> Added setting LoadOnStartup in [Components] to optionally load all optional components (such as MP3 encoders, UNMO3, etc.) on startup rather than first use. KeepLoaded (also in [Components]) determines whether components stay in memory after they have been used (this is the default behaviour).
   [Mod] <jh> Update lhasa to version 2014-07-12 (adds support for lhx archives).
   [Mod] <jh> Update FLAC to v1.3.1 (improved decoding and encoding efficiency, fixed two vulnerabilities when loading malicious FLAC files).
   [Fix] <js> Soft Panning check box in Mixer settings didn't work (http://bugs.openmpt.org/view.php?id=602).
   [Reg] <js> Removed noSettingsOnNewVersion command line switch. It's no longer necessary as there is also a hidden setting that does the same.

Bundled plugins
   [Mod] <js> Updated PortMidi to revision 228 (possible issues with 64-bit version fixed).
» 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.

Diamond

Nice work.
What is the hidden setting that replaces the noSettingsOnNewVersion parameter?

Saga Musix

» 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.

Diamond


FreezeFlame(Alchemy)

If you mind, i found some issue with setting loops on most samples with this version.

First, use an looped sample. Then try to set the loop end either one (or more) sample(s) up or down.
Try to play it long enoght and it will instantly stop at the point, where it could have gone to where loop start was set.

Still, not sure if its an bug, or feature request (but who would request something like this anyway).
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

inemuri1985

cant find the program. would like to try it out. could you show me a direct link to win 32 version?


Saga Musix

#6
Read the first post again, there's a link to both the 32-bit and 64-bit version.

Quote from: FreezeFlame(Alchemy) on December 15, 2014, 21:52:06
First, use an looped sample. Then try to set the loop end either one (or more) sample(s) up or down.
Try to play it long enoght and it will instantly stop at the point, where it could have gone to where loop start was set.
How do you enter the loop point? (entering number, using the spin buttons, right-click -> set loop end...)
» 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.

FreezeFlame(Alchemy)

QuoteHow do you enter the loop point? (entering number, using the spin buttons, right-click -> set loop end...)
Go to Samples, load an looped sample, set the loop end of the sample by one down and try playing it then.
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

Saga Musix

Again, I am asking you how you set the loop end. Do you enter the whole number, do you just replace the last digit, do you use the spin button next to the input field or do you set the loop end through the sample waveform? I have an idea why it is happening but to confirm that, you have to describe how you do this.
» 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.

FreezeFlame(Alchemy)

Set the loop end thought the spin button one numer lower.
Example: from 2300 to 2299 samples. Am i still unclear?
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

Saga Musix

I cannot reproduce this when using the spin buttons (and the code for spin buttons has in fact not changed at all), but there was indeed an issue with setting loop points by entering them manually, which is now fixed.
» 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.

FreezeFlame(Alchemy)

Finaly. Sorry if i confused you with the earlier posts.
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

Saga Musix

So err, did you intially have a problem with the spin buttons or with entering the number manually? Now you are confusing me more than before.
» 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.

FreezeFlame(Alchemy)

Godness, am i really that confusing?
I have that problem with manualy setting the loop end in version 1.24.00.22. I hope this clears it up.
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

Saga Musix

#14
You're not making it any easier. "manualy setting the loop end", what is that? I gave an example of three ways of setting the loop end, all of them are manual, and all of them involve different code, so you have to be specific which of the three you are using. I no longer understand if you use the spin buttons or enter the number with your keyboard. Also, please refer to revision (can be seen in the about dialog) and not version numbers, as 1.24.00.22 spans several revisions. So please download the latest version from the buildbot and try it again, and if it still doesn't work for you, state the revision you have tested and which method (entering a number, clicking the spin buttons or right-clicking the waveform) you used to set the loop point.
» 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.