Missing and/or broken OpenMPT test modules.
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 392
- Forks
- 82
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 5
Description
Several test modules from the OpenMPT regression tests are not played correctly:
-
Both behaviors are tested as of #785mod/PortaSmpChange.mod: the new sample is never applied. -
it/extreme-filter-1.it: the output clips at the end of the envelope for the first two filter notes. -
it/extreme-filter-2.it: note timbre sounds weak/empty. This one currently isn't tested, but I checked it due to the prior being wrong. -
it/s7xinsnum.it: instrument NNA note cut cancels all three notes playing in channel 1, but it should only cut the most recent/current note.
I am sure this list is in no way complete, these are just the ones I noticed while fixing tests for #496.
edit: all unimplemented OpenMPT IT tests updated list of all unimplemented OpenMPT modules as of 2024-11-14:
MOD:
- InstrDelay.mod
-
InstrSwapRetrigger.mod#785 - NoteDelay-NextRow.mod
-
PTInstrSwap.mod#785 -
PTInstrVolume.mod#785 - PTRetrigger.mod
-
PTStoppedSwap.mod#785 -
PTSwapEmpty.mod#785 -
PTSwapNoLoop.mod#785 - PatLoop-Break.mod
- PatternDelaysRetrig.mod
-
PortaSwapPT.mod#785 - TempoChange.mod
S3M:
- AdlibZeroVolumeNote.s3m
- LoopReset.s3m
- NOP.s3m
- NoCombinedSlidesOnFirstTick-Fast.s3m
- NoCombinedSlidesOnFirstTick-Normal.s3m
- OffsetLoopWraparound.s3m
- OffsetPastSampleEnd.s3m
- OxxMemory.s3m
- OxxMemoryWithRetrig.s3m
- PatternDelays.s3m
- PeriodLimitUpper.s3m
- PortaAfterArp.s3m
- RetrigAfterNoteCut.s3m
- RetrigSlide.s3m
- TonePortamentoWithAdlibNote.s3m
- VibratoTypeChange.s3m
- weirdloop.s3m
XM:
- ArpSlide.xm
- ArpeggioClamp.xm
- AutoVibratoSweepKeyOff.xm
- BidiPrecision.xm
- DelayVolume.xm
- Finetune-Precision.xm
- FreqWraparound.xm
- FT2PanLaw.xm
- GlobalVolume.xm
- NoteOffFadeNoEnv.xm (2025-12-07: broken)
- NoteOffInstrChange.xm (2025-12-07: OK)
- Off-Porta.xm (2025-12-07: OK)
- PanSlideZero.xm
- PanSustainRelease.xm
- PatLoop-Infinite.xm
- PatLoop-Jumps.xm
- PatLoop-Nested.xm
- PatLoop-Overflow.xm
- PatLoop-Various.xm
- PatternDelay-NoteDelay.xm
-
Porta-LinkMem.xm#817 - PortaDelay.xm
- PortaJustStoppedNote.xm
- PortaResetDirection.xm
- RetrigFade.xm
- RetrigTick0.xm
- SampleChange.xm
- SamplePortaInInstrument.xm
- TremoloVibrato.xm
- VibratoCombinations.xm
- VibratoDouble.xm
- VolColDelay.xm
- lowest.xm
- porta-delay.xm
- retrig.xm
IT:
- BidiPrecision.it
- DNA-NoInstr.it
- DoubleSlide.it
- DoubleSlideCompatGxx.it
- FilterPortaSmpChange-InsMode.it
- FilterPortaSmpChange.it
- FilterResetPatDelay.it
- GlobalVolFirstTick.it
- GlobalVolume-Macro.it
- InitialNoteMemory.it
- InitialNoteMemoryInstrMode.it
- InstrAfterMultisamplePorta.it
- JxxTicks.it
- LoopBreak.it
- LoopStartAfterPatternEnd.it
- NoMapEffects.it
- NoSlide.it
- NoteFade-InsMode.it
- NoteFade-SmpMode.it
- OffsetWithInstr.it
- PanResetInstr.it
- PanbrelloHold.it
- PatternDelay-NoteDelay.it
- PatternDelays.it
- PatternDelaysRetrig.it
- PitchPanReset.it
- PortaCutCompat.it
- PortaResetAfterRetrigger.it
- RandomPan.it
- RandomWaveform.it
- ResetEnvNoteOffOldFx.it
- ResetEnvNoteOffOldFx2.it
- SampleSustainAfterPorta.it
- SampleSustainAfterPortaCompatGxx.it
- SampleSustainAfterPortaInstrMode.it
- SlideDelay.it
- SwapNNA.it
- VibratoDouble.it
- VibratoSweep0.it
- dct_smp_note_test.it
- empty_sample_offset.it
- env-flt-max.it
- extreme-filter-test-2.it
- filter-reset-envelope.it
- ins-oc.it
- ins-ox.it
- ins-xc.it
- ins-xx.it
- noteoff3.it (seems to vary somewhat from IT)
- sbx-priority.it
- surround-pan.it
- swing1.it
- swing2.it
- swing3.it
- swing4.it
- swing5.it
- tickdelay.it
- tremolo.it
- vibrato-oldfx.it
- vibrato.it
- weirdloop.it
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing one of the listed OpenMPT regression modules, such as it/extreme-filter-1.it or it/s7xinsnum.it, and compare the observed playback with the behavior described in the issue. Review the existing OpenMPT regression-test setup; done means resolving a selected discrepancy and confirming the module behaves correctly in the relevant test coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc, testing-qa
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100