RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Arcade Ambience MP3

    Scheduled Pinned Locked Moved Ideas and Development
    mp3ambientbackgroundmusic
    23 Posts 14 Posters 13.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • synackS
      synack @backstander
      last edited by synack

      It looks like @Livewire put some thought into his setup, definitely worth checking out.

      However, I'm probably going to stick with what I know. Using the runcommand-onend.sh script mentioned earlier in the thread, another quick and easy method for BGM would be the following (and doesn't require checking for various processes every couple of seconds)

      1. edit /etc/rc.local and insert the following before the "exit 0" line
      (sleep 10; sudo -u pi mpg123 -Z /home/pi/bgm/*.mp3 >/dev/null 2>&1) &
      

      change the sleep time as needed before music starts playing
      2) edit/create /opt/retropie/configs/all/runcommand-onstart.sh and add the following

      pkill -STOP mpg123
      
      1. edit/create /opt/retropie/configs/all/runcommand-onend.sh and add the following
      pkill -CONT mpg123
      
      1. make sure both scripts are executable
      chmod a+x /opt/retropie/configs/all/runcommand-onstart.sh
      chmod a+x /opt/retropie/configs/all/runcommand-onend.sh
      

      If you wanted to play music based on the system you're exiting, instead of adding the command above to runcommand-onend.sh, you can add a check like the following and then play mp3s from the desired directory

      if [[ $1 == *mame* ]]; then
        pkill mpg123
        mpg123 -Z /path/to/mame/mp3s/*.mp3 >/dev/null 2>&1 &
      else
        pkill -CONT mpg123
      fi
      
      1 Reply Last reply Reply Quote 2
      • D
        df13 @synack
        last edited by

        @synack I like your script a lot since it's just an mp3 player in the background. However, I had an idea.
        Although ES doesn't detect what menu you're on, the theme should detect it right? If so, would it be possible to alter the .xml of the theme and tell it to play a certain folder of bg music?

        I know very little about programming so I could be way off, but it's just an idea.
        Thanks for the script by the way!

        synackS 1 Reply Last reply Reply Quote 1
        • synackS
          synack @df13
          last edited by

          @df13 Unfortunately no, it doesn't work like that since the music playing is completely external. If ES accessed the individual XML files every time a new system was selected it would be possible using the 'last accessed time' of the files, but ES loads all of the files upon startup.

          D 1 Reply Last reply Reply Quote 0
          • K
            kcsims
            last edited by

            when running arcade games using pifba emulator, the music doesn't stop playing...any fix?

            1 Reply Last reply Reply Quote 0
            • D
              deadeye @synack
              last edited by

              @synack This is actually a really great and simple solution... But I'm not sure if I'm going crazy or not, but it doesn't seem to kill mpg123 if I boot up Kodi. Not sure why that would be.

              synackS 1 Reply Last reply Reply Quote 0
              • synackS
                synack @deadeye
                last edited by

                @deadeye I don't know either. Is it only with Kodi? I also use it and have confirmed it works on my side.

                Make sure you're using the latest version of the runcommand script and ensure /opt/retropie/configs/all/runcommand-onstart.sh contains pkill -STOP mpg123

                D 2 Replies Last reply Reply Quote 1
                • D
                  deadeye @synack
                  last edited by

                  @synack thanks - yeah, it works for everything else. I tried both iterations you posted. The first didn't kill when loading up n64/kodi, the latter just kodi. I'll try updating and see if that changes anything. I'll post back to confirm. Cheers.

                  K 1 Reply Last reply Reply Quote 0
                  • D
                    deadeye @synack
                    last edited by

                    @synack Ah, figured it out. It's only an issue if KODI is launched as an emulator. If I launch it through the Ports, it kills the music.

                    1 Reply Last reply Reply Quote 0
                    • K
                      kcsims @deadeye
                      last edited by

                      @deadeye mine does not stop the music with certain arcade emulators. Is there a setting I'm missing?

                      1 Reply Last reply Reply Quote 0
                      • fnkngrvF
                        fnkngrv
                        last edited by

                        @synack I see there is a command on that other gent's thread for setting the volume level:

                        mixer.music.set_volume(70)

                        It is in the post that @backstander made about the .py script.

                        Would you happen to know how to integrate that command or one like it into your setup? The fact that the music is so loud is kind of a bummer and of course it does play over the game snap music which kind of sucks too.

                        Thanks in advance if you have any ideas!

                        1 Reply Last reply Reply Quote 0
                        • W
                          westleigh77 @synack
                          last edited by

                          @synack If you have a solution that would be amazing!

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          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.