View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001969 | OpenMPT | Playback Compatibility | public | 2026-05-04 21:53 | 2026-05-07 12:14 |
| Reporter | Wibi | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | Linux (Wine) | OS | Debian | OS Version | Debian 12 |
| Product Version | OpenMPT 1.32.09.00 / libopenmpt 0.8.6 (current stable) | ||||
| Summary | 0001969: 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 |
| ||||
| 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. | ||||
| Tags | No 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 | ||||
|
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. |
|
|
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? |
|
|
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. |
|
|
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. |
|
| 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 |