Reply To: Adding Music To RetroPie (A Work in Progress)

#116507

labelwhore
Participant

First, forgive me for treating this forum like a blog. However, I think this addition is worthy of a slight bend in normal forum etiquette. I’ll try to keep things tidy, at least. When this is simpler to install, and “fully baked”, I’ll make a wiki entry instead.

Copied from the request forum to keep the important stuff in one place.

*please forgive spelling errors, this website eats my letters when I post from home.

So a little update as to my progress…

So far, things on my end are going really well. I have a sort of install script that does some of the tedious work for you, like editing all of the emulators.cfg files that need it. I started testing the results of that last night. Out of the emulators I tested, all of the file modifications went flawlessly. Also, once the new emulator options generated by my script are chosen, the music fades in and out as it should when an emulator starts. I saw one emulator that possibly needs a work around, (which I have already done for advmame, with success) and I haven’t tested all of them yet. One each, per system that works with my mod, would meet my requirements.

Done(ish):
Playback script that plays startup sound, and starts music playback at boot time
Fade out and back in when an emulator is started
Playlist management from emulator menu via shell scripts (customizability oh yeah!)
Automated playlist and script creation (handy for large music collections)
Background music for infocom! (I love the bonus that came from doing no work)
Beautiful theme for pixel themeset (thank you google images!)
Handwritten gamelist with “gameart” for some of the scripts
complete gamelist xml with “gameart” and include in .zip
(Somewhat) scripted installation

To Do:
Improve Installation script – in progress
create themes for simple and carbon
add descriptions for themes other than pixel
testing
Wiki entry
Git this thing GitHub lol
testing
Module for RetroPie Setup menu
Possible integration into a new build of Emulation Station
(^^ Thank Zigurana for looking into that, not me.)
MORE TESTING!!!
oh yeah, bug fixing

Current Known issues:
1. MPC can control the volume of advmame (and most likely advmess, possibly other emulators). I believe this advmame (and advmess) may be using mpg (or a vaiation of it) for sound. After all, it’s extremely felxible and lightweight, so why not? Because of this I had to do two things, first, I had to run mpg on port 6700. (It might be better to recompile a new version of mpg that defaults to port 6700 for this. I have not looked into doing this.) The other piece of the workaround was that I had to bring the volume level back up to normal after the fadeout script ran when advmame started. So the new command line for advmame looks like this (workaround italicized):
runcommand > volume fadeout scrpit > normalize mpc volume > launch advmame > volume fadein script

2. This should be easy to fix, but I just discovered it in testing last night. Over time, if several games are launched and exited, volume will decrease. As a workaround, increase the volume from the radio section in ES, via my scripts. I simply need to fix either my start playback script or the fadeout script. I’m not sure yet which is the culprit.

3. This is very minor, as using my scripts naturally works around the problem. Vice has a conflict with mpg. MPG must be shut down when starting vice, or you may get no game sound. In my testing, music still played from mpg, vice made an sub-second audible glitch, then gameplay continued without game sound. Choose one of the fade options from the runcommand menu for normal opration with vice emulators.

I just so happen to have this week off work, and not much to fill it with. I’ll keep this thread updated with my progress, as I hit major milestones. I hope to automate the config file editing piece next so that all you have to do is tell my setup script where your music is located and it’ll do the rest.

I did the whole thing with shell scripts, which I’ve never written before in my life. Don’t laugh at the code, but feel free to tear it apart and make it better. 😛

http://www.th3rdwave.com/tracks/
^^ my other hobby