Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More)
-
@buzzardbait said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
I can tell you that I deleted the imp folder in configs as well as the imp folder in home/pi.. Then attempted to re-install, and got the message that a current install existed.
One other thing I'm noticing on my new install, (and it could be user error). I have randomizer on, A-Side ON, and B-Side OFF.
Upon boot up, random music plays from A-Side. Great.
Unfortunately, IMP seems to select the single track left in the B-Side folder among the A-Side music. Is that supposed to happen with B-Side set to OFF while "randomizing" tracks, or is there a setting I am missing?Deleting the imp folder in configs was not needed, and probably caused your issues.
For the uninstall process, really you only need to:- replace /home/pi/imp with the latest version
- Run the Uninstall with the latest version
- Run the Install with the latest version
As stated in the ReadMe, the Randomizer will generate Playlist based on All the BGM/Music folders.
It does Not respect the BGM Settings.
Saying this out loud makes me think it should... I'm open to suggestions. -
@ExarKunIv said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
i have come across something very odd
Im using pegasus and well i get this
it is showing all the song in the main menuI recall seeing this when I was initially testing IMP, but I don't really use Pegasus, so I never pursued it...
All menu entries for IMP and Songs.mp3 were available in Pegasus-FE, but they were not Sorted like in ES.
They did appear to be in alphabetical/numerical order if I remember correctly?I would assume there's some kind of gamelist.xml or similar that can be tweaked to make it just as pretty as ES?
If there's a way to make IMP appear more organized in Pegasus-FE like in ES I'm open to incorporating it.Any input from avid Pegasus-FE users would be appreciated.
-
@RapidEdwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
Deleting the imp folder in configs was not needed, and probably caused your issues.
For the uninstall process, really you only need to:- replace /home/pi/imp with the latest version
- Run the Uninstall with the latest version
- Run the Install with the latest version
Thanks. Definitely user error! I keep backups of my game setup and careful notes on my install & settings, but I'm far from a Linux wizard or anything.. More a "careful tinkerer" who sometimes gets into trouble.
As stated in the ReadMe, the Randomizer will generate Playlist based on All the BGM/Music folders.
It does Not respect the BGM Settings.
Saying this out loud makes me think it should... I'm open to suggestions.I read the ReadMe again- Probably more user error here on my part, but hear me out. I have confused what Randomizer will do, and what Shuffle will do.. I did a little trial and error with settings again, and here's what I found out based on my use case:
I have a group of tracks in A-SIDE and another group in B-SIDE..
If I set:
A-SIDE on, B-SIDE off, Shuffle on, Randomizer off.. IMP plays tracks from A-SIDE, shuffled up differently. If I reboot- It will shuffle the tracks again differently. Great!If B-SIDE is on and A-SIDE off, Shuffle on, Randomizer off. IMP plays tracks from B-SIDE, shuffled up differently every time I reboot. Also just what I want it to do.
I think it would be great to have an option for IMP to pick a "side" randomly at reboot and play it.. (I would use Shuffle ON in conjunction with this feature to make it shuffle the tracks each time at startup). So it would give me a shuffled A-SIDE, or a shuffled B-SIDE, but NOT a mix of both.
RANDOMIZER as you currently have it is a great option that I wouldn't change.. If I set Randomizer ON it shuffles ALL of my tracks. Which sometimes I'll want to do! I would suggest renaming the option to avoid confusion. Maybe change it to "RANDOMIZE ALL TRACKS" or something like that, to make it a bit clearer?
And then SHUFFLE - I'd rename it to SHUFFLE CURRENT PLAYLIST..
I just think I got the two options confused.One other thing I have noticed.. When I use the Current Settings option, it does not display whether Shuffle is ON or OFF.
Thanks! You've done awesome work here.. It's been a great add for my arcade cab!
-
@buzzardbait Thanks for the input.
I'll definitely keep all that in mind and will consider relabeling Randomizer/Shuffle in the next release.The Shuffle Setting status is listed in Current Playlist, not in Current Settings.
-
@RapidEdwin08
i dont know if this will help any or not, since as you said you dont use Pegasus-FEhttps://github.com/Exarkuniv/RetroPie_BGM_Player
(i did not make it, i just got it working with the newer RP)this installed a menu in the RetroPie settings a little different so the menu item is a bash file i think. so it is only one thing in the list
I Know 0 when it comes to programming, i just know enough to get me in to trouble.
-
@ExarKunIv Thanks, I'm familiar.
That particular BGM script offers it's settings/0ptions via Dialogue bash script.
The reason Pegasus looks different/cleaner, is because you only have one menu entry for BGM in that caseIMP differs from that BGM script (and many others) because it allows you to see MP3s as ROMs, which in turn creates menu entries for each one.
Pegasus is seeing all those entries.
So even if I was to convert all IMP settings/0ptions into a Dialogue bash script, you'd still have Menu entries for all of the MP3s...For ES I was able to edit the gamelist.xml to make the menu entries look pretty and well organized.
I think the equivalent for Pegasus would be
metadata: -
@RapidEdwin08 i get that, not sure if it can be done, but can the music folder just sit in the roms dir,
that way the Pegasus does not see them, since using BGM script it does see the music folder at all since it sits in the roms dir.and yes Pegasus uses metadata, but there is no metadata for retropiemenu so im not sure if trying to make one will do much or not,
i have tried look at the metadata and im lost on that.
-
@ExarKunIv said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
@RapidEdwin08 i get that, not sure if it can be done, but can the music folder just sit in the roms dir,
that way the Pegasus does not see them, since using BGM script it does see the music folder at all since it sits in the roms dir.The Main Reason I put everything including the MP3s in the retropiemenu, is to separate them from your actual Games/ROMs in ES.
0therwise they will get grouped with AllGames/Favorites/LastPlayed.
In addition, I did not want to create a custom System (es_systems.cfg) just for Music, because there is no Theme for RP that has an Entry/Artwork for Music.Keeping all that in mind, using roms/music was initially my plan.
The Problem is ES did not like the symbolic link in retropiemenu to roms/music.
It would crash when trying to load up.So I ended up putting the actual Music Folder in retropiemenu, and putting the symbolic link in roms/music instead.
and yes Pegasus uses metadata, but there is no metadata for retropiemenu so im not sure if trying to make one will do much or not,
I'd say the metadata or collection idea is still worth a shot...
-
@ExarKunIv you unknowingly helped me discover an issue with IMP.
While looking around for gamelist options for PegasusFE, I realized I never added <folder> Tags for all the IMP Sub-directories in the retropiemenu gameslist.xml for ES.
If you were to set Parse Gamelists 0nly to 0N, ES may fail to load.Incorrect <game> Tag for Sub-directory:
<game>
<path>./imp</path>
<name>Music Player</name>
<desc>[IMP] Integrated Music Player.</desc>
<image>./icons/imp.png</image>
</game>Correct Tag for Sub-directory should be <folder>:
<folder>
<path>./imp</path>
<name>Music Player</name>
<desc>[IMP] Integrated Music Player.</desc>
<image>./icons/imp.png</image>
</folder>I'll address this in next release, but for now if you have this issue,
Here's a one-liner to Disable Parse Gamelists 0nly:sed -i 's/\"ParseGamelistOnly\"\ value=\"true\"/\"ParseGamelistOnly\"\ value=\"false\"/g' /opt/retropie/configs/all/emulationstation/es_settings.cfg
-
I have created a directory calledInternetRadio
and a directory calledPersonalMusic
in/home/pi/RetroPie/retropiemenu/imp/music
and I have moved the Internet radio station directories into my new folder and all my music into thePersonalMusic
folder.I have edited thesplashscreen\gamelist.xml
to reflect the appropriate paths for the new location of the Internet Radio stations. I've added new<game>
and<desc>
attributes for the Internet Radio and Personal Music folders, but none of these changes are reflected in ES after restarts, etc. and my graphics (which I created and put in the icons folder) are showing up...Is there somewhere else I should be editing files?Nevermind... I realized that I had copied this file from
~/.emulationstation/gamelists/retropie/gamelist.xml
into~\splashscreen
for whatever reason in the past and that I have been working on the wrong file this entire time, lmao! -
As I have been moving things around and adding Internet Radio station configs to my new Internet Radio directory, I have been swapping
<game></game>
attributes with<folder></folder>
where those entries are actual folders, and now I am thinking of how I can easily create the requisitexml
data for my actual music library to insert meta data and artwork for my music into thegamelist.xml
file so it all looks pretty in ES, lol!Too bad that you cannot utilize
<include></include>
attributes in XML files? That would make it a lot easier to add custom Internet Radio and Personal Music libraries into IMP and keep the original~/.emulationstation/gamelists/retropie/gamelist.xml
file mostly intact/original? -
@RapidEdwin08 said in Integrated Music Player for RetroPie [IMP] 2021.10 (Background Music for RetroPie and More):
you unknowingly helped me discover an issue with IMP.
While looking around for gamelist options for PegasusFE, I realized I never added <folder> Tags for all the IMP Sub-directories in the retropiemenu gameslist.xml for ES.
If you were to set Parse Gamelists 0nly to 0N, ES may fail to load.I can attest to this <folder> tags issue, lol! I've been playing around with ES and Pegasus trying to work out the best way to accommodate .m3u files and hiding the multi-disk/tape/carts from showing in gamelist.xml files and when I went to turned on "Parse gamelists" only trying to troubleshoot that issue, I broke ES! It took me some digging and --debugging to figure out what was going on, lol! All fixed now, I just went in and swapped out all the <game> tags to their appropriate <folder> tags accordingly...
-
@cdaters If you turn ParseGamelistsOnly ON, any/all Music files not in your gamelist.xml will not be visible in ES, unless you manually enter them or select them one-by-one to create the entry.
For multiple disc ROMs you could try to rename them a different extension like .CD1 .CD2 and update the .m3u accordingly.
This may work for some systems, like PSX, but may not work for others like SegaCD.
You'll have to try it out and see what works...Update coming soon with fixed Folder Tags, and a set ParseGamlistsOnly to OFF Utility in the Installer Menu.
Randomizer [ALL] will now pick a Random Track and make the sub-folder of that Track the current playlist. It will also respect the current BGM Settings.
Ranomizer [BGM] option solely for BGM will be added, it will exclude all other music, pick a Random Track from BGM, and make either BGM A/B the current playlist.
Adding a Shuffle Playlist at Boot option.
Currently IMP retains your shuffled playlist (like an iPod), which is nice to have, but not all the time. This will give you the 0ption to shuffle your current playlist at boot.@buzzardbait you might have thought it shuffled the songs at boot if you were using LITE Mode, as it does NOT retain the current track at boot (just the current playlist), so it would have just played the 1st song in the playlist, which may differ from the track last playing depending it's last creation.
EDIT: Actually having the BGM Flags re-creates the playlists at boot based on the content of the BGM Dirs, so this would have shuffled the playlist in that case.
This will be updated to retain parity with the Shuffle Playlist At Boot option.Also adding another streaming station.
Feel free to add any other recommendations or issues here. -
v2022.03 Released
Fixed incorrect <game> Tags for Sub-directories in [gamelist.xml]
Added [ParseGamelistOnly] OFF Option to [RP/ES] Utilites to Installer Menu
Updated mpg123 installer to include [v1.29.3]
Modified Music Randomizer and Added More Modes [ALL/BGM/PLS]
Added Shuffle Playlist at Startup Setting
Modified Pause mechanism of [run-onstart/end.sh] to improve continuing playback with Streams
Moved Internet Radio Stations to the Sub-directory [Streams]
Removed [.acc] Addresses from Streams Playlist creationAfter adjusting the Randomizer, the more I used the it, the more I liked it, so it became a whole thing...
Feel free to Report any issues here, and Thanks for the Feedback. -
Tested IMP on a clean install of latest RetroPie 4.8 on a Pi4.
Everything worked fine, but the Audio was Choppy when using the Music Over Game setting.
It looked like both mpg123 + RetroArch were using/0verworking ALSA.
I was able to resolve the choppiness by changing the Audio Driver in RetroArch from ALSA to SDL2.
-
@RapidEdwin08 Just wanted to say that I'm still using and loving IMP in my Retropie builds! Thanks again for creating this.
-
@mrmadcatz THANKS!
-
So I tried to install IMP using the standard install option and everything seemed to work well except the first line after confirming the install is.
ln: failed to create symbolic link '/home/pi/RetroPie/roms/music': Operation not permitted
When I start emulation station the music player is there and works. The music that came with the install all works perfectly. However any custom music I try to add does not work, if I put the mp3 files in /home/pi/RetroPie/retropiemenu/imp/music When I try to play the music none of it works. I checked /home/pi/RetroPie/roms but there was no music folder, I tried to make the folder and put the mp3 files in there but that didn't seem to do anything. Did I just miss something? Everything seemed to be pretty straight-forward to install so I don't know what I messed up.
-
@fadorka Thanks for the feedback.
Any more info about your build you can share?...Are you using External Storage for ROMs?
Maybe the roms directory is a symbolic link already?IMP uses the music DIR in imp/ as it's source.
Then it attempts to create a symbolic link to that imp/music DIR.
Sounds like that's where it failed.IMP won't recognize the music in /roms/music unless it's linked to the main /imp/music DIR.
Try making a sub-directory in imp/music/subDIR and putting .mp3 there.
Basically anywhere BUT the root /imp/music DIR.
Does it play then? (Restart ES after adding /subDIR/mp3s). -
@RapidEdwin08 Yes I am using a USB thumb drive to store my ROMs. If it already has a symbolic link I wouldn't know how to check if it does.
I don't think I tried to make a sub-directory, so I'll try that when I get home. (I'm away on a trip so I will be back to try in a few days.)
Also thank you for the response! I'm very new to working with RetroPie and ES so I am a bit in over my head!
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.