libxmp / libxmp

Libxmp is a library that renders module files to PCM data.
305 stars 70 forks source link

Can't play grass.near.the.house.xm #168

Closed vlad54rus closed 3 years ago

vlad54rus commented 4 years ago

Player refuses to play grass near the house module. grass near the house.zip

sezero commented 3 years ago

This doesn't sound like an Android-specific issue.

sezero commented 3 years ago

Fails a sanity check in xm_load.c:

Loading grass near the house.xm (1 of 1)
xmp_load_module [src/load.c:494] path = grass near the house.xm
load_module [src/load.c:388] load
load_module [src/load.c:397] test Fast Tracker II
load_module [src/load.c:401] load format: Fast Tracker II
xm_load [src/loaders/xm_load.c:742] Module title: "grass near the house"
xm_load [src/loaders/xm_load.c:742] Module type: FastTracker v2.00 XM 1.04
load_patterns [src/loaders/xm_load.c:309] Stored patterns: 13
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 32 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 128 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 128 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
libxmp_alloc_tracks_in_pattern [src/loaders/common.c:138] Alloc 16 tracks of 256 rows
load_instruments [src/loaders/xm_load.c:357] Instruments: 7
load_instruments [src/loaders/xm_load.c:387] Sanity check: 23 40
xmp_release_module [src/load.c:638] Freeing memory
xmp_release_module [src/load.c:691] free dirname/basename
./xmp: grass near the house.xm: Error loading module
sezero commented 3 years ago

Why is xih.samples > 0x10 rejected?

sezero commented 3 years ago

Why is xih.samples > 0x10 rejected?

Commit 3106924ece213 changed it from 0x100 to 0x10 to be 'more strict' @cmatsuoka: can this not be relaxed?

cmatsuoka commented 3 years ago

The FT2 documentation states that an instrument can have up to 16 samples, but it seems that there are non-compliant modules out there (which is not surprising). I'll investigate that.