View Issue Details

IDProjectCategoryView StatusLast Update
0001969OpenMPTPlayback Compatibilitypublic2026-05-07 12:14
ReporterWibi Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformLinux (Wine)OSDebianOS VersionDebian 12
Product VersionOpenMPT 1.32.09.00 / libopenmpt 0.8.6 (current stable) 
Summary0001969: Modules are arbitrarily judged not to be Amiga modules if lowpass filter (E0x) is toggled 8 or more times in pattern data
Description

This is a strange limitation that is frustrating to come across as a composer. If I toggle the low-pass filter with E0x too often then the Amiga resampler will be disabled when loading the file and E0x will have no effect. I don't know if this is some overzealous heuristic, or if there is actually some issue on real Amiga consoles with E0x being toggled too much, but any permutation of E0x plays back as expected in pt2-clone on Linux, so there is at least a precedent for programs simulating Amiga trackers to allow toggling E0x arbitrarily often.

Steps To Reproduce
  1. Make a new Amiga module.
  2. Fill out the first 7 rows on column 1 with the following effects:
    E01
    E00
    E01
    E00
    E01
    E00
    E01
  3. Save, close, and reopen the module. Notice the resampler is "Default (Amiga Resampler)".
  4. Add an E00 on the 8th row.
  5. Save, close, and reopen the module. Notice the resampler is "Default (Sinc + LP)".
Additional Information

This heuristic(?) doesn't check the overall sequence but each independent pattern; if pattern 0 contains 2 E0x toggles and appears four times in the sequence then E0x will still be enabled, but if pattern 0-3 each contain 2 E0x toggles each then E0x will be disabled.

Attached are example modules demonstrating this quirk as well as the module I was working on when I discovered this behavior.

filtertest_7_e0x_toggles.mod.gz and filtertest_8_e0x_toggles_in_sequence.mod.gz should have the Amiga resampler enabled.

filtertest_8_e0x_toggles.mod.gz, filtertest_8_e0x_toggles_acrosspatterns.mod.gz, and Wibi-_dub_for_airports.mod.gz should have the Amiga resampler disabled.

TagsNo tags attached.
Attached Files
Has the bug occurred in previous versions?Yes
Tested code revision (in case you know it)OpenMPT-1.32.01.00

Activities

Wibi

Wibi

2026-05-04 22:04

reporter   ~0006668

Another way to replicate this: play back STK.formula1 by Romeo Knight, observe that the Amiga resampler is functional despite the presence of many E0x toggles, then save it as an Amiga module and reopen it. The Amiga resampler will be disabled. This makes me think it's a heuristic problem if it affects loading MOD files but not STK files.

STK.formula1.gz (75,155 bytes)
Saga Musix

Saga Musix

2026-05-07 09:07

administrator   ~0006669

The heuristic exists because many modules were written on trackers that aren't ProTracker or NoiseTracker where E0x does nothing, and the commands were essentially meaningless and should not be interpreted as filter toggle commands. Naturally the ProTracker clone doesn't have such a heuristic because it's cloning ProTracker and not some arbitrary other tracker.

What exactly is your musical intent of toggling the filter all the time? Why would you intentionally do this in a track?

Wibi

Wibi

2026-05-07 12:10

reporter   ~0006673

I was remixing an old tracker song that had E00 at the beginning to force lowpass on. My remix (see Wibi_-_dub_for_airports.mod.gz) starts with the lowpass off, and enables it once it gets into the main section. Then I briefly disable the lowpass on certain beats to emphasize them (particularly the crunchiness of the kick drums) and to foreshadow a transition to a section where lowpass is mainly disabled again.

Saga Musix

Saga Musix

2026-05-07 12:14

administrator   ~0006674

All I can say is that the filter is not intended to be used like that. The only reason E0x is typically used to force-disable the filter, and very rarely to force-enable it.

I would absolutely advise against relying on it in any musical way, in particular since you don't have any control over whether the module will be played in a player that a) actually supports Amiga filter emulation (many don't) and b) which Amiga filter it is configured to. You probably tested your module only with OpenMPT's default A1200 filter configuration, which is the more pleasant of the two options, but the majority of people who would be hearing this module on a real Amiga would probably using an A500, and the result would be entirely different from what you meant to be heard. You can give it a try by setting the filter to A500 in OpenMPT.

TLDR: E0x is not meant to be used musicially.

Issue History

Date Modified Username Field Change
2026-05-04 21:53 Wibi New Issue
2026-05-04 21:53 Wibi File Added: Wibi_-_dub_for_airports.mod.gz
2026-05-04 21:53 Wibi File Added: filtertest_7_e0x_toggles.mod.gz
2026-05-04 21:53 Wibi File Added: filtertest_8_e0x_toggles.mod.gz
2026-05-04 21:53 Wibi File Added: filtertest_8_e0x_toggles_in_sequence.mod.gz
2026-05-04 21:53 Wibi File Added: filtertest_8_e0x_toggles_across_patterns.mod.gz
2026-05-04 21:55 Wibi Platform Linux => Linux (Wine)
2026-05-04 22:04 Wibi Note Added: 0006668
2026-05-04 22:04 Wibi File Added: STK.formula1.gz
2026-05-04 22:04 Wibi Steps to Reproduce Updated
2026-05-07 09:07 Saga Musix Note Added: 0006669
2026-05-07 12:10 Wibi Note Added: 0006673
2026-05-07 12:14 Saga Musix Note Added: 0006674