View Issue Details

IDProjectCategoryView StatusLast Update
0001726OpenMPTAudio I/Opublic2023-09-02 20:58
Reportergir489 Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Platformx64OSWindowsOS Version10
Product VersionOpenMPT 1.31.04.00 / libopenmpt 0.7.3 (upgrade first) 
Summary0001726: Discoban.mod loops in a corrupt state.
Description

https://modarchive.org/index.php?request=view_by_moduleid&query=67103

When playing discoban.mod, it completes the first playthrough fine, however when the 2nd loop comes, when page 2 plays, you can hear some of the instruments are off key some of them sound like they've been bit-crushed or something.

Steps To Reproduce

Play discoban.mod once.

TagsNo tags attached.
Attached Files
discoban.rar (4,098 bytes)
Has the bug occurred in previous versions?No.
Tested code revision (in case you know it)

Activities

cs127

cs127

2023-09-02 19:59

reporter   ~0005773

I think this is just because of the EF command being used in the song (e.g. on row 0 of pattern 3).
It's supposed to invert the sample loop during playback, but the change is actually done directly to the sample.
This causes the sample to sound different during each playthrough.
This is intended behaviour, and occurs in ProTracker (and similar trackers) too.

Saga Musix

Saga Musix

2023-09-02 20:58

administrator   ~0005774

Maybe not intended (many people don't check whether their tracks loop cleanly), but OpenMPT's behaviour is definitely technically correct. The invert loop effect last seen in pattern 12 is never turned off, so it keeps inverting sample data for all subsequent playback.

Issue History

Date Modified Username Field Change
2023-09-02 18:15 gir489 New Issue
2023-09-02 18:15 gir489 File Added: discoban.rar
2023-09-02 18:15 gir489 File Added: discoban_render_output_twice.rar
2023-09-02 19:59 cs127 Note Added: 0005773
2023-09-02 20:58 Saga Musix Note Added: 0005774
2023-09-02 20:58 Saga Musix Status new => closed
2023-09-02 20:58 Saga Musix Resolution open => no change required