Announcement

Collapse
No announcement yet.

Picoreplayer / Shairport-sync

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Picoreplayer / Shairport-sync

    Hi all, would like to install a current Shairport-sync version on my picoreplayers so I can use Airplay 2. The current version of Shairport-sync is 3.3.7rc2, but it can only do Airplay 1. How should I proceed? Don't have a plan. Who can help?

    Thanks & greetings, Lemen

  • #2
    I don't use shairport-sync anymore so I haven't been following new development for a while.

    I'll see if I can easily build an updated extension for picoreplayer.

    Are you using the 32 or 64 bit version of picoreplayer?
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

    Comment


    • #3
      Hello Ralphy,

      thank you very much for your support. This is great! I use the 32 bit and also the 64 bit version because I have different Raspberrys. Basically the 64 bit version would help me. Greetings Lemen

      Comment


      • #4
        Hello Ralphy, thanks for the implementation. I followed your instructions, unfortunately not with the desired result. I still have Airplay 1 to choose from. At least that's what the selection under my iPhone tells me. With Airplay 1, I get a check mark when I select or when Airplay 1 is set. With Airplay 2, a small circle is displayed and I can connect other devices with Airplay 2 to a network. How can I check which version is currently running under Picoreplayer? Greetings Stefan

        Comment


        • #5
          I found a problem with the 4.1-5 extension and have removed it.

          Version 4.1.1 is now available from the Shairport-sync option in the Audio Tweaks section of the tweaks tab in the web admin, replacing the old 3.3.8 build.
          It's available for both 32 and 64bit installs of picoreplayer 8.x. There are several additional dependencies for 4.1.1 that will be downloaded during the install.

          To update; select No and let pcp uninstall and reboot, then select Yes and reboot again if prompted.

          You should now see a pCP-Airplay2 device listed.

          Again, If you want to change the name of the device, edit /usr/local/etc/shairport-sync.conf and restart shairport-sync.

          For configuration changes to "stick" between reboots you'll also need to add usr/local/etc/shairport-sync.conf to /opt/.filetool.lst and backup your config.
          Note that there is no slash at the beginning of the path in .filetool.lst it's not a typo.

          You can check the version of shairport-sync with the command;
          Code:
          /usr/local/sbin/shairport-sync -V
          
          4.1.1-AirPlay2-libdaemon-OpenSSL-tinysvcmdns-ALSA-stdout-pipe-soxr-metadata-sysconfdir:/usr/local/etc
          Ralphy

          1-Touch, 5-Classics, 3-Booms, 2-UE Radio
          Squeezebox client builds donations always appreciated.

          Comment


          • #6
            Hello Ralphy,

            first of all I have to apologize for my late feedback. I installed the new version according to your instructions, unfortunately Shairport-Sync still shows me Airplay 1 for selection. Only get the selection shown with a tick in the iPhone instead of a circle. Do you have another tip? Have once deleted everything completely and then reinstalled. Unfortunately without success.

            Greeting Lemen

            Comment


            • #7
              Interesting as the pCP-Airplay2 device is available via core audio on my mac, but all older airplay1 shairport instances are not.

              The missing 1 in the list is an airplay1 shairport instance from the old 3.3.8 shairport extension. But I can select that airplay1 device as well from the sound device chooser in macos.

              Code:
              /Applications/Squeezelite.app/Contents/MacOS/Squeezelite -l
              Output devices:
                0 - pCP-Airplay2 [Core Audio]
                2 - MacBook Pro Speakers [Core Audio]
              And squeezelite can open the device at higher sample rates.

              Code:
              [13:50:47.345346] _output_frames:153 track start sample rate: 88200 replay_gain: 0
              [13:50:47.356988] pa_stream_finished:254 stream finished
              [13:50:47.463662] _pa_open:359 opening device in PlayNice mode
              [13:50:47.469289] _pa_open:410 opened device 0 - pCP-Airplay2 [Core Audio] at 88200 latency 1046 ms
              I don't have a phone that supports airplay2 to test further.
              Ralphy

              1-Touch, 5-Classics, 3-Booms, 2-UE Radio
              Squeezebox client builds donations always appreciated.

              Comment


              • #8
                Shairport-sync works fine

                Just gave the new version of Shairport-Sync a test run, it works fine and stable! The instructions to rename the Airplay 2 Endpoint worked as well. Thank you very much for the update!

                2 ideas come to my mind:
                • Would it be possible to name the Shairport-Endpoints in the Picoreplayer Frontend (or alternatively have them named the same as the Squeezelite Endpoint)?
                • How about adding librespot functionality to Picoreplayer in the same way as you did for Shairport-Sync? This could be a workaround to the everlasting stability and reliability issues of the Spotty Spotify Connect implementation (random stops, stops before the end of the songs, skipping sometimes not working and so on..).

                Comment


                • #9
                  Just fired up a 2nd Picoreplayer with the latest Shairport-sync. Same symptoms - don’t have the radio buttons and thus can’t sync - what AirPlay 2 should do.

                  Comment


                  • #10
                    GitHub

                    Hi, I would like to look at code where shairplay-sync is installed, but i cannot find it on github. Can you share the link to the repo and file?

                    Comment


                    • #11
                      piCorePlayer a small player for the Raspberry Pi in RAM.
                      Homepage: https://www.picoreplayer.org

                      Please donate if you like the piCorePlayer

                      Comment


                      • #12
                        I mean where and how is shariplay-sync installed on piCorePlayer? Because for the Airplay 2 Version, shairport-sync needs more dependencies, different build options and a whole other program called NQPTP. So its more than just updating the package to 4.1.1. I wanted to figure out if thats maybe the problem why shairport-sync is not working as an AirPlay2 player (no multi-room sync).

                        Best regards
                        Hannes

                        Comment


                        • #13
                          Same problem here.
                          Everything seems installed, but not airplay 2 functionality.

                          Cheers
                          CSL


                          Sent from my iPhone using Tapatalk

                          Comment


                          • #14
                            Perhaps the feature you seek is not implemented in shairplay-sync's airplay2 support. Have you confirmed this with the author?

                            shairplay-sync reports Airplay2 support in the version string when it's enabled and one of my previous posts confirms that.

                            Here's the configure options used to build the version currently in the repository.

                            Code:
                            ./configure --with-airplay-2 --with-alsa --with-libdaemon --with-tinysvcmdns --with-ssl=openssl --with-soxr --with-stdout --with-pipe --with-metadata
                            Here's the list and versions of the support libraries used for the 4.1.1 build. Some are linked statically as nothing else in pcp uses them.

                            libsodium 1.0.17
                            libplist 2.0.1
                            libdaemon 0.14-7
                            libconfig 1.5
                            libpopt 1.16

                            Code:
                            $ ldd /usr/local/sbin/shairport-sync
                            	linux-vdso.so.1 (0x0000007fb975e000)
                            	libuuid.so.1 => /lib/libuuid.so.1 (0x0000007fb971a000)
                            	libswresample.so.3 => /usr/local/lib/libswresample.so.3 (0x0000007fb96f5000)
                            	libavformat.so.58 => /usr/local/lib/libavformat.so.58 (0x0000007fb94a5000)
                                    libavcodec.so.58 => /usr/local/lib/libavcodec.so.58 (0x0000007fb8237000)
                            	libavutil.so.56 => /usr/local/lib/libavutil.so.56 (0x0000007fb7f93000)
                            	libgcrypt.so.20 => /usr/local/lib/libgcrypt.so.20 (0x0000007fb7ec5000)
                            	libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x0000007fb7e92000)
                            	libasound.so.2 => /usr/local/lib/libasound.so.2 (0x0000007fb7dae000)
                            	libsoxr.so.0 => /usr/local/lib/libsoxr.so.0 (0x0000007fb7d3c000)
                            	libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x0000007fb7ca7000)
                            	libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x0000007fb7a40000)
                            	libpthread.so.0 => /lib/libpthread.so.0 (0x0000007fb7a12000)
                            	librt.so.1 => /lib/librt.so.1 (0x0000007fb79fa000)
                            	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0000007fb7869000)
                            	libm.so.6 => /lib/libm.so.6 (0x0000007fb77cf000)
                            	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x0000007fb77ad000)
                            	libc.so.6 => /lib/libc.so.6 (0x0000007fb7660000)
                            	/lib/ld-linux-aarch64.so.1 (0x0000007fb9731000)
                            	libdl.so.2 => /lib/libdl.so.2 (0x0000007fb764c000)
                            	libz.so.1 => /usr/lib/libz.so.1 (0x0000007fb7628000)
                            Here's the list of files included in the extension.
                            Code:
                            /usr/local/bin/shairport-sync-metadata-reader
                            /usr/local/etc/init.d/shairport-sync         
                            /usr/local/sbin/nqptp                        
                            /usr/local/sbin/shairport-sync                            
                            /usr/local/share/pcp-shairportsync                        
                            /usr/local/share/pcp-shairportsync/files                  
                            /usr/local/share/pcp-shairportsync/files/shairport-sync.conf
                            /usr/local/tce.installed                                    
                            /usr/local/tce.installed/pcp-shairportsync
                            If you'd like to investigate an incompatibility between the versions that would be great.
                            Last edited by ralphy; 2022-12-19, 12:25.
                            Ralphy

                            1-Touch, 5-Classics, 3-Booms, 2-UE Radio
                            Squeezebox client builds donations always appreciated.

                            Comment


                            • #15
                              Originally posted by ralphy
                              Perhaps the feature you seek is not implemented in shairplay-sync's airplay2 support. Have you confirmed this with the author?
                              Sync is implemented in shairport-sync, see https://github.com/mikebrady/shairpo...er/AIRPLAY2.md:

                              Code:
                              What Works
                              
                              AirPlay 2 audio for iOS, HomePod mini, AppleTV and Mac players.[LIST][*]Audio is synchronised with other AirPlay 2 devices.[/LIST]

                              Comment

                              Working...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎