View Issue Details

IDProjectCategoryView StatusLast Update
0001970OpenMPTPlayback Compatibilitypublic2026-05-07 12:07
ReporterWibi Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformLinux (Wine)OSDebianOS VersionDebian 12
Product VersionOpenMPT 1.32.09.00 / libopenmpt 0.8.6 (current stable) 
Summary0001970: Parameter to 8xx pan in Amiga modules doubles when saved and reloaded
Description

This might be a niche case since I'm not sure any Amiga modules not authored by OpenMPT contain 8xx panning. However, the presence of 8xx panning does not disqualify a module from being an Amiga module for the purpose of enabling the Amiga resampler.

Steps To Reproduce
  1. Make an Amiga module with 8xx panning.
  2. Save it.
  3. Close it and reload it. The panning parameter will be doubled (820 will become 840, 860 will become 8C0, etc.)
Additional Information

pantest 8xx.mod is provided as an example of this behavior. Make a change to it, save it, then close it and reload it. (Or save it to a new file and open that file.) The 8xx parameters will be doubled and the instrument panning will be more spread out instead of all being close to the left.

Notably if you disable Amiga frequency limits and place notes outside the normal Amiga range (below C-4, above B-6) such that the module is recognized as a PC module rather than an Amiga module, the 8xx parameters will be doubled on the first save-and-reload, but not any subsequent save-and-reloads.

TagsNo tags attached.
Attached Files
pantest 8xx.mod.gz (7,365 bytes)
Has the bug occurred in previous versions?Yes
Tested code revision (in case you know it)OpenMPT-1.32.01.00 but goes back further; at least 2 years

Activities

Saga Musix

Saga Musix

2026-05-07 09:15

administrator   ~0006670

There are two competing "standards" for MOD panning: S3M-style 7-bit panning (800-880 + 8A4) and FT2-like 8-bit panning (800-8FF). OpenMPT generally uses FT2-like panning as its default interpretation (which is the one most commonly found in PC MOD files) for panning in MOD files, but can import S3M-style panning and convert it on the fly to FT2-style panning.

Interpreting the module as using 8-bit panning, all panning commands are panned hard-left (maximum value = 48 decimal out of 256, 128 = center), so OpenMPT doubles the values.
However, note that all the panning values are still exclusively to the left after this conversion. So if you save the converted file and load it again, now the maximum value is 96 out 256, which again triggers the 7-bit panning conversion.

Simply put, if you want to write a MOD file where all channels are heavily left-leaning and not a single channel is panned to the right, for whatever strange reason you would ever want to do that, you are out of luck. You will always fight against heuristics.

Wibi

Wibi

2026-05-07 12:06

reporter   ~0006671

That's odd; I remembered using 8xx with parameters above 80 a few times and still having all the values be doubled when I reloaded (with the parameters above 80 being clamped to FF). Maybe the problem was that I saved when I had placed the left-leaning pans but before placing the right-leaning pans. I'll have to test this more later.

Saga Musix

Saga Musix

2026-05-07 12:07

administrator   ~0006672

To be precise, panning values betwen 880 and 88F will not force 8-bit detection, based on real-world observations where modules with 7-bit panning used such values. But in general, any module with well-balanced (hah) 8-bit panning should be reliably detected as such.

Issue History

Date Modified Username Field Change
2026-05-06 14:17 Wibi New Issue
2026-05-06 14:17 Wibi File Added: pantest 8xx.mod.gz
2026-05-07 09:15 Saga Musix Note Added: 0006670
2026-05-07 12:06 Wibi Note Added: 0006671
2026-05-07 12:07 Saga Musix Note Added: 0006672