Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More)
-
Integrated Music Player for RetroPie [IMP].
https://github.com/RapidEdwin08/imp
Based on every article you ever read about mpg123 scripts in RetroPie (No OGG Support).
Integrated Music Player [IMP] allows you to Select and Play [MP3/PLS/M3U] Files like a ROM.
Automates Playlists, Retains Last Track/Position, Next/Previous Track, Fade, INFINITE and LITE Mode.
[Recall Last Track/Position] NOT Retained at STARTUP in LITE Mode.
Retains Last Track/Position in LITE Mode @Poweroff if Properly Shutdown. (v2023.03 and Up)Before you get started:
- Recommend your Music File NAMEs do NOT contain Multiple Consecutive Spaces (Known Issue with mpg123).
- Recommend your Music File EXTENSIONS be either ALL lower-case or UPPER-CASE eg.
(.mp3 .MP3 .pls .PLS .m3u .M3U)
- Recommend [ParseGamelistOnly] set to OFF, 0therwise any/all Music files not in your [gamelist.xml] will not show in ES.
If you want to use [ParseGamelistOnly] ON with IMP, you will have to manually enter your Music Entries in [gamelist.xml].
0ptional User Gamelist file now included since v2023.03
IMP Music Folders [>= v2022.10]:
DEFAULT IMP Music Folder: [..retropiemenu/imp/music]
A Symbolic Link to [..roms/music] is Created Inside the Default IMP Music Folder [..retropiemenu/imp/music]
On Install the [..retropiemenu/music] Folder is Moved to [..retropiemenu/imp/music] If it Exists
On Uninstall the [../retropiemenu/imp/music] Folder is Moved to [..retropiemenu/music]INSTALLATION
cd ~ git clone --depth 1 https://github.com/RapidEdwin08/imp.git sudo chmod 755 ~/imp/imp_setup.sh cd ~/imp && ./imp_setup.sh && cd ~
INSTALL FLAGS Determines the RetroPieMenu [gamelist.xml] used @Install/Refresh
[STREAMS] IMP + [mpg123] + [Streams]
[MINIMAL] IMP + [mpg123]
[OFFLINE] IMP 0nly0PTIONAL USER GAMELIST 0ptional if you want to ADD your own Custom Music Folder/File Entries
IMP Will Append [imp-user-gamelist.xml] IF Found at Install and [gamelist.xml] Refresh Utility.
Simply Place [imp-user-gamelist.xml] in the Main IMP Setup Directory [~/imp/].
Example [imp-user-gamelist.xml.0FF] IncludedUPGRADING:
UNINSTALL [IMP] FIRST using the SETUP Script CURRENTLY INSTALLED
Then BACKUP or REMOVE the 0lder IMP Setup Folder/FilesTo BACKUP the 0lder ~/imp Directory {and ~/imp-setup.tar.gz}:
cd ~ #Change to Home Directory mv ~/imp ~/imp-0lder #Rename 0lder [IMP] Directory mv ~/imp-setup.tar.gz ~/imp-setup-0lder.tar.gz #Rename 0lder [IMP] tar.gz
To REMOVE the 0lder ~/imp Directory {and ~/imp-setup.tar.gz}:
cd ~ #Change to Home Directory rm ~/imp-setup.tar.gz rm ~/imp -R -f #ALWAYS PROCEED WITH CAUTION USING rm .. -R -f
0THER BGMs ALREADY INSTALLED:
[IMP] will attempt to Disable (NOT Remove) the following BGMs Indiscriminately upon Install:
Livewire, BGM Naprosnia, BGM Rydra, BGM OfficialPhilcomm, Generic mpg123 Scripts
[IMP] will attempt to Re-Enable them Upon Uninstall
It is still Recommended you Disable your Current BGM Scripts Before Installing [IMP] If you canVideo of Install and Features here:
-
I will monitor this topic, I have already installed some scripts, but not all of them pleased me. Thanks for trying to do your best.
I love the retropie, but I think with regard to BGM, something like what we have in Recalbox is missing.
-
@wmarcio Agreed, the lack of functionality was the motivation behind IMP. I did my best to add the features I personally wanted, as well as other functions mentioned in many other BGM discussions.
It sounds like you are a well seasoned user of BGM scripts for RetroPie. I encourage you, and others with BGM Script experience, to try IMP. It will Not disappoint.
Any issues found or suggestions from the Community are always encouraged and appreciated. -
I'm testing the script, on installation does it need to be run with sudo or pi user?
-
@wmarcio pi user. No need for sudo
-
What is the purpose of folders A-SIDE e B-SIDE, only to save MP3 files?
-
@wmarcio Those are your dedicated Default playlist folders. If Enabled, they will be played at Startup. Those BGM settings are also respected when selecting Start All Music. So if you have only B-Side 0n, then only B-Side songs will be included in the playlist when Starting All Music, and at Startup.
If no BGM is enabled, IMP will continue the song you left off, @position you left off, or if in LITE mode, continue with the last Playlist.
They are not needed as you can put MP3s anywhere in the music folder, but they are optional for always starting up with a dedicated soundtrack if you want. -
Wow!! I tested it and it works very well. Great job. @Folly look at that. It's great.
I installed the first option Default RetroPie / ES. Could you clarify the other options for RetroPie. For example, for a Pi4, is it better with option # 5 (Pro (Pi4 20200401) or with option # 1 Default RetroPie / ES.
Also, is there an option to have music when we choose systems, but not when we choose a game. When I choose a game, the video sound is played with the IMP track. It becomes cacophonous.
NEW EDIT: Major issue on my Pi4. I couldn't launch games anymore !!! When I uninstalled IMP, games worked again.
-
-
@dteam Those options are referring to the Image you are using, whether it's a Stock RetroPie image, or a custom pre-made image, the installer will try to accommodate based on your Image. I will be updating the OP with a Video soon that should help explain more.
Do you mean the Video Snaps? No IMP options there, but you can UI Settings -> Gamelist View Style from Automatic to Detailed instead to Not load Snap Videos?
Pi4 not launching games anymore: Can you elaborate? What Image are you using? What System not loading, all?
IMP does modify the es_systems.cfg, but if there was an issue there chances are ES would not have loaded at all.The Volume Fade at Game Setting might be your issue.
Are you getting just a black screen when attempting to load a ROM?
Try Turning OFF Volume Fade at Game Setting.I suspect 1 of 2 things might be happening:
-
The Volume fade is unable to locate the current Volume, and the script is just hanging.
-
The script that runs on game end does not wait for the Fade to complete (ends with &) and includes a Delay. The Result is if you try to start a ROM too quick after Ending a ROM and the Volume Fade has not completed yet, the x2 scripts could end up in a Tug of War of trying to Fade the Volume Up vs Down.
In short, if you start another ROM before the Music kicks back in, you may encounter this issue.
Wait for the music to continue playing before starting another ROM.
You should be able to CTRL-C out of it with a Keyboard in either of these cases.
I will address this in the next release, possibly even remove the Delay at Game End if not needed. I can't really remember why I added it in the first place, I think I read a post somewhere about it being needed. Feel free to weigh in on whether or not the Delay Playback at Game End Setting is even needed. -
-
@rapidedwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
Can you elaborate?
When I'm trying to load a game with any emulators, they doesn't load. Black sceen with no possibility to exit. Doesn't work with lr-fbneo and Drastic
My image is the official Retropie one. My theme is Cygnus-Blue-flames. It works well with that theme. The problem seems to be when games are loading
-
@rapidedwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
Try Turning OFF Volume Fade at Game Setting.
I'll try that
-
@dteam
Can you confirm your HW Pi4 2GB/4GB/8GB, and what version of RetroPie? Latest 4.7.1 or older?If Turning OFF Volume Fade at Game resolves, I think I know where the issue is.
Can you run these two commands and tell me which one works for you? (replace HDMI with whatever you are using eg. PCM):
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1 awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1
One of those commands should give you the current volume.
I'm guessing the 2nd command (the one with '/Left:/') will work for you. -
@rapidedwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
@dteam
Can you confirm your HW Pi4 2GB/4GB/8GB, and what version of RetroPie? Latest 4.7.1 or older?
If Turning OFF Volume Fade at Game resolves, I think I know where the issue is.
Can you run these two commands and tell me which one works for you? (replace HDMI with whatever you are using eg. PCM):
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1
One of those commands should give you the current volume.
I'm guessing the 2nd command (the one with '/Left:/') will work for you.It's a Pi 4GB. If I turn OFF "Volume Fade at Game " it resolve the issue. Thanks!
For your two command lines, do you want a test with "Volume Fade at Game " = On or Off?
NEW EDIT:
with "Volume Fade at Game " = "On" This is what I got.pi@retropie:~ $ awk -F"[][]" '/dB/ { print $2 }' <(amixer sget HDMI) | cut -d '% ' -f 1 amixer: Unable to find simple control 'HDMI',0 pi@retropie:~ $ awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget HDMI) | cut -d '%' -f 1 amixer: Unable to find simple control 'HDMI',0 pi@retropie:~ $ pi@retropie:~ $ awk -F"[][]" '/dB/ { print $2 }' <(amixer sget PCM) | cut -d '%' -f 1 amixer: Unable to find simple control 'PCM',0 pi@retropie:~ $ awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget PCM) | cut -d '%' -f 1 amixer: Unable to find simple control 'PCM',0
-
@dteam Does not matter. Just try both and let me know which one produces a # that is your System Volume.
If HDMI or PCM not working, check your Audio Settings in ES visually.
Thanks for confirming. -
I'm on the headphone connection. Is it PCM? It's a handheld build, that's why.
-
@dteam Try replacing HDMI with Headphone:
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1 awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1
-
First line = 88
Second line = nothingpi@retropie:~ $ awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1 88 pi@retropie:~ $ awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget Headphone) | cut -d '%' -f 1 pi@retropie:~ $
-
@dteam Thanks for confirming.
Does your volume respond to these commands, or error out?
One Lowers Volume, other Increases Volume:amixer -q -c 0 sset "Headphone" 1db- unmet no cap amixer -q -c 0 sset "Headphone" 1db+ unmet no cap
I have the same issue i think after changing my pi4 to Headphone for audio. Despite the mixer being identified as 'Headphone', those commands give me:
amixer: Unable to find simple control 'Headphone',0I will work on implementing a different method for Volume Fade.
This alternative method of setting Volume seems to work with Headphone:amixer --quiet set Headphone 0%
Thanks for testing, and for the input.
-
@dteam Major issue not launching games addressed in v2021.10b.
Other issues previously mentioned regarding not waiting for the Volume Fade to complete also addressed.
Feedback appreciated.Please Uninstall/Install from scratch as git was just updated.
Remove any 0ld ~/imp-setup.tar.gz Files and ~/imp Directories first.
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.