Skip to content

GME library load companion .m3u/.m3u8 for subsong metadata#198

Merged
radioactiveman merged 1 commit into
audacious-media-player:masterfrom
ramonsmits:fix/load-m3u-for-gme-subsongs
Mar 22, 2026
Merged

GME library load companion .m3u/.m3u8 for subsong metadata#198
radioactiveman merged 1 commit into
audacious-media-player:masterfrom
ramonsmits:fix/load-m3u-for-gme-subsongs

Conversation

@ramonsmits

Copy link
Copy Markdown
Contributor

The bundled GME library includes a full M3u_Playlist parser that understands the NEZplug extended m3u format (with ::TYPE and $track syntax), but the code to auto-load a companion .m3u was disabled.

Re-enable it using the Audacious StringBuf API. When a game music file is loaded, look for a matching .m3u8 (preferred) or .m3u file in the same directory and feed it to the emulator. This provides track names, durations, and correct subsong mapping for KSS, NSF, GBS, HES, and other multi-track formats.

I added support for .m3u8 as I have a of lot old MSX kss files that have an .m3u files that use Shift_JIS charset and .m3u8 should always be utf8 encoded

.m3u8

#
# METAL GEAR
# コナミ矩形波倶楽部 (KONAMI Kukeiha Club)
# (c)1987 KONAMI
#

Metal Gear (MSX)(1987)(Konami).kss::KSS,71,[METAL GEAR] TITLE,2,,0
Metal Gear (MSX)(1987)(Konami).kss::KSS,41,[METAL GEAR] OPERATION INTRUDE N313 (オープニングBGM),10,,0
Metal Gear (MSX)(1987)(Konami).kss::KSS,44,[METAL GEAR] THEME OF TARA (潜入BGM1),1:41,9-
Metal Gear (MSX)(1987)(Konami).kss::KSS,47,[METAL GEAR] -!- RED ALERT (戦闘BGM),43,3-
#Metal Gear (MSX)(1987)(Konami).kss::KSS,50,[METAL GEAR] -!- RED ALERT (戦闘BGM) Alt Ver.,40,1-
Metal Gear (MSX)(1987)(Konami).kss::KSS,53,[METAL GEAR] SNEAKING MISSION (潜入BGM2),31,0-
Metal Gear (MSX)(1987)(Konami).kss::KSS,62,[METAL GEAR] MERCENARY (ボスBGM),19,3-
Metal Gear (MSX)(1987)(Konami).kss::KSS,56,[METAL GEAR] TX-55 METAL GEAR (METAL GEAR戦BGM),13,0-
Metal Gear (MSX)(1987)(Konami).kss::KSS,59,[METAL GEAR] ESCAPE -BEYOND BIG BOSS- (ラストバトル〜脱出BGM),33,1-
Metal Gear (MSX)(1987)(Konami).kss::KSS,65,[METAL GEAR] RETURN OF FOX HOUNDER (エンドデモ),39,9-
Metal Gear (MSX)(1987)(Konami).kss::KSS,68,[METAL GEAR] JUST ANOTHER DEAD SOLDIER (ゲームオーバーBGM),9,,0
image

@ramonsmits ramonsmits changed the title console: Load companion .m3u/.m3u8 for subsong metadata GME library load companion .m3u/.m3u8 for subsong metadata Mar 12, 2026
Comment thread src/console/Audacious_Driver.cc
The bundled GME library includes a full M3u_Playlist parser that
understands the NEZplug extended m3u format (with ::TYPE and $track
syntax), but the code to auto-load a companion .m3u was disabled.

Re-enable it using the Audacious StringBuf API. When a game music
file is loaded, look for a matching .m3u8 (preferred) or .m3u file
in the same directory and feed it to the emulator. This provides
track names, durations, and correct subsong mapping for KSS, NSF,
GBS, HES, and other multi-track formats.
@ramonsmits ramonsmits force-pushed the fix/load-m3u-for-gme-subsongs branch from e3d753c to 799648d Compare March 22, 2026 14:55
@radioactiveman radioactiveman merged commit eaac343 into audacious-media-player:master Mar 22, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants