View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001934 | OpenMPT | Playback Compatibility | public | 2025-12-09 13:29 | 2025-12-11 08:28 |
| Reporter | Lachesis | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | x86_64 | OS | Wine | OS Version | 10.15 (Staging) |
| Product Version | OpenMPT 1.32.05.00 / libopenmpt 0.8.3 (current stable) | ||||
| Summary | 0001934: XM invalid instrument number inaccuracies :) | ||||
| Description | I found some interesting new things about invalid instrument numbers while trying to fix libxmp's Fasttracker 2 default volume implementation. I've attached the new libxmp test module for these quirks, but to summarize the suspected OpenMPT bugs: 1) When a channel currently has an invalid instrument active, instrument numbers should not apply default volume/pan or reset the envelope positions. Row 4 of the example (rows 4-5, 20-21 of the module) plays too loud in OpenMPT, presumably because it reset the envelope positions. This also causes row A of the example below (rows 10-11 of the module) to play when it should be silent. 2) When activating an invalid instrument cuts the channel, it should also zero the channel volume—the volume number by row 4 (rows 4, 20 of the module) is actually necessary for the note to be heard. Rows 28-29 in the module should be silent, but they can be heard in OpenMPT. | ||||
| Steps To Reproduce | Compare the attached module's playback with OpenMPT (or openmpt123) to Fasttracker 2 (or clone). The left channel contains the invalid instrument lines, and the right channel contains equivalents using normal constructs. Both channels should play the same, aside from some clicks in the left channel in the original FT2. | ||||
| Additional Information | https://github.com/libxmp/libxmp/pull/927 (please extend the bug report form timeout if possible) | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Has the bug occurred in previous versions? | |||||
| Tested code revision (in case you know it) | |||||
|
Slight correction: the zero volume seems to not be any special handling but rather the result of an invalid instrument applying default volume. It also resets the pan to 0x80 plus whatever else is updated by that part of the original playercode. |
|
|
Since the originally attached test and description are a bit confused (see prior comment), I've split the two bugs into separate test files. 1)
2) |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-12-09 13:29 | Lachesis | New Issue | |
| 2025-12-09 13:29 | Lachesis | File Added: ft2_envelope_invalid_ins.xm.zip | |
| 2025-12-10 03:47 | Lachesis | Note Added: 0006531 | |
| 2025-12-11 08:28 | Lachesis | Note Added: 0006532 | |
| 2025-12-11 08:28 | Lachesis | File Added: ft2_invalid_ins_defaults.xm.zip | |
| 2025-12-11 08:28 | Lachesis | File Added: ft2_envelope_invalid_ins_v2.xm.zip |