View Issue Details

IDProjectCategoryView StatusLast Update
0001204OpenMPT[All Projects] Playback Compatibilitypublic2019-02-28 20:53
ReporterzonerAssigned ToSaga Musix 
PrioritylowSeveritytweakReproducibilityalways
Status resolvedResolutionfixed 
PlatformallOSallOS Versionall
Product VersionOpenMPT 1.28.03.00 / libopenmpt 0.4.3 (current stable) 
Target VersionOpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upcoming stable)Fixed in VersionOpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upcoming stable) 
Summary0001204: 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:
http://amp.dascene.net/downmod.php?index=51242

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)0.4.3+r11358

Activities

zoner

zoner

2019-02-27 19:15

reporter  

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;
> 					}

Load_mtm.patch (697 bytes)
zoner

zoner

2019-02-27 19:25

reporter   ~0003868

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.

Saga Musix

Saga Musix

2019-02-27 19:28

administrator   ~0003869

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.

Saga Musix

Saga Musix

2019-02-27 20:57

administrator   ~0003870

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.

Saga Musix

Saga Musix

2019-02-27 21:28

administrator   ~0003871

r11402 contains a fix that should hopefully handle sample finetune more correctly now. It's a bit more complex than what your patch did.

zoner

zoner

2019-02-28 13:02

reporter   ~0003872

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.

Issue History

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 (upcoming stable)
2019-02-28 20:53 Saga Musix Target Version => OpenMPT 1.28.04.00 / libopenmpt 0.4.4 (upcoming stable)
2019-02-28 20:53 Saga Musix Status assigned => resolved
2019-02-28 20:53 Saga Musix Resolution open => fixed