Background Music [Continued from Help/Support]
-
@ZingZonZot in the same file (
/opt/retropie/configs/all/autostart.sh
), make sure the following line comes before the mpg123 line.while pgrep omxplayer >/dev/null; do sleep 1; done
-
yeah that's what I figured but wanted to be sure, I would set the do sleep xxx correct?
-
@ZingZonZot You shouldn't need to change the sleep amount. That one-liner is checking every 1 second if the intro video is playing. As soon as it stops playing, it allows the next commands to be executed (the mp3 player and emulationstation)
-
ah ok, I'll get back to you if I have any problems with it when I install a custom boot screen since the music starts immediately as soon as the original ES splash screen starts up.
-
@ZingZonZot Yeah, the script was intended to start playing music as soon as the emulationstation screen comes up. If you want to delay that from happening, you can use the following line (replacing the other mpg123 command) in the autostart.sh file
(sleep 10; mpg123 -Z /home/pi/bgm/*.mp3 >/dev/null 2>&1) &
Here, you would adjust the sleep amount to the desired amount.
-
@synack, Alright, awesome I'll try it out thanks for the help man! I'm trying to get this done before Christmas making my brother a retropie box, and at the same time getting calls from clients to been busy lol.
Btw I start a game the music stops but in game audio is cut off.. 🤔
-
I'm new to the community so I'd first like to say thank you all for sharing your knowledge with us newbies. It definitely helps us a ton and I personally really appreciate it. Introductions aside, I just had a simple question before I go ahead with this process, will the music stop when ES goes to standby/sleep mode? I will have my Retropie on at all times. I read the entire thread and didn't see anything about standby. Thank you!
-
@smellslikekimchi I can confirm that, I just quit EMU station and the music stops as soon as it goes back to the CLI, but upon restarting EMU station it still plays.
-
@ZingZonZot thank you for the instant reply! So to be clear, it stopped when you shut down ES? I was actually referring to when you just let it sit for a while and it goes to sleep.
-
@smellslikekimchi the short answer is no, it will keep playing and since that dimming/sleep mode is not externally indicated.
-
@smellslikekimchi yes, it stopped when shutdown emulation station but like @synack said it doesn't when it's in sleep mode.
-
@synack @ZingZonZot aha, thank yall for this. I will hold off until I can figure out a way to have it stop on sleep. I'm new to this so it may take me a while. I'm curious, at cursory glance at Livewire's code do you think it would pause music during sleep?
-
@smellslikekimchi sorry, but no -- it would not stop.
-
@synack roger that. Thank you for your help
-
nevermind I solved my own game sound issue, @synack Thank you for your help I really appreciate it, man!
-
@synack good stuff man i was able to get this to work but i noticed whenever i try to go to retropie setup in the menu the screen goes black and i cant see anything but can hear the music still.....Did i do something wrong?
-
@synack nevermind i was ssh into the pi at the same time. thats why i was getting a blank screen. it would be awesome if there was a way to get different music when your in each system like recallbox
-
thank you very much for this wonderful method!
if I was to type "emulationstation" at the command-line can I get the player to start again or do I have to reboot to autostart the process?
Thanks,
-
@raspy+ You can either reboot or execute the autostart.sh script which will invoke the mp3 player as well as emulationstation.
/opt/retropie/configs/all/autostart.sh
-
thanks for your quick response! ... I did a little poking around on the internet and even read up on how to make a basic shell script since I am such a noob. I just end up modifying the existing (/usr/bin/emulationstation) script by adding your script before "clear" and after "reset" like so and I can launch "emulationstation" with the same results from command-line:
#!/bin/bash
if [[ $(id -u) -eq 0 ]]; then
echo "emulationstation should not be run as root. If you used 'sudo emulationstation' please run without sudo."
exit 1
fiif [[ "$(uname --machine)" != 86 ]]; then
if [[ -n "$(pidof X)" ]]; then
echo "X is running. Please shut down X in order to mitigate problems with losing keyboard input. For example, logout from LXDE."
exit 1
fi
fiwhile pgrep omxplayer >/dev/null; do sleep 1; done
mpg123 -Z /media/usb0/music/*.mp3 2>/media/usb0/music/playlist &clear
tput civis
"/opt/retropie/supplementary/emulationstation/emulationstation.sh" "$@"
resetpkill mpg123
EDIT: I forgot to mention that even though I can execute the "autostart.sh" script to achieve the same thing however I have Kodi booting first and I wanted to just launch emulationstation when I am at the command-line.
Thanks,
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.