Yuzo Koshiro - The Super Three
Streets of Rage II - Sega Master System / Game Gear (1993/7/23)
4 bits of information:
composer
track title
game title
game system
should be
Game Title - Track Title
Composer - Game System
i.e.
Streets of Rage II - The Super Three
Yuzo Koshiro - Sega Master System / Game Gear (1993/7/23)
some formats have a different set of metadata, such as MIDI, where there is virtually none. Any metadata has to be inferred from file path, which varies in use:
Frankie Valli - December 1963 (Oh What a Night).mid
MIDI
vs.
/Game+MIDI/Ultima+Online/CREATE1.MID
CREATE1.MID
Ultima Online - Game MIDI
A solution
The metadata formatting and fallback behavior should be consolidated in one place. The app, after receiving metadata back from whichever player engine is in use, should combine the info with the file path and reconcile something. The player can return whatever sparse metadata it knows about, but the app is responsible for resolving all this to a "Title" and "Subtitle".
i.e.
getTitleAndSubtitleFromMetadataAndFilepath(metadata, filepath) {
let title, subtitle;
// inspect metadata
if (metadata.artist) { ... }
...
// make a decision about how to put together a title and subtitle
return { title, subtitle };
}
game-music-emu sometimes finds artist metadata.
4 bits of information:
should be
i.e.
some formats have a different set of metadata, such as MIDI, where there is virtually none. Any metadata has to be inferred from file path, which varies in use:
/Piano+E-Competition+MIDI/2014/Cheng+Guang+-+5th+Prize/Rachmaninoff+-+Prelude+in+D+Major,+Op.+23,+No.+4.mid yields
vs.
/MIDI/Frankie+Valli/December+1963+(Oh+What+a+Night).mid yields
vs.
/Game+MIDI/Ultima+Online/CREATE1.MID
A solution
The metadata formatting and fallback behavior should be consolidated in one place. The app, after receiving metadata back from whichever player engine is in use, should combine the info with the file path and reconcile something. The player can return whatever sparse metadata it knows about, but the app is responsible for resolving all this to a "Title" and "Subtitle".
i.e.