This fork of ShairPort-Sync adds three new audio output devices and is aiming at Raspberry Pi as the target platform.
- hue
- OpenGL|ES 2
- I2C for my LED strip HAT TinyLEDStripPWM
- Bluetooth SPP for my IR and Bluetooth LED strip controler TinyLEDStripPWM
Actually those devices do not output any audio but are supporting the ambient created by music.
Required:
- OpenSSL
- FFTW 3
- curl
- libpng
- jpeglib
- libbluetooth
Debian/Raspbian users can get the basics with
sudo apt install git autoconf libssl-dev libavahi-client-dev libasound2-dev libcurl4-openssl-dev libfftw3-dev libdaemon-dev libpopt-dev libconfig-dev libsoxr-dev libjpeg9-dev libbluetooth-dev
Since the OpenGL|ES 2 code is bound to the VideoCore IV of the Raspberry Pi you may want to opt out this part from the configure script.
You must be running avahi-daemon or Howl.
Debian/Raspbian users can get the basics with
apt-get install avahi-daemon
You may want to have the IPv6 kernel module loaded. This improves the reachability in some (all?) networks. Without it I had to wait a timeout of 2 minutes until iTunes was able to connect with shairport-sync.
Just add the line
ipv6
into /etc/modules
.
autoreconf -i -f
./configure CFLAGS='-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' LDFLAGS='-L/opt/vc/lib' --with-gl --with-hue --with-i2c --with-spp --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd
make
./shairport-sync -a 'My Shairport Name'
The triangle-in-rectangle AirPlay logo will appear in the iTunes status bar of any machine on the network, or on iPod/iPhone play controls screen. Choose your access point name to start streaming to the ShairPort-Sync instance.
For a list of available backends and their options, run shairport-sync -h
.
To have your hue lights go with the music you will need to provide some information to ShairPort-Sync.
- IP address of the hue Bridge (Ask your router to get the IP address)
- An App name that is registered on the hue Bridge (this is more tricky - you will find a description on the hue developer site)
- Lights that are going to be controlled (The number of the lamp as it is shown in your hue App)
shairport-sync -o hue -- -b 192.168.0.56 -i newdeveloper -l 1,6,2,5,3,7,4,8
The OpenGL|ES 2 visualizer does not take any parameters yet.
shairport-sync --metadata-pipename=/tmp/shairport-sync-metadata --get-coverart -o gl
This is very special as it requires you to create your own driver board for analogue 12V LED stripes.
More details can be found on my TinyLEDStripPWM project page.
shairport-sync -o i2c -- -d /dev/i2c-1 -a 0x3f
This is very special as it requires you to create your own driver board for analogue 12V LED stripes.
More details can be found on my MegaLEDController project page.
shairport-sync -o spp -- -d 01:23:45:67:89:ab