Commit message | Age | Author | Refs | |||
---|---|---|---|---|---|---|
r46:7230a1ed
|
|
0 | ||||
r45:22233eb2
|
|
0 | ||||
r44:1a6644fd
|
|
0 | ||||
r43:1ba0ab25
|
|
0 | ||||
r42:2f859a6d
|
|
0 | ||||
r41:7a3b9afb
|
|
0 | ||||
r40:a83c7e62
|
|
0 | ||||
r39:e50cac3a
|
|
0 | ||||
r38:980db9d7
|
|
0 | ||||
r37:a8a87d02
|
|
0 |
gme-player.js
What is it? It's a music player in the browser. Or, it's yet another interface to Game Music Emu (to be precise, mpyne's fork) compiled with Emscripten.
What exactly does it play?
gme-player.js should support all formats that libgme supports, with the exception of compressed formats. Compressed formats, such as VGZ, depend on ZLib and are not supported for now.
Table copied from Game Music Emu's home page (watch out for broken links):
AY | ZX Spectrum, Amstrad CPC |
GBS | Nintendo Game Boy |
GYM | Sega Genesis, Mega Drive |
HES | NEC TurboGrafx-16, PC Engine |
KSS | MSX Home Computer, other Z80 systems (doesn't support FM sound) |
NSF, NSFE | Nintendo NES, Famicom (with VRC 6, Namco 106, and FME-7 sound) |
SAP | Atari systems using POKEY sound chip |
SPC | Super Nintendo, Super Famicom |
VGM, VGZ | Sega Master System, Mark III, Sega Genesis, Mega Drive, BBC Micro |
Also check out Famicompo mini.
Usage
The simplest way to see it in action is:
cd gme-player.js make # drop some game music files: .nsf, .nsfe, .spc, .vgm, etc # add them to the list in index.html python3 -m http.server
And then navigate to http://localhost:8000/.
gme-player.js is fully client-side, that's why you need to add files that are available server-side to index.html.
Hacking
recipe.sh has some tips on how to build Game Music Emu with Emscripten.
License
MIT.
Game Music Emu (and the bundled libgme* files) is LGPL.
TODO
Upgrade bundled libgme. 0.6.2 broke many NSFe files, fixed in master, let's wait for 0.6.3 then.
Support compressed formats (-DLIBTYPE=STATIC?).