-
Notifications
You must be signed in to change notification settings - Fork 72
/
History.txt
7072 lines (5697 loc) · 523 KB
/
History.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
OpenMPT - Full Version History
------------------------------
- [New] : new feature
- [Imp] : improvement
- [Mod] : change
- [Var] : other
- [Fix] : bug fix
- [Reg] : known issue / regression / feature removal
- (tx XYZ) : thanks to XYZ for telling us about the bug / requesting the feature
Developers:
<initials> nick name / real name [email @openmpt.org]
<al> Relabs / Ahti Leppänen [relabs]
<ec> Ericus / Eric Chavanon [ericus]
<jh> manx / Jörn Heusipp [manx]
<js> Saga Musix / Johannes Schultz [sagamusix]
<rf> rewbs / Robin Fernandes [rewbs]
<sp> pelya / Sergiy Pylypenko [pelya]
<tn> plastik_s / Trevor Nunes [plastik_s]
Patch submitters:
<cs> kode54 / Christopher Snowhill
<da> Revenant / Devin Acker
<ih> xaimus / Imran Hameed
<jb> JoaoBaptMG / João Baptista de Paula e Silva
<kk> SYRiNX / Keith F. Kelly
<ks> coda / Ken Snyder
Got questions, comments or bug reports? Visit https://openmpt.org/ where you can
find our issue tracker and forums.
v1.31.01.00 (30 April 2023, revision 19143)
-------------------------------------------
Tree view
- [New] <js> The instrument library can now be filtered. The default shortcut for invoking the filter is Ctrl + F. The filter supports * (any number of characters) and ? (single character) wildcards (http://bugs.openmpt.org/view.php?id=1566).
- [New] <js> The instrument library can now also be sorted by file size and modification date. Sorting can be changed through the context menu or user-defined keyboard shortcuts.
- [New] <js> Selecting a file in the instrument library now shows its file size and modification date in the status bar.
- [Imp] <js> Most keyboard shortcuts are now configurable.
General tab
- [Mod] <js> In OpenMPT 1.30, inserting a plugin before the current slot was changed to keep the moved plugin selected, instead of staying in the current (newly inserted) slot. This behaviour change was now reverted, as it is more likely that the user intends to insert a new plugin there and not change the settings of the moved plugins.
Pattern tab
- [New] <js> Added shortcuts to scroll the pattern view without having to use the mouse (tx isdera).
- [Imp] <js> Seeking with sample sync now supports portamento up / down and IMF / PTM note slides.
- [Imp] <js> Edit step and pattern navigation now also work beyond the next or previous pattern if the jumping distance is larger than the pattern size.
- [Imp] <js> Dummy command W can now be inserted into XM files for syncing purposes in other module players (http://bugs.openmpt.org/view.php?id=1373).
- [Imp] <js> Effect visualizer: For PC events, the currently edited plugin parameter can now be selected from a dropdown menu (http://bugs.openmpt.org/view.php?id=1677).
- [Imp] <js> Improved focus handling on the instrument selection dropdown: Navigating using cursor keys no longer reverts the keyboard focus back to the pattern editor immediately.
- [Mod] <js> The selection key being pressed no longer causes automatic cursor moves caused by Edit Step to stop at the pattern end (http://bugs.openmpt.org/view.php?id=1698).
- [Mod] <js> The hidden setting "Pattern Editor.DefaultSequenceMargins" is now applied to the scroll bar range, too.
Sample tab
- [New] <js> Is is now possible to follow the play cursor when the sample waveform is zoomed in and not fully visible, as long as only a single note is being previewed. This can be enabled through the settings dialog or a keyboard shortcut (Shift + F by default).
- [New] <js> Added two new shortcuts to finetune the sample rate, working the same way as the spin buttons on the finetune / sample rate edit field. Default bindings are Shift + Up / Down.
- [New] <js> Samples can now be saved as Amiga IFF (8SVX / 16SVX) as well.
- [Imp] <js> Double-clicking a timeline item now pops up an input dialog for finetuning that item.
- [Reg] <js> Completely removed the hideable warning when trying to do sign conversion on a sample currently playing. This feature broke a long while ago with the default sample play behaviour anyway.
Comments tab
- [New] <js> Instruments and samples can now be previewed via MIDI input as well.
- [Imp] <js> Added mono / stereo indication to sample list. Sample size formatting is now more flexible.
- [Fix] <js> Windows error sound no longer plays when holding keys for note preview.
VST / DMO Plugins
- [New] <js> Tone portamento can now be applied to plugins the same way as it works for samples (assuming that the target note is within the plugin's pitch bend range), and as a result now works properly in MIDI export as well.
- [New] <js> Individual plugins can now be auto-suspended if they output silence for four seconds. As before, the default auto-suspend state for newly added plugins can be set through the hidden setting "VST Plugins.EnableAutoSuspend" (http://bugs.openmpt.org/view.php?id=605).
- [Mod] <js> Arpeggio notes no longer reset the current pitch bend position. Fixed some other arpeggio edge cases as well.
Playback
- [Imp] <js> Reduced aliasing when downsampling with the Sinc + Low-Pass resampler (tx eightbitbubsy).
- [Imp] <js> XM fine portamentos are now also sent to plugins and also work when exporting XM to MIDI.
- [Mod] <js> The sample position is now rounded instead of truncated when resampling without interpolation.
- [Mod] <js> The filter cutoff frequency is no longer rounded to integer frequency values.
- [Mod] <js> Recalling a sample's default volume using an instrument number (as opposed to regular volume commands) previously ramped the volume change smoothly over a whole tick. Now the user-configured ramp settings are used instead (as it would happen when using a volume command to achieve the same effect, http://bugs.openmpt.org/view.php?id=1666).
IT
- [Mod] <js> Mono samples are now stored with lossless IT sample compression by default. As compressed stereo samples are still not supported properly by some software that is most likely not going to be updated anymore, compression for stereo samples remain disabled for now (but can, as before, still be enabled through the hidden setting "Misc.ITCompressionStereo").
IT::Compatible Playback Mode
- [Fix] <js> Initial "last note memory" of every channel is C-0, so a lone instrument number without note triggers that note.
S3M
- [Imp] <js> Better approximation of old "stereo control" SAx command used in Purple Motion's PANIC.S3M.
- [Fix] <js> In ScreamTracker 3.03 and later, OPL notes with tone portamento next to them are delayed until the next row and then the new pitch is used instantly (http://bugs.openmpt.org/view.php?id=1613).
MOD
- [Fix] <js> Lone instrument number with retrigger effect should swap sample immediately. Fixes "catfood" by no9 (http://bugs.openmpt.org/view.php?id=1584).
Other formats
- [New] <js> Can now read 667 (Composer 667) modules.
- [New] <js> Can now read GTK (Graoumf Tracker) and GT2 (Graoumf Tracker / Graoumf Tracker 2) modules.
- [New] <js> Can now read a variant of the DSMI AMF format called DMF, as found in various DOS games distributed by Webfoot (Tronic, H2O, PowBall, etc.).
- [New] <js> Can now read DSM modules made with Dynamic Studio.
- [New] <js> Can now read XMF modules from the DOS game Imperium Galactica.
- [New] <js> Can now read the hacked MOD format (.DMF) from the game "Apocalypse Abyss".
- [Imp] <js> MED: Tempos higher than 255 BPM are now tried to be imported using Parameter Extension (#xx) mechanism (http://bugs.openmpt.org/view.php?id=1665).
- [Imp] <js> MED: MMD1 files with more than 16 channels are now supported.
- [Imp] <js> ULT: Import 8-bit volume commands with full precision.
- [Mod] <js> DSM: Remove special handling for non-MOD effects in DSIK DSM files. The origin of those effect commands is actually the newly-supported Dynamic Studio DSM format, not the DSIK DSM format.
- [Fix] <js> MO3: Envelope sustain was not imported correctly if the source file was an XM (http://bugs.openmpt.org/view.php?id=1695).
- [Fix] <js> In OpenMPT 1.30, it was no longer possible to load MMCMP / PP20 / XPK-compressed modules inside ZIP / RAR / LHA containers. This is now possible again (http://bugs.openmpt.org/view.php?id=1549).
Stream Export
- [Imp] <jh> FLAC: Added 32-Bit output support.
Module cleanup
- [Imp] <js> In instrument mode, the whole module is rendered virtually for more accurate detection of unused samples. This takes a bit more time, but finds unused samples more reliably. Especially if a pattern started with an instrument-less note on some channel, that note was marked as used for any instrument, leading to unused samples not being detected.
Misc
- [New] <js> Added two new shortcuts: Play Song from Cursor / Pause and Play Song from Pattern Start / Pause (http://bugs.openmpt.org/view.php?id=1619).
- [Imp] <js> Instead of re-adding all non-conflicting default shortcuts every time a keymap is loaded, they will now only be added if the keymap was last saved with an older version of OpenMPT than the version that introduced the default shortcut (http://bugs.openmpt.org/view.php?id=1615).
- [Imp] <js> DLS / SF2: Added support for delay and hold envelope sections as well as pitch envelopes. Individual envelopes for each drum key are now supported.
- [Imp] <js> "Last saved with" field in Song Properties now indicates whether the module was saved with ModPlug Player ADPCM sample compression.
- [Imp] <js> MIDI Export: Channel panning is now exported as MIDI CC 10. If several notes play on the same MIDI channel, the last triggered note's panning is always considered.
- [Imp] <jh> Builds for Windows XP and Vista can now receive automatic updates as well.
- [Mod] <js> When a text field is focussed, native text field shortcuts (such as Ctrl + A and others) are now preferred over OpenMPT shortcuts that are specific to the current view. Previously, they already took precedence over global OpenMPT shortcuts that apply to all views.
- [Mod] <js> When a text field is focussed, global shortcuts using Shift + Enter or just Enter are no longer blocked if the text field is a single-line field, as well as Alt + Cursor keys in any text fields.
- [Mod] <js> When pressing the Play / Stop shortcut while the song is in paused or step mode, playback now continues as with the Play / Pause shortcut.
- [Mod] <js> Channel Manager: Channel color gradient is now right-aligned so that it does not clash with the mute / select indicators.
- [Reg] <jh> The minimum supported operating version for modern builds is now Windows 10 21H2 Build 19042. Older Windows 10 versions are still supported by legacy builds.
Third-Party Libraries
- [Imp] Update opus (v1.4), r8brain (v6.2) and RtMidi (v5.0.0)
v1.30.12.00 (15 April 2023, revision 19028)
-------------------------------------------
Sample tab
- [Fix] <js> Stopping a sample preview could stop unrelated plugin notes.
Instrument tab
- [Fix] <js> Saving ITI files with embedded samples created broken ITI files if the source samples were marked as external (http://forum.openmpt.org/index.php?topic=6957.0).
MOD
- [Imp] <js> VBlank heuristics are now applied to MOD files with M!K! signature. Fixes mod.siedler ii (tx AliceLR).
- [Mod] <js> NoiseTracker MODs are now always played with VBlank timing (tx AliceLR).
Other formats
- [Imp] MED: Add support for default instrument pitch.
- [Mod] 669: Reject files with lots of control characters in song message.
- [Fix] MED: Global play transpose value was not considered for MMD0 files.
Misc
- [Imp] <js> Allow arrow up / down keys and scroll wheel to modify various edit fields in Stream Export and settings dialogs.
- [Imp] <js> Tab order in Plugin Manager was changed to make the plugin list reachable more easily (http://bugs.openmpt.org/view.php?id=1680).
- [Fix] <js> In OpenMPT 1.30.11.00, browsing for all module types showed all 3-letter file extensions in addition to modules (http://bugs.openmpt.org/view.php?id=1678).
- [Fix] <js> Song length calculation stopped at first encountered F00 command in XM files instead of looking for further subsongs.
Third-Party Libraries
- [Imp] Update mpg123 (v1.31.3)
v1.30.11.00 (5 March 2023, revision 18811)
------------------------------------------
Tree view
- [Fix] <js> When previewing soundfont or MIDI library items, a click was heard on note-off (http://bugs.openmpt.org/view.php?id=1659).
Pattern tab
- [Imp] <js> Quick Paste only sets the module as modified if the pattern contents were changed.
- [Fix] <js> Don't allow notes or effects not supported by the current module type to be pasted through Quick Cursor Paste.
- [Fix] <js> After seeking with sample sync, the filter settings of playing notes were not updated since OpenMPT 1.30.09.00.
- [Fix] <js> Effect info: XM commands E10 / E20 / EA0 / EB0 now correctly show "continue" for parameter info.
Sample tab
- [Imp] <js> The correct endianness of 16SV IFF sample data is now determined heuristically, to support both IFF files created by some (broken) PC software and files using the correct endianness.
- [Imp] <js> Fix single-cycle loops in some IFF samples.
Instrument tab
- [Fix] <js> If the first notes assigned to a sample in a key map required no transposition but the transposition changed for higher notes, the "Transpose Samples / Reset Map" feature was still available, even though it shouldn't be.
- [Fix] <js> Possible crash when hovering the envelope area of malformed instruments with a set release node but no envelope points (http://bugs.openmpt.org/view.php?id=1672).
Mod Conversion
- [Fix] <js> MOD commands E10 / E20 / EA0 / EB0 are no longer preserved when converting to other formats, as the MOD format applies no effect memory for them.
Playback
- [Fix] <js> The fix for the OPL cutoff bug introduced in OpenMPT 1.30.09.00 was incomplete (http://bugs.openmpt.org/view.php?id=1671).
- [Fix] <js> Avoid potential deadlock when a VST plugin is auto-bypassed due to an exception.
- [Fix] <js> Possible crash when playing instruments with a set release node but no envelope points (http://bugs.openmpt.org/view.php?id=1672).
Other formats
- [Fix] <js> ULT: Offset commands exceeding 65535 samples were sometimes not imported correctly even if there was room for them.
Misc
- [Fix] <js> When saving modules extracted from ZIP files and other archive types, there was no prompt for a new filename, instead overwriting the original archive file.
- [Fix] <js> Song length calculation and seeking in (malformed) modules with thousands of short sub-songs has been sped up.
Third-Party Libraries
- [Imp] Update UnRAR (v6.2.6)
v1.30.10.00 (29 January 2023, revision 18674)
---------------------------------------------
Pattern tab
- [Fix] <js> When jumping around in the module, the tempo was sometimes incorrectly limited to 255 BPM.
Sample tab
- [Fix] <js> Normalizing all samples or removing DC offset from all samples didn't mark external samples as modified (except for the currently selected one).
Instrument tab
- [Fix] <js> Previewing filtered instruments produced a repetitive click sound in OpenMPT 1.30.09.00 (http://bugs.openmpt.org/view.php?id=1655).
Comments tab
- [Fix] <js> The displayed middle-C frequency was slightly off for MOD files.
Mod Conversion
- [Fix] <js> Translation between MOD / XM E5x and MPTM / IT / S3M S2x Set Finetune commands did not take the different scales of the commands into account.
- [Fix] <js> Wrong PAL middle-C frequency was used when converting from MOD to MPTM / IT / S3M.
Playback
- [Fix] <js> Initial instrument cutoff was broken for OPL instruments in OpenMPT 1.30.09.00 (http://bugs.openmpt.org/view.php?id=1657).
Other formats
- [Fix] <js> Loading DSym files was completely broken in OpenMPT 1.30.09.00.
Misc
- [Fix] <jh> After auto-updating from a previous version with no modules open, an empty module was created.
Third-Party Libraries
- [Imp] Update mpg123 (v1.31.2)
v1.30.09.00 (8 January 2023, revision 18451)
--------------------------------------------
Tree view
- [Fix] <js> Instead of playing silence, preview for missing MIDI library soundfont items was falling back to the first instrument in the soundfont.
- [Mod] <js> ZIP files are no longer tried to be resolved as links in the file browser. This may slightly speed up populating the file browser, and should fix a potential crash reported by a user (http://bugs.openmpt.org/view.php?id=1645).
Pattern tab
- [Imp] <js> When recording MIDI pitch bend events, changes are now applied live (http://bugs.openmpt.org/view.php?id=1640).
- [Imp] <js> VU meters now scale better with larger pattern fonts and high-DPI displays.
- [Fix] <js> After removing channels, the pattern cursor sometimes became invisible if the channel it was previously located in no longer existed.
Sample tab
- [Fix] <js> Vertical lines sometimes showed up in zoomed-in waveforms.
- [Fix] <js> The dragging improvements from OpenMPT 1.30.04.00 are no longer applied to cue points and loop points, as the old behaviour is arguably better-suited there.
- [Fix] <js> Avoid overwriting sample slot when loading an OPL instrument from an S3I file but current format doesn't support OPL.
- [Fix] <js> The forward / backward mouse buttons to navigate to the next / previous sample slot now also work when clicking into the OPL editor.
Instrument tab
- [Fix] <js> Live update of filter settings only worked for running notes if the filter envelope was active.
IT
- [Fix] <js> In sample mode, portamento to a different sample turns off the filter if cutoff / resonance was previously 127 / 0.
S3M
- [Imp] <js> Detect files saved with Graoumf Tracker instead of claiming they were made with OpenMPT 4.47.
- [Fix] <js> Pattern loop state was not propagated anymore since OpenMPT 1.30, leading to wrong song length calculation and SB0 + SBx being located on different channels not working properly anymore (http://bugs.openmpt.org/view.php?id=1641).
Bundled plugins
- [Imp] <js> MIDI I/O Plugin: MIDI Start message is no longer sent when previewing notes in pattern / sample / instrument editors or when pattern stepping is enabled (http://forum.openmpt.org/index.php?topic=6880.0).
Misc
- [Fix] <jh> Update Check: On modern portable amd64 installations, updates for the legacy version were downloaded instead (http://bugs.openmpt.org/view.php?id=1642).
Third-Party Libraries
- [Imp] Update UnRAR (v6.2.3)
v1.30.08.00 (13 November 2022, revision 18159)
----------------------------------------------
Pattern tab
- [Imp] <js> More accurate effect description when combining volume column cue points with regular offset.
Sample tab
- [Fix] <js> Avoid drawing sample waveform from uninitialized memory under some very specific circumstances.
Other formats
- [Fix] <js> MO3: Sample filenames were not imported correctly.
Module cleanup
- [Fix] <js> Automatic Sample Trimmer: Avoid over-trimming samples that are used for MOD-style sample swapping - it is important that the whole sample is preserved in this case even if it is playing completely silently, as the timing of sample swap depends on reaching that sample's end or loop end.
Stream Export
- [Fix] <jh> Little-endian RAW export was broken since OpenMPT 1.30.01.00, exporting big-endian samples instead.
Misc
- [New] <js> Added Play / Stop shortcut (http://bugs.openmpt.org/view.php?id=1619).
- [Imp] <js> Keyboard configuration: If no choices are set, the Restore button now restores all default choices for the given shortcut (http://bugs.openmpt.org/view.php?id=1630).
- [Fix] <js> OPL Export: Pressing the Cancel button didn't abort the conversion process.
- [Fix] <kk & js> Most keyboard shortcuts were not accessible with Microsoft's RDP client for iOS and potentially other virtual keyboards (http://bugs.openmpt.org/view.php?id=1634).
Third-Party Libraries
- [Imp] Update flac (v1.4.2), mpg123 (v1.31.1) and UnRAR (v6.2.2)
v1.30.07.00 (25 September 2022, revision 17944)
-----------------------------------------------
Tree view
- [Imp] <js> Allow ESC to cancel label editing.
Pattern tab
- [Mod] <js> Clarify that a 0 digit means using the previous value in the effect info of vibrato / tremolo / panbrello pattern commands.
Sample tab
- [Imp] <jh> 32-bit FLAC files can now be read.
- [Fix] <js> Inserting or deleting cue points no longer marks external samples as modified.
Instrument tab
- [Fix] <js> SFZ: Don't import one-shot loop type as an actual loop. The only difference to the no_loop type is the note-off behaviour.
VST / DMO Plugins
- [Fix] <js> Previous notes were not stopped properly when a new note was struck and all mix channels were occupied.
Playback
- [Fix] <js> Possible crash when playing manipulated IT / MPTM files with a T00 command.
Other formats
- [Imp] <js> MID: Fall back to just finding suitable soundfont instrument by MSB bank if MSB + LSB search was not successful. This is particularly relevant for SF2 soundfonts as they only support the bank MSB (http://bugs.openmpt.org/view.php?id=1628).
- [Fix] <js> MTM: In MultiTracker, setting speed and tempo are mutually exclusive commands. Still, some MultiTracker modules were made to be played with external players such as DMP, so they actually rely on "standard" speed / tempo behaviour. Decide which behaviour to use by checking of speed and tempo commands are found on the same row (tx AliceLR).
- [Fix] <js> MTM: Ignore sample loops if the loop end is <= 2.
Bundled plugins
- [Fix] <js> Echo DMO: Migrate left and right delay values in modules made with OpenMPT versions between 1.27.01.00 and 1.30.05.00 to the correct interpretation (https://bugs.openmpt.org/view.php?id=1631).
Misc
- [Fix] <js> MIDI Export: Fixed some issues with stuck notes and inconsistent state updates between channels.
Third-Party Libraries
- [Imp] Update flac (v1.4.1)
v1.30.06.00 (21 August 2022, revision 17755)
--------------------------------------------
Tree view
- [Fix] <js> Under some circumstances (e.g. after removing all unused patterns in Song Cleanup and then removing all patterns in a second Song Cleanup), the complete upper tree view could be emptied, eventually leading to a crash (tx eightbitbubsy).
- [Fix] <js> Show BRR files in sample browser (http://bugs.openmpt.org/view.php?id=1617).
Pattern tab
- [Imp] <js> In multi-channel record mode, PC events (both when recorded from plugin or via MIDI mapping) are now distributed to all channels of the current record group (http://bugs.openmpt.org/view.php?id=1622).
Sample tab
- [Fix] <js> Calculate correct selection point after scrolling with an 1:x zoom factor (http://bugs.openmpt.org/view.php?id=1611).
- [Fix] <js> When the crossfade dialog was allowed to be opened because normal loop points were set despite the loop itself not being enabled, it still tried to use the sustain loop points instead, even if they resulted in an empty loop.
VST / DMO Plugins
- [Fix] <js> Don't send All Controllers Off to T-Force Trance Gate 2 plugin, as it also resets some user-configured parameters such as resonance (http://bugs.openmpt.org/view.php?id=1610).
Other formats
- [Fix] <js> DBM: Sample middle-C frequencies were slightly off. laffik_-_marynarze.dbm sounds much more bearable now.
- [Fix] <js> DBM: Fixed pattern break parameter interpretation.
Bundled plugins
- [Fix] <js> Echo DMO: Setting the delay parameter to 0 yielded a 2-second echo delay instead of 1ms.
- [Fix] <js> Digi Booster Echo: Setting the delay parameter to 0 yielded a 510ms echo delay instead of approximately 334ms.
Third-Party Libraries
- [Imp] Update mpg123 (v1.30.2), nlohmann json (v3.11.2) and UnRAR (v6.1.7)
v1.30.05.00 (12 June 2022, revision 17503)
------------------------------------------
Tree view
- [New] <js> Can now (un-)bypass all plugins at once through the tree view, or alternatively just all effect plugins (http://bugs.openmpt.org/view.php?id=1410).
Pattern tab
- [Imp] <js> Allow "Jump to previous / next entry in column" shortcuts to be used together with the selection key. Search is only performed in the current pattern in this case (http://bugs.openmpt.org/view.php?id=1598).
- [Mod] <js> There are now default key bindings for "Jump to previous / next entry in column" (Ctrl + Alt + Up / Down).
- [Fix] <js> When stalling the pattern auto-follow (e.g. while drawing a selection) and transitioning to the next order containing the same pattern again, the order list and pattern editor weren't updated to reflect the new order position (tx NoobTracker).
- [Fix] <js> When the currently selected order item contained the same pattern as the first order item, restarting song playback gave the visual impression that the previously selected order item was still being played instead of the first order item.
Sample tab
- [Fix] <js> Consecutive transposition especially with middle-C frequencies below 8363 Hz could cause a wrong sample rate to be calculated in IT / MPTM.
- [Fix] <js> Displaying extremely long samples with a very low sample rate could cause OpenMPT to hang.
Instrument tab
- [New] <js> Added a new option to the sample map context menu, "Transpose Samples / Reset Map", which - if at all possible - resets the instrument's note mapping to the default and compensates for that by transposing samples instead (http://bugs.openmpt.org/view.php?id=1596).
Mod Conversion
- [Fix] <js> Remove portamento up / down and volume slide commands with parameter 00 when converting from MOD.
Playback
- [Fix] <js> Bidi-looped samples sometimes stopped playing at the end of the loop (http://bugs.openmpt.org/view.php?id=1597).
Installer/release package
- [Mod] <js> Re-mapped some assignments in DE_jojo.mkb to match newly added default shortcuts.
v1.30.04.00 (24 April 2022, revision 17270)
-------------------------------------------
Tree view
- [Imp] <js> Allow plugin instances to be removed through the context menu or pressing the Delete key (http://bugs.openmpt.org/view.php?id=1583).
General tab
- [Imp] <js> Allow plugin instances to be removed with a dedicated button (http://bugs.openmpt.org/view.php?id=1583).
Pattern tab
- [Imp] <js> Parameter Editor: Remember last window position in addition to size (http://bugs.openmpt.org/view.php?id=1579).
- [Fix] <js> Pitch / Pan Separation and Random Variation instrument properties were not resetting properly when seeking, potentially causing instruments to be played e.g. at a vastly different pan position compared to playing the module continuously.
Sample tab
- [Imp] <js> When in instrument mode, slicing at cue points now assigns the sample name to newly added instruments.
- [Mod] <js> Allow broken SBI files created with JuceOPLVSTi to be loaded.
- [Mod] <js> The sample grid is no longer applied to sample drawing.
- [Fix] <js> Drawing sample data with Shift pressed could cause a crash in OpenMPT 1.30.03.00 (http://bugs.openmpt.org/view.php?id=1592).
- [Fix] <js> Dragging improvements from OpenMPT 1.30.03.00 actually made things worse when zooming into a sample (http://bugs.openmpt.org/view.php?id=1581).
Other formats
- [Fix] <js> MED: Stereo samples were not imported correctly.
Misc
- [Fix] <js> Fixed a crash when trying to play song from current pattern if the pattern is not part of the current order list.
Third-Party Libraries
- [Imp] Update zlib (v1.2.12)
v1.30.03.00 (13 March 2022, revision 17105)
-------------------------------------------
Tree view
- [Fix] <js> Avoid playing a sound when double-clicking the folder of a soundfont drum instrument (http://bugs.openmpt.org/view.php?id=1516).
General tab
- [Imp] <js> Plugin dry / wet ratio display is now updated immediately when modified through macros or plugin volume handling (http://bugs.openmpt.org/view.php?id=1463).
- [Fix] <js> The tempo slider position was not set correctly in the MPTM format (tx coda).
Pattern tab
- [Imp] <js> The base octave setting now respects the current instrument's group size where possible (http://bugs.openmpt.org/view.php?id=1568).
- [Imp] <js> Goto Dialog: Limit channel and row spinners to current pattern and module limits (http://bugs.openmpt.org/view.php?id=1575).
- [Mod] <js> Data Entry shortcuts and Ctrl + Scroll Wheel now only affect "special" notes if no regular notes are selected (http://bugs.openmpt.org/view.php?id=1573).
- [Fix] <js> Go To Dialog: Fixed rare crash when module is playing while the jump is being applied (http://bugs.openmpt.org/view.php?id=1578).
- [Fix] <js> Correctly apply shared effect memory when seeking in S3M files.
- [Fix] <js> Apply Command S (S3M / IT / MPTM) effect memory when seeking.
Sample tab
- [Imp] <js> Improve behaviour when dragging a timeline item in the sample editor and the initial grab point wasn't exactly the horizontal position of the item.
Mod Conversion
- [Fix] <js> MOD / XM command EBF conversion was broken in OpenMPT 1.30.02.00.
VST / DMO Plugins
- [Mod] <js> Apply (hidden) auto-suspend setting when new adding plugins to a module, not when creating a plugin instance (which also happens when loading an existing module).
- [Fix] <js> With malformed modules, the LFO plugin could output invalid parameter changes to other plugins, causing a crash depending on how the target plugin handles such invalid parameters.
Playback
- [Fix] <js> Fixed potential crash when using the Amiga BLEP resampler and playing extremely high notes.
Other formats
- [Fix] <js> MO3: Pattern indices 254 / 255 are no longer treated as +++ / --- when the original file was a MOD / XM.
Misc
- [Imp] <js> Apply default channel colors when changing the number of channels via Song Properties.
- [Mod] <js> The active instrument is now remembered more consistently when switching between tabs. This allows to e.g. change to a specific instrument in the pattern editor, then go to the instrument editor and see the same instrument there (as before) and finally go to the sample editor and also see the correct sample there.
- [Mod] <js> MIDI Export: Default to mapped drum export.
Third-Party Libraries
- [Imp] Update flac (v1.3.4), r8brain (v5.6) and UnRAR (v6.1.6)
v1.30.02.00 (30 January 2022, revision 16761)
---------------------------------------------
Tree view
- [Fix] <js> Display of large directories could be rather slow due to trying to resolve links for pretty much any file.
- [Fix] <js> When browsing the contents of a module, the "back" mouse button now behaves the same as the backspace key (it goes back to the directory containing the module).
General tab
- [Imp] <js> Added tooltips to disabled controls explaining why they are disabled.
Pattern tab
- [New] <js> New option "Play whole row when navigating" can be found in the general settings to play the current row when navigating vertically.
- [New] <js> New keyboard shortcut "Toggle row playback when navigating" to toggle aforementioned option without having to visit general settings.
- [Imp] <js> Seeking in the module now updates filter state, plugin dry / wet ratio and plugin parameter changes from MIDI macros (http://bugs.openmpt.org/view.php?id=1497).
- [Imp] <js> Better display of finetune command semantics when there's an instrument number next to the command (http://bugs.openmpt.org/view.php?id=1536).
- [Fix] <js> Note Properties: Switching to / from an extended command broke effect parameter display (http://bugs.openmpt.org/view.php?id=1535).
Sample tab
- [Imp] <js> Added timeline context menu entry to quickly add a cue point if there are any unused cue points (http://forum.openmpt.org/index.php?topic=6767.0).
- [Imp] <js> Added .sam to recognized raw sample extensions (http://bugs.openmpt.org/view.php?id=1546).
- [Imp] <js> When an exising sample already uses the .s3i extension, offer it as the default format to save the sample (http://bugs.openmpt.org/view.php?id=1546).
- [Mod] <js> Allow sustain loops to be edited even if the current format doesn't support them, in case they were imported from another format (http://bugs.openmpt.org/view.php?id=1544).
- [Mod] <js> Newly created samples no longer set the default cue points to multiples of 2048 samples (http://bugs.openmpt.org/view.php?id=1540).
- [Fix] <js> Fixed a crash when hovering sample display of a sample slot that failed to load an external sample.
- [Fix] <js> The sample value shown as percentage in the status bar was displayed as a value between 0 and 1 instead of 0 and 100 as intended.
Mod Conversion
- [Fix] <js> MOD / XM command EBF is now converted to MPTM / IT / S3M command DFE instead of DFF, as the latter slides up, not down.
Playback
- [Mod] <js> The letter "z" is now evaluated in fixed MIDI macros (Z80...ZFF) the same way as in Impulse Tracker.
MPTM
- [Fix] <js> Avoid using NaN or infinite values for tuning when reading corrupted custom tunings.
S3M
- [Fix] <js> Introducing the "Send OPL key-off when triggering notes" compatibility setting broke retrigger for OPL notes again (they retriggered rather than not retriggering).
- [Fix] <js> Retriggering a note no longer resets its pitch after a portamento, just like in IT.
- [Fix] <js> Partially implement retrigger behaviour for stopped notes in SoundBlaster mode: Like in IT, it is not possible to retrigger a sample that has already stopped playing.
MOD
- [Imp] <js> Validate the contents of "hidden" patterns beyond the end of the order list when the file size matches the expected size when only taken "official" patterns into account. This fixes Shofixti Ditty.mod from Star Control 2 while keeping other (partly broken) modules working.
- [Fix] <js> Loosened VBlank timing heuristics so that "frame of mind" by Dascon plays correctly.
Other formats
- [Fix] <js> DIGI: Improve compatibility with E3x reverse sample command.
- [Fix] <js> DSym: Tempos < 32 were treated as tempo slides (http://bugs.openmpt.org/view.php?id=1545).
- [Fix] <js> MED: Command 20 (reverse sample) should only be applied when it's next to a note.
- [Fix] <js> SymMOD: Key-off command was not implemented properly.
- [Fix] <js> Fixed a possible hang when closing a module containing 65536 or more patterns.
Module cleanup
- [Fix] <js> The automatic sample trimmer sometimes calculated incorrect sizes for samples played in reverse and bidi-looped samples (http://bugs.openmpt.org/view.php?id=1547).
Misc
- [Imp] <js> Improved startup time for OpenMPT configurations with many / large soundfonts.
- [Imp] <js> SF2: Support tuning on the preset level.
- [Imp] <js> Added S3I to default format choice in sample editor settings.
- [Imp] <js> The default artist name can now be set in the Welcome dialog.
- [Mod] <js> When opening files, they are now first tried to be loaded as modules, and only when that fails they are tried again as an archive. This fixes loading songs using plugins that store their plugin data chunk as a ZIP file (e.g. RetroPlug, http://bugs.openmpt.org/view.php?id=1548).
- [Mod] <js> The VSTNeverUnloadAnyPlugin hidden setting introduced in OpenMPT 1.30.01.00 was moved from the INI category "BrokenPluginWorkarounds" to category "Broken Plugin Workarounds" (same as VSTMaskAllCrashes setting).
- [Fix] <js> When trying to open a malformed file in a new OpenMPT instance and sending this file to an already running OpenMPT instance, the newly launched instance tried to open the file a second time after the other instance gave up, so two error messages were shown.
- [Fix] <js> When passing files to an already running OpenMPT instance, this instance is now moved to the foreground before sending files over, not after. This makes it possible to instantly see error messages in that other instance before it has given control back to the newly launched instance.
- [Fix] <js> The search filter in the compatibility settings dialog was case sensitive.
- [Fix] <js> Fixed a crash when there's an invalid character in a MIDI macro string that wasn't entered by the user in the MIDI macro dialog but was already present in the file.
Bundled plugins
- [Fix] <js> I3DL2Reverb: Fix possible output of NaN values with some extremely impractical set of reverb parameters.
Third-Party Libraries
- [Imp] Update ancient (v2.0.0), nlohmann json (v3.10.5) and UnRAR (v6.1.4)
v1.30.01.00 (23 December 2021, revision 16290)
----------------------------------------------
Tree view
- [Imp] <js> It is now possible to also load instruments from the MIDI library or soundfonts into the sample / instrument tab using Ctrl + (Shift +) Enter (http://bugs.openmpt.org/view.php?id=1491).
- [Imp] <js> It is now possible to extract a complete soundfont drum kit into a single instrument slot by dragging its folder rather than an individual note (tx Keffie).
General tab
- [Imp] <js> Changes to channel properties can now be undone and redone.
- [Imp] <js> Tooltips are shown for channel volume and panning sliders as well as plugin gain.
- [Imp] <js> User-chosen plugin names are now shown in addition to library names in plugin dropdown list.
Pattern tab
- [New] <js> 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 (http://bugs.openmpt.org/view.php?id=1316).
- [New] <js> Pattern Goto Dialog: Can now directly jump to a timestamp.
- [Imp] <js> Quick Channel Settings: Tooltips are shown for volume and panning sliders.
- [Mod] <js> 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] <js> Typing in a pattern number into the order list now instantly updates the displayed pattern.
- [Mod] <js> "Dummy" commands are now shown as semi-transparent text.
- [Fix] <js> Fix issues with Data Entry shortcuts on commands that take two nibble parameters (e.g. volume slides).
Sample tab
- [New] <js> 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 (http://bugs.openmpt.org/view.php?id=659).
- [New] <js> Added option to convert ping-pong loops to unidirectional loops (http://bugs.openmpt.org/view.php?id=1376).
- [New] <js> 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] <js> Raw sample import can now try to automatically determine the correct raw format. More raw format options are now available, too.
- [New] <js> IFF MAUD samples can now be imported.
- [New] <js> The sample value under mouse cursor is now shown in the status bar.
- [Imp] <js> Cue points can now be deleted by right-clicking their marker in the timeline.
- [Imp] <js> Speed up redrawing of sample waveform when modifying the sample selection or loop points.
- [Imp] <js> 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 (http://bugs.openmpt.org/view.php?id=1445).
- [Imp] <js> Time stretch parameter setup is now more usable.
- [Imp] <js> Dropping an item from the tree view with Shift pressed now drops it into a new sample slot.
- [Imp] <js> Added a shortcut for raw sample import.
- [Mod] <js> Opus / Vorbis: Instead of rejecting large samples, they are now trimmed to the maximum supported length and a warning is shown.
Instrument tab
- [Imp] <js> Dropping an item from the tree view with Shift pressed now drops it into a new instrument slot.
- [Imp] <js> Zoom level is now remembered when switching between tabs (http://bugs.openmpt.org/view.php?id=1506).
Mod Conversion
- [Imp] <js> Ping-pong loops are now automatically converted to unidirectional loops when converting to MOD / S3M.
- [Mod] <js> 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] <jh> 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 (http://bugs.openmpt.org/view.php?id=1291, http://bugs.openmpt.org/view.php?id=1402).
- [Imp] <js> Plugin Editor: Added a menu item to rename the plugin instance.
- [Imp] <js> Plugin Editor: Bypass status is now shown in title bar.
- [Mod] <jh> A new hidden settings "Broken Plugins Workarounds.VSTMaskAllCrashes" was added that no longer catches crashes in VST plugins but rather passes them on directly to the crash handler (http://bugs.openmpt.org/view.php?id=1401).
- [Fix] <js> 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 (http://bugs.openmpt.org/view.php?id=1474).
- [Fix] <js> 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.
Playback
- [Imp] <js> Improved precision of ping-pong loop length particularly for very small samples.
- [Fix] <js> 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 (http://bugs.openmpt.org/view.php?id=1446).
- [Fix] <js> Samples played at the wrong volume when rendering or playing modules in mono (http://forum.openmpt.org/index.php?topic=6711.0).
- [Fix] <js> Even after OpenMPT 1.29.15.00 the filter reset logic was still not 100% identical to Impulse Tracker: A note triggered on tick 0 of a row with a Pattern Delay effect still caused the filter to be reset on repetitions of that row even though the note wasn't retriggered.
MPTM
- [New] <js> 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] <js> Volume column oyy + effect column Oxx (yy > 0) now work together as well: The effect column offset is added to the sample cue.
- [New] <js> 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 (https://forum.openmpt.org/index.php?topic=6379.0).
MPTM::Custom Tuning
- [New] <js> Added character '*' to drawable letters for built-in fonts.
- [Imp] <js> S2x (Set Finetune) now adjusts the finetune of the note by -8...+7 tuning steps.
IT
- [Imp] <js> Added read-only support for BeRoTracker commands 1 and 2 (equivalent to XM commands K and L, http://bugs.openmpt.org/view.php?id=1528).
- [Fix] <js> 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" (http://bugs.openmpt.org/view.php?id=1344).
- [Fix] <js> Pitch/Pan Separation was affected by note-off commands, and wasn't reset by panning commands like in Impulse Tracker.
XM
- [Imp] <js> BeRoTracker saves smooth MIDI macros in a different way from OpenMPT. This command is now imported correctly (http://bugs.openmpt.org/view.php?id=1531).
- [Fix] <js> Emulate FT2 Tone Portamento quirk that inverts portamento direction after the target was reached (if target note was higher than previous note).
S3M
- [Imp] <js> S3M files saved with Impulse Tracker and latest Schism Tracker now also compute sample playback speed in Hertz.
- [Imp] <js> 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 levels in S3Ms made on the GUS, in particular if they use both samples and OPL instruments).
- [Imp] <js> Enforce the lower frequency bound (http://bugs.openmpt.org/view.php?id=961).
MOD
- [New] <js> OpenMPT only supported "TDZ4" to "TDZ9" magic bytes for TakeTracker modules, which should not even exist. Added support for 1 to 3 channel TakeTracker modules used "TDZ1" to "TDZ3" magic bytes.
- [Imp] <js> 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] <js> Loosened VBlank timing heuristics so that the original copy of Guitar Slinger from Dizzy Tunes II plays correctly.
Other formats
- [New] <da & js> Can now read Symphonie (SymMOD) modules (http://bugs.openmpt.org/view.php?id=672).
- [New] <js> Can now read Digital Symphony (DSym) modules.
- [New] <js> Can now read MUS modules from Psycho Pinball and Micro Machines 2.
- [New] <js> Can now read FMT modules made with Davey W Taylor's FM Tracker.
- [New] <js> Can now read STX modules, a transitional format between STM and S3M (http://bugs.openmpt.org/view.php?id=1521).
- [New] <jh> Modules packed with various legacy compression formats (in particular many more XPK variants) can now be read. All formats supported by the ancient library (https://github.com/temisu/ancient) are supported.
- [Imp] <js> DMF / IMF: Improved accuracy of finetune commands.
- [Imp] <js> MDL: Implemented finetune command.
- [Imp] <js> 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] <js> 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.
- [Reg] <jh> Modules compressed with MMCMP, PP20 or XPK can no longer be read from inside another archive.
Stream Export
- [New] <jh> Can now export AU files with µ-law and A-law encoding.
- [Mod] <jh> 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 the audible spectrum.
Audio I/O
- [Mod] <jh> Default dither is now 1-bit dither with 1st order noise shaping instead of 0.5-bit dither.
- [Reg] <jh> Support for DirectSound output was removed.
Misc
- [New] <jh & js> OpenMPT updates can now be downloaded and installed automatically. This is currently not supported on Wine (http://bugs.openmpt.org/view.php?id=1011).
- [New] <jh> OpenMPT is now also available for Windows on ARM.
- [New] <js> Can now export OPL register dump as VGZ/VGM/DRO files (http://bugs.openmpt.org/view.php?id=1488).
- [New] <js> Can now open SF2 soundfonts with compressed samples (commonly referred to as SF3, see https://github.com/FluidSynth/fluidsynth/wiki/SoundFont3Format).
- [New] <js> Added new hidden setting "Misc.UseSingleInstance" (default false) which allows to force OpenMPT to only ever open a single instance (http://bugs.openmpt.org/view.php?id=1429).
- [New] <js> Added a button to Mixer settings to easily revert ramping settings to defaults (tx eightbitbubsy).
- [New] <js> Added a new shortcut to quickly toggle between all lower and upper views (http://bugs.openmpt.org/view.php?id=1367).
- [Imp] <js> Saving samples / instruments and Stream Export now reports if there was a write failure, e.g. due to full disk (http://bugs.openmpt.org/view.php?id=1161).
- [Imp] <js> Keyboard shortcuts can now also be bound to MIDI notes in addition to MIDI CCs (http://bugs.openmpt.org/view.php?id=1396).
- [Imp] <js> Infinite pattern loops are now detected in song length calculation. This also improves seeking accuracy in modules with pattern loops (http://bugs.openmpt.org/view.php?id=1146).
- [Imp] <jh> Register OpenMPT with Restart Manager. This allows the installer to automatically close and restart OpenMPT.
- [Imp] <jh> OpenMPT now reports if loading a module fails due to being out of memory.
- [Mod] <jh> Hidden settings "VST Plugins.FullyUnloadPlugins" is now named "BrokenPluginsWorkarounds.VSTNeverUnloadAnyPlugin" and its meaning inverted. The old setting is migrated automatically.
- [Fix] <js> Fixed possible crash when playing notes via MIDI with lots of active NNA channels (http://bugs.openmpt.org/view.php?id=1514).
- [Reg] <jh> Remove hidden setting "Misc.ShowSettingsOnNewVersion".
Bundled plugins
- [Fix] <js> I3DL2Reverb: Fix possible output of NaN values with some extremely impractical sets of reverb parameters.
Third-Party Libraries
- [Imp] Update PortAudio (v19.7.0), r8brain (v5.3), SoundTouch (v2.3.1) and UnRAR (v6.1.2)
Installer/release package
- [New] <js> Added a new German keymap (Impulse Tracker / OpenMPT crossover) by melcom. Updated coda's key map.
- [New] <jh> OpenMPT is now also available for ARM and ARM64 architectures.
v1.29.15.00 (5 December 2021, revision 16116)
---------------------------------------------
Tree view
- [Fix] <js> Samples extracted from MTM files through the tree view were corrupted (http://bugs.openmpt.org/view.php?id=1522).
- [Fix] <js> Clicking on folders under soundfont items caused some instrument of that soundfont to be played since OpenMPT 1.29.14.00 (http://bugs.openmpt.org/view.php?id=1516).
Pattern tab
- [Mod] <js> Effect visualizer: Enable PC event mode if the only command in the whole selection is a PC event, even if it is not on the first row (http://forum.openmpt.org/index.php?topic=6738.0).
Sample tab
- [Fix] <js> 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.
- [Fix] <js> Show correct dB values for OPL instruments in Default Volume and Global Volume tooltips.
Playback
- [Fix] <js> The logic when to turn off the resonant filter was broken in some edge cases since OpenMPT 1.29.02.00 (http://bugs.openmpt.org/view.php?id=1520).
- [Imp] <js> OPL: Improved channel allocation strategy when there are lots of faded-out notes.
XM
- [Imp] <js> Disable FT2 arpeggio quirks for XMs made with Skale Tracker (fixes KAPTENFL.XM).
S3M
- [Mod] <js> Ignore O00 commands in files created with Scream Tracker 3.00 and 3.01, as this command only gained effect memory in version 3.03.
MOD
- [Fix] <js> 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
- [Imp] <js> IMF: Implemented XE1-XE3 commands, which disable individual envelopes. Command Nxy (cutoff slide + resonance) is now also partially supported (only resonance for now).
- [Fix] <js> IMF: Filter envelopes were upside down.
- [Fix] <js> MT2: External samples with relative paths pointing to the parent directory (like some MadTracker 2 example songs) didn't load correctly.
- [Fix] <js> STM: Use S3M-like sample swap behaviour.
Module cleanup
- [Fix] <js> Removing unused samples may have removed samples only played by instrument-less notes (tx melcom).
Misc
- [Fix] <js> SF2: Fix stereo samples once again.
- [Fix] <jh> Wine Integration: Some files were missing.
Installer/release package
- [New] <js> All executables and libraries are now signed with a code signing certificate.
- [Fix] <js> Remove legacy key commands from some keymaps, as they showed a warning when loading the keymap (tx melcom).
v1.29.14.00 (14 November 2021, revision 15948)
----------------------------------------------
Tree view
- [Fix] <js> Soundfonts used in the MIDI library sometimes caused unexpected instruments to be loaded due to the ordering of instruments in the soundfont file (e.g. GeneralUser GS). Now OpenMPT always loads the instrument with the lowest bank number (http://forum.openmpt.org/index.php?topic=6727.0).
- [Fix] <js> Soundfont drum instruments with more than 128 regions didn't work correctly (http://forum.openmpt.org/index.php?topic=6727.0).
Pattern tab
- [New] <js> Parameter Editor: Add a new fill option to only change parameters next to notes.
- [Mod] <js> Parameter Editor: Remember last fill action when reopening the editor.
Sample tab
- [Imp] <js> Loading drum samples from soundfonts now translates them to be usable at middle-C rather than at their original mapped key.
Playback
- [Fix] <js> MIDI Macros: When mixing internal and external MIDI messages in the same macro and using a smooth MIDI macro command, the external macros were no longer interpolated correctly.
Other formats
- [Fix] <js> IMF: Change envelope interpretation to be more like in XM instead of IT (sustain point has no precedence over normal loop, and loops are shortened by one tick).
- [Fix] <js> MED: Some samples had a ping-pong loop when there should be no loop at all.
- [Fix] <js> MT2: Ignore incorrect drums chunk size in early MT2 files (fixes e.g. "A little Rock" by Csumi).
- [Fix] <js> MT2: Work around initial master volume of 0 used in some files that apply a fade-in a the song start using track automation that would stay silent forever otherwise (track automation is currently not supported).
- [Fix] <js> Gzip archives: Correctly decode files larger than 4 GB (although it's unlikely that there's anything in there that OpenMPT could read), and reduce memory consumption during decompression.
Misc
- [Fix] SF2: Fix various issues with complex soundfonts such as GeneralUser GS, e.g. missing support for key ranges in presets.
Third-Party Libraries
- [Imp] Update mpg123 (v1.29.2)
v1.29.13.00 (3 October 2021, revision 15754)
--------------------------------------------
Tree view
- [Imp] <js> When browsing song contents, Backspace now goes back to the folder containing the song when in the lower half of the tree view. There is now also a context menu option to close the song (http://bugs.openmpt.org/view.php?id=1498).
- [Fix] <js> Module files are now also shown as directories in lower half of tree view when "Show All Files" is checked.
Pattern tab
- [Imp] <js> Grey out plugin names in channel headers if plugins are disabled on this channel.
- [Imp] <js> Pressing the Application key on the order list now opens the context menu (http://bugs.openmpt.org/view.php?id=1501).
- [Imp] <js> Added shortcuts for opening the channel context menu and channel plugin context menu (http://bugs.openmpt.org/view.php?id=1501).
- [Fix] <js> Seeking with sample sync sometimes didn't compute the correct sample position with pingpong-looped samples.
- [Fix] <js> In the instrument and effect columns, commands assigned to special keys (Num / Caps / Scroll Lock) were executed twice, so e.g. using scroll lock to toggle song follow mode didn't work in these columns.
Sample tab
- [Fix] <js> Switching between samples using keyboard shortcuts now updates the last used sample to use in the pattern and instrument editor just like when using the spin buttons or manually entering a sample number.
Instrument tab
- [Imp] <js> Pressing the Application key on the sample map now opens the context menu (http://bugs.openmpt.org/view.php?id=1501).
- [Fix] <js> Possible crash when releasing a note key that translates to a note above B-9.
Comments tab
- [Imp] <js> Added shortcut to start renaming samples / instruments (default: Ctrl+Enter).
- [Fix] <js> Since OpenMPT 1.29.01.00, it was pretty much impossible to rename instruments due to auditioning (tx Gargaj).
IT
- [Fix] <js> Tremor: Command I11 erroneously behaved like I00 (use previous parameter), unless IT Old Effects were enabled.
Other formats
- [Fix] <js> PTM: Panning was translated wrong in some edge cases.
- [Fix] <js> IMF / PTM: Note Slide commands were sometimes slightly off.
- [Fix] <js> DBM: Echo enable effect parameter range checks were incorrect.
- [Fix] <js> Possible crash when loading malformed MDL files.
Misc
- [Imp] <js> SFZ: Added support for reading various other *_label opcodes. They are not used for import but if their value contains spaces, it should no longer confuse the parser.
- [Fix] <js> When switching between tabs using keyboard shortcuts, and when switching between samples in the sample editor using keyboard shortcuts, the currently chosen instrument / sample is now updated correctly between pattern / samples / instrument editors (http://forum.openmpt.org/index.php?topic=6675.0).
- [Fix] <js> SF2: Region panning was not calculated correctly.
- [Fix] <js> SF2: Stereo sample merging didn't work for many soundfonts because panning values were stored for each envelope (of which there was one per instrument) rather than for each region.
- [Fix] <js> DLS: The first region of every instrument was not imported in OpenMPT 1.29.12.00 (http://bugs.openmpt.org/view.php?id=1504).
- [Fix] <js> When enabling the Display.HighResUI option, some file selector dialogs could hang (presumably due to a Windows bug) when hovering the file type dropdown on a mixed-DPI monitor setup (http://bugs.openmpt.org/view.php?id=1490).
- [Fix] <js> Key Config Dialog: Avoid bogus "Invalid Slot" message box when receiving MIDI CCs while the "Find Hotkey" input field is focussed.
Third-Party Libraries
- [Imp] Update nlohmann json (v3.10.2), mpg123 (v1.29.0)
v1.29.12.00 (22 August 2021, revision 15545)
--------------------------------------------
Tree view
- [Fix] <js> Drum key names were not displayed for SF2 soundfonts.
Pattern tab
- [Fix] <js> Find & Replace: Fixed various issues with replacing extended commands Sxy / Exy (http://bugs.openmpt.org/view.php?id=1486).
Playback
- [Fix] <js> Possible crash with malformed modules containing an invalid plugin chain or instruments pointing to invalid plugins.
- [Fix] <js> Possible crash after swapping to a sample with loop points set but not loop enabled.
MPTM
- [Fix] <js> Fixed excessive memory usage with files claiming to have an extremely high rows per beat count while also using tempo swing. Maximum rows per beat are now limited to 65536.
Other formats
- [Imp] <js> MIDI Import: Support loopEnd marker and EMIDI loop start / end CCs.
- [Fix] <js> STP: Avoid creating thousands of patterns when loading malformed files even though no more pattern data can be read.
- [Fix] <js> MMCMP: Fixed various possible crashes with malformed files.
Misc
- [Mod] <js> Song Properties: Reject 0 rows per beat in modern tempo mode.
- [Imp] <js> MIDI Export: Write loopStart and loopEnd cue markers (http://forum.openmpt.org/index.php?topic=6660.0).
- [Imp] <js> DLS / SF2: Support more than 128 regions per instrument (some complex drum programs can exceed the previous limit).
- [Fix] <js> SF2: Extracting drums from drum instruments with a global region didn't work since OpenMPT 1.29.01.00 (http://bugs.openmpt.org/view.php?id=1457).
- [Fix] <js> Avoid crash when attempting to open the Tempo Swing Settings dialog with rows per beat being set to 0.
Third-Party Libraries
- [Imp] Update mpg123 (v1.28.2), UnRAR (v6.0.7)
v1.29.11.00 (4 July 2021, revision 15407)
-----------------------------------------
General tab
- [Imp] <js> When replacing a plugin, keep the plugin chain intact by not clearing its output plugin.
Pattern tab
- [Fix] <js> In OpenMPT 1.29.10.00, it was no longer possible to resume samples on muted channels when seeking with sample sync enabled.
- [Fix] <js> Possible crash when trying to reset a playing channel.
- [Fix] <js> Resetting a channel could mark the module as modified.
- [Fix] <js> Previewing notes could cause clicks if the NNA was set to Note Cut.
Sample tab
- [Imp] <js> For OPL instruments, the actual middle-C note frequency is now shown in a tooltip when hovering the sample rate field.
- [Imp] <js> AIFF: Support reading another variant of 64-bit floating-point and 8-bit unsigned PCM compression types.
- [Mod] <js> AIFF: Ignore invalid sample offset instead of completely rejecting the file. Makes some old (technically malformed) AIFF files load that were previously rejected.
- [Fix] <js> Avoid Windows notification sounds when holding note keys when a widget is focussed in the OPL editor.
Instrument tab
- [Imp] <js> Add more mnemonic shortcuts for various widgets.
- [Fix] <js> Previewing notes could cause clicks if the NNA was set to Note Cut.
S3M
- [Imp] <js> Honor the Stereo flag not being set. This improves the sound of some tunes like Turbulence by Purple Motion.
- [Imp] <js> Detect MPT 1.0 alpha versions which didn't set the Stereo flag. In this case, the unset Stereo flag is also ignored because MPT 1.0 alpha used the default S3M channel panning anyway.
- [Fix] <js> Only for OPL instruments the high sample rate bits should be ignored; for PCM instruments they are clamped to 65535 Hz.
MOD
- [Fix] <js> Do not apply ProTracker loop length quirk to MODs that could have been made with Scream Tracker (fixes Soul-O-Matic by Purple Motion, http://bugs.openmpt.org/view.php?id=1472).
Other formats
- [Imp] <js> AMF (DSMI): Format revisions 1 and 9, as well as early (technically malformed) revision 10 files, are now supported. Surround panning commands and instrument number without note are now converted correctly.
- [Fix] <js> AMF (DSMI): Patterns and samples were not read correctly in some files (e.g. AVOID.AMF).
- [Fix] <js> GDM: Correctly import extra-fine portamentos (http://bugs.openmpt.org/view.php?id=1469).
Misc
- [Imp] <jh> Added shim to support RtAudio v5.0.0 in addition to v5.1.0. This re-adds support for current Ubuntu LTS and Debian systems with Wine Integration.
- [Fix] <js> SF2: Only merge mono layers if they have opposite panning. Previously, e.g. two left-panned layers would have also been merged.
Third-Party Libraries
- [Imp] Update mpg123 (v1.28.0), ogg (v1.3.5), r8brain (v5.2)
v1.29.10.00 (16 May 2021, revision 15016)
-----------------------------------------
General tab
- [Fix] <js> The tempo slider handle was shown in the wrong position for tempos close to 1000 BPM.
Pattern tab
- [Imp] <js> Interpolating the volume column between a cell with a Set Volume command and a cell with no volume command but a note and instrument is now possible (it uses the default volume of that sample for interpolation).
- [Fix] <js> Duplicating / adding / removing a channel, undoing and then redoing it caused the contents of the last channel to be lost (http://bugs.openmpt.org/view.php?id=1442).
- [Fix] <js> "Maintain sample sync on mute" was only enforced after manually muting a channel, and e.g. by restarting playback broke it again (http://bugs.openmpt.org/view.php?id=1125).
Sample tab
- [Imp] <js> Can now resample all samples at once by holding shift when pressing the resample button (http://bugs.openmpt.org/view.php?id=1368).
Instrument tab
- [Fix] <js> Saving an XI instrument from an IT or MPTM module could cause wrong transposition for samples with a middle-C frequency below 8363 Hz (http://bugs.openmpt.org/view.php?id=1449).
- [Fix] <js> Saving an ITI instrument from an XM module converted auto-vibrato sweep incorrectly.
Playback
- [Fix] <jh> In quad surround mode, Bass Expansion incorrectly applied DC removal to the front channels twice instead of applying it once to front and back channels.
MPTM
- [Fix] <js> The "Do not reset OPL channel status at end of envelopes" compatibility flag was effectively force-enabled for all modules made with OpenMPT 1.29, while it should have been disabled.
- [Fix] <js> Files with OPL instruments were sometimes written in a way so that older OpenMPT and libopenmpt versions without OPL support could no longer read certain song properties and warn that the file was created with a more recent version of OpenMPT.
- [Fix] <js> The old OpenMPT 1.28 retrigger behaviour for OPL instruments differed depending on the chosen output sample rate. Retrigger now always retriggers notes as expected, which was already the case when the mix rate was chosen to be 48000 Hz. The corresponding compatibility setting was removed, as it is no longer required.
IT
- [Imp] <js> Full OpenMPT version information (e.g. 1.29.10.00 instead of 1.29) is now written to IT files also when using compatibility export.
S3M
- [Imp] <js> Emulate IT short sample retrigger quirk in S3M files saved with Impulse Tracker and Schism Tracker.
- [Imp] <js> Full OpenMPT version information (e.g. 1.29.10.00 instead of 1.29) is now written to S3M files.
MOD
- [Fix] <js> Fixed possible crash when sample-swapping to a previously-deleted sample (tx bryc).
- [Fix] <js> ProTracker 3.6 doesn't support sample swapping. It is now disabled when loading a ProTracker 3.6 IFF module.
- [Fix] <js> Some files with "hidden" garbage patterns (e.g. altoflyt.mod) were not played correctly since OpenMPT 1.29.05.00 (http://bugs.openmpt.org/view.php?id=1458).
- [Fix] <js> E9x retrigger now works the same way as in ProTracker 2.
Other formats
- [Mod] <js> 669: Reject files that contain any pattern tempo higher than 15.
- [Fix] <js> MDL: Improve auto-vibrato accuracy.
- [Fix] <js> In OpenMPT 1.29.09.00, the "Save As" dialog now may have shown up every time after opening a file in an import-only format. Some actions like running the Automatic Sample Trimmer may have also prevented the dialog from showing up.
- [Fix] <js> Reduce memory consumption of malformed XPK-compressed files.
Stream Export
- [Fix] <jh> Exported 8-bit FLAC output was distorted since OpenMPT 1.29.01.00.
- [Fix] <jh> Do not offer dithering for 64-bit floating-point export.
Audio I/O
- [Mod] <jh> MME / Wave Out output devices are no longer marked as deprecated for now.
Misc
- [New] <js> Added keyboard shortcuts for increasing and decreasing tempo and ticks per row of currently playing module (tx jseb).
- [Fix] <js> Launching OpenMPT could take longer than it should depending on the current working directory, e.g. when opening modules from the task bar's jump list (http://bugs.openmpt.org/view.php?id=1444).
- [Fix] <js> Opening the help didn't open the correct page if the upper half of the view was focussed.
- [Fix] <js> Stop all playing samples when toggling "Compute note frequency in Hertz" compatibility setting.
Third-Party Libraries
- [Imp] Update mpg123 (v1.27.2)
v1.29.09.00 (11 April 2021, revision 14577)
-------------------------------------------
Tree view
- [Fix] <js> Holding a key to preview a sample or instrument in module now works as expected (no more cycling through items / playing "Ding" sound).
Pattern tab
- [New] <js> Added a new keyboard shortcut "Insert Separator" (Ctrl + Insert by default) to the order list which does the same thing as the identically-named context menu entry (http://bugs.openmpt.org/view.php?id=1437).
- [Imp] <js> Support instrument control S7x command when seeking with sample sync.
- [Fix] <js> Possible crash when resuming playback with "Play song from pattern start" combined with "Maintain sample sync on seek" (tx melcom).
- [Fix] <js> Pasting into a non-existent pattern (which would create a new pattern) didn't update the list of existing patterns in the tree view.
- [Fix] <js> Plugin names in instrument list are now updated immediately when renaming a plugin.
- [Fix] <js> Some characters were surrounded by colored frames when using proportional fonts.
- [Fix] <js> Avoid status bar updates (pattern selection size) from playing song while another song is being edited.
Instrument tab
- [Imp] <js> SFZ: Support loopcrossfade as an alias for loop_crossfade.
- [Fix] <js> SFZ: label_keyN values with spaces no longer break the parsing of following opcodes on the same line.
- [Fix] <js> SFZ export: Avoid creating folder names with trailing spaces and dots, as they are difficult to delete or move on Windows.
IT
- [Fix] <js> Instrument / sample panning was reset on note-off / fade commands (http://bugs.openmpt.org/view.php?id=1432).
Other formats
- [Fix] <js> With some imported formats, the "Save As" dialog didn't show up when trying to save them, overwriting the original file instead.
- [Fix] <js> Possible crash when loading some malformed files.
- [Fix] <js> Fix excessive memory consumption with malformed files in various formats.
Misc
- [Mod] <js> Welcome Dialog: The initial key map suggestion is now used even when not clicking the OK button.
- [Fix] <js> Modifier key state (Ctrl, Alt, Shift, Win) could sometimes get stuck when switching to another application.
Bundled plugins
- [Fix] <js> LFO Plugin: Frequency was not immediately reset when restoring parameters from saved file (http://bugs.openmpt.org/view.php?id=1440).
Third-Party Libraries
- [Imp] Update mpg123 (v1.26.5)
v1.29.08.00 (14 March 2021, revision 14303)
-------------------------------------------
General tab
- [Fix] <js> "Output To" plugin list could contain garbage when a plugin name was edited in another view of the same module.
Pattern tab
- [New] <js> Added keyboard shortcuts for adding and removing channels (http://bugs.openmpt.org/view.php?id=1427).
- [Mod] <js> If the order list is already longer than the format-supported maximum (e.g. because of import from another format), don't shrink the order list anymore when trying to duplicate a pattern.
Sample tab
- [Imp] <js> Splitting a stereo sample into two mono samples wastes less memory.
- [Fix] <js> On some systems, the OPL patch editor caused keyboard shortcuts to stop working (http://bugs.openmpt.org/view.php?id=1382).
Comments tab
- [Fix] <js> When activating the tab, the keyboard focus is set to the text editor (http://bugs.openmpt.org/view.php?id=1365).
S3M
- [Fix] <js> Some samples or OPL patches were imported with a too high sample rate if module was saved with Scream Tracker 3 (http://bugs.openmpt.org/view.php?id=1412).
Other formats
- [Imp] <js> Support loading 64-bit PCM and floating-point WAV files as a module.
- [Fix] <js> Possible crash when loading floating-point WAV file that claimed to have a bit depth of 8 bits or lower as a module.
- [Fix] <js> AMS: Avoid allocating excessive amount of memory for compressed song message in malformed files.
Misc
- [Mod] <js> Only force to rescan MIDI devices after receiving a device change notification from the system. Might fix a crash with buggy MIDI drivers.
- [Fix] <js> Properly resize text labels on main toolbar according to actual font size used (http://forum.openmpt.org/index.php?topic=6569.0).
- [Fix] <js> Some keys were missing when resetting the default keymap (tx isdera).
Third-Party Libraries
- [Imp] Update libvorbis (v1.3.7), UnRAR (v6.0.4)
v1.29.07.00 (31 January 2021, revision 14108)
---------------------------------------------
General tab
- [Imp] <js> Using the spinner, tempo is now incremented and decremented in steps of 1 BPM in all formats. The old behaviour for MPTM - using a 0.1 BPM step size - is now applied when holding Shift (similar to 0.01 BPM steps when holding Ctrl).
- [Mod] <js> "Output To" plugin list now shows user-chosen name first, then library name.
- [Mod] <js> "Output To" plugin list was not updated when a plugin was renamed.
- [Fix] <js> Renaming a plugin could become really slow the more plugins were loaded.
Pattern tab
- [Imp] <js> Update OPL channel state (in particular currently used instrument) when seeking.
- [Fix] <js> Rare crash when trying to interpolate a column without a selection (tx coda).
- [Fix] <js> Selecting a whole row by clicking on its row number didn't copy any channels left of the current scroll position.
- [Fix] <js> MIDI recording erroneously allowed writing smooth MIDI commands with formats that don't support this command.
- [Fix] <js> The Pattern Goto Dialog was not initialized correctly, not using the current pattern and order list location as intended.
Sample tab
- [Imp] <js> Pitch Shift can now also be applied to sample selections.