View Issue Details

IDProjectCategoryView StatusLast Update
0001859OpenMPTFile Format Supportpublic2025-02-08 15:53
Reportermusicperson42 Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version11
Product VersionOpenMPT 1.31.14.00 / libopenmpt 0.7.13 (current stable) 
Target VersionOpenMPT 1.31.15.00 / libopenmpt 0.7.14 (upcoming stable)Fixed in VersionOpenMPT 1.31.15.00 / libopenmpt 0.7.14 (upcoming stable) 
Summary0001859: Some BRR files do not get imported
Description

Some BRR files do not get imported in the sample editor - the program still detects the samples as raw data to import. I've provided a zip file of those BRR files.

TagsNo tags attached.
Attached Files
BRR samples.zip (340,064 bytes)
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2025-01-22 20:18

administrator   ~0006303

BRR files have no file header, meaning that there is a high chance that any random binary file is likely to be detected as BRR sample even though it shouldn't be. Hence OpenMPT verifies the integrity of the BRR sample blocks before allowing the file to load. Some of those checks are stricter than what the real hardware requires, and it is known that there are a few samples out there which won't pass this test. In particular, otherwise valid BRR files may get rejected if sample block indicates that the sample should be looped, and then a later sample block claims that the sample shouldn't be looped. This is what causes those files to be rejected.

While real SNES hardware won't care about this inconsistency (it only matters if the last sample block has the loop bit set), this test greatly helps with rejecting files that would otherwise be detected as BRR samples but in reality are just raw data or some other binary sample format. I would be very hesitant to remove this check as these BRR files are just not structurally sound for whatever reason (could be both a bug in the authoring tool or in whatever was used to extract them).

Saga Musix

Saga Musix

2025-02-08 15:53

administrator   ~0006305

I was able to relax the file rejection heuristics a bit for files that only set the loop bit for frames that are inside the loop, so these files will load in the next OpenMPT version.

Issue History

Date Modified Username Field Change
2025-01-22 19:43 musicperson42 New Issue
2025-01-22 19:43 musicperson42 File Added: BRR samples.zip
2025-01-22 20:18 Saga Musix Note Added: 0006303
2025-02-08 15:52 Saga Musix Assigned To => Saga Musix
2025-02-08 15:52 Saga Musix Status new => assigned
2025-02-08 15:53 Saga Musix Status assigned => resolved
2025-02-08 15:53 Saga Musix Resolution open => fixed
2025-02-08 15:53 Saga Musix Fixed in Version => OpenMPT 1.31.15.00 / libopenmpt 0.7.14 (upcoming stable)
2025-02-08 15:53 Saga Musix Target Version => OpenMPT 1.31.15.00 / libopenmpt 0.7.14 (upcoming stable)
2025-02-08 15:53 Saga Musix Note Added: 0006305