View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001204 | OpenMPT | Playback Compatibility | public | 2019-02-27 19:15 | 2019-02-28 20:53 |
Reporter | zoner | Assigned To | Saga Musix | ||
Priority | low | Severity | tweak | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | all | OS | all | OS Version | all |
Product Version | OpenMPT 1.28.03.00 / libopenmpt 0.4.3 (upgrade first) | ||||
Target Version | OpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upgrade first) | Fixed in Version | OpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upgrade first) | ||
Summary | 0001204: Small tweak to MTM loader to ignore some unsupported commands | ||||
Description | MTM's effect commands are almost identical to MOD, but in the extended section (0x0E) there are a few key omissions and changes. The one I'm most concerned about is E5y which appears to be very different between MTM and MOD, and does cause trouble playing back some MTMs. Example song in the Steps to reproduce, and I've attached my diff file that I wrote against the soundlib/Load_mtm.cpp file of libopenmpt 0.4.3+r11358 | ||||
Steps To Reproduce | here is a song exhibiting poor playback: | ||||
Tags | No tags attached. | ||||
Attached Files | Load_mtm.patch (697 bytes)
206a207,229 > } else if (cmd == 0x0E) > { > if((param & 0xF0) == 0x30) > { > // E3x is "Glissando / UNSUPPORTED" > cmd = param = 0; > } else if((param & 0xF0) == 0x40) > { > // E4x is "Set vibr wave / UNSUPPORTED" > cmd = param = 0; > } else if((param & 0xF0) == 0x50) > { > // E5x is "Set finetune / y = finetune value settings: Y<8:Y Y>7:Y-16" > cmd = param = 0; > } else if((param & 0xF0) == 0x60) > { > // E4x is "Pattern Loop / UNSUPPORTED" > cmd = param = 0; > } else if((param & 0xF0) == 0x70) > { > // E4x is "Set trem wave / UNSUPPORTED" > cmd = param = 0; > } | ||||
Has the bug occurred in previous versions? | |||||
Tested code revision (in case you know it) | 0.4.3+r11358 | ||||
Ugh, the comments for extended effects 6 and 7 should say E6x and E7x, lousy cut and paste on my part! But the descriptions in the double quotes for each extended effect is the exact text I found in the help page in the multitrack module editor itself. |
|
Thanks for the patch. I will apply it in somewhat modified form, in particular we can easily keep E5x, with some minor parameter modifications so that it works like in MultiTracker. |
|
While the patch might seemingly fix the module at hand, it turns out that finetune handling (as used in the module) is quite weird in MTM and requires a proper fix. I will take care of it. |
|
r11402 contains a fix that should hopefully handle sample finetune more correctly now. It's a bit more complex than what your patch did. |
|
Your better fix looks solid. I felt a bit bad about deciding with ignoring finetune entirely but figuring out the proper fix was a bit above my abilities, so thanks for taking a hard look at this and reworking it! I've tested your patch on the problematic song and it sounds good. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2019-02-27 19:15 | zoner | New Issue | |
2019-02-27 19:15 | zoner | File Added: Load_mtm.patch | |
2019-02-27 19:25 | zoner | Note Added: 0003868 | |
2019-02-27 19:28 | Saga Musix | Note Added: 0003869 | |
2019-02-27 19:28 | Saga Musix | Assigned To | => Saga Musix |
2019-02-27 19:28 | Saga Musix | Status | new => assigned |
2019-02-27 20:57 | Saga Musix | Note Added: 0003870 | |
2019-02-27 21:28 | Saga Musix | Note Added: 0003871 | |
2019-02-27 21:28 | Saga Musix | Status | assigned => feedback |
2019-02-28 13:02 | zoner | Note Added: 0003872 | |
2019-02-28 13:02 | zoner | Status | feedback => assigned |
2019-02-28 20:53 | Saga Musix | Fixed in Version | => OpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upgrade first) |
2019-02-28 20:53 | Saga Musix | Target Version | => OpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upgrade first) |
2019-02-28 20:53 | Saga Musix | Status | assigned => resolved |
2019-02-28 20:53 | Saga Musix | Resolution | open => fixed |