multimediamike / SaltyGME

Chiptune (video game music) player for Google Chrome's Native Client
20 stars 1 forks source link

Introduction

SaltyGME is a chiptune player for Google Chrome's Native Client (NaCl).

SaltyGME started as a Native Client frontend for the Game Music Emu library. The player was then expanded to include multiple multiple chiptune player backends.

The NaCl player is available as a Chrome browser extension in the Chrome Web Store. It works under Windows, Mac OS X, and Linux. Visit the Game Music Appreciation website for a searchable database of video game music.

Note that SaltyGME should be considered deprecated. Visit the cirrusretro-players repository (and associated website) for a chiptune playback solution that leverages pure JavaScript and thus enjoys broader browser support.

Development

Set up the Native Client development environment per the instructions at Google's website for NaCl development. Presently, the player supports version 29 of the Pepper API.

After installing the NaCl development environment, build the player with:

NACL_SDK_ROOT=/path/to/nacl_sdk/pepper_29 make

There is also a testbench command line program that uses the same infrastructure as the NaCl module, but is easier to debug between Linux, printf and gdb. The program currently only runs on Linux because it outputs audio using Linux's PulseAudio API. To compile this program:

make -f Makefile.linux-pulse

This will create the executable 'pulse-testbench'.

Credits

Mike Melanson (mike -at- multimedia.cx) wrote the SaltyGME player.

Shay Green (gblargg -at- gmail.com) authored Game Music Emu.

Audio Overload SDK by R. Belmont and Richard Bannister.

Vio2sf written by ???

XZ Embedded by Lasse Collin