-Shairport Sync (Development Branch)
+Shairport Sync
=============
Shairport Sync emulates an AirPort Express for the purpose of streaming audio from iTunes, iPods, iPhones, iPads and AppleTVs.
Audio played by a Shairport Sync-powered device stays synchronised with the source and hence with similar devices playing the same source. In this way, synchronised multi-room audio is possible without difficulty. (Hence the name Shairport Sync, BTW.)
Shairport Sync does not support AirPlay video or photo streaming.
-This branch — "development" — is unstable. To access the stable branch, please switch to the "master" branch.
+This branch -- "master" -- is the stable branch of Shairport Sync. To access the development version, please switch to the "development" branch.
More Information
----------
At the time of writing, OpenWrt trunk does not support USB audio well on the Raspberry Pi.
-Shairport Sync runs on Ubuntu, OpenWrt, Debian, Arch Linux and Fedora inside VMWare Fusion 7 on a Mac, but synchronisation in inaccurate — possibly because the soundcard is being emulated.
+Shairport Sync runs on Ubuntu, OpenWrt, Debian, Arch Linux and Fedora inside VMWare Fusion on a Mac, but synchronisation in inaccurate — possibly because the soundcard is being emulated.
Shairport Sync will output to alsa cards, to standard output and to pipes using appropriate backends. You can try compiling additional backends in as you wish, but it definitely will not work properly with them. Maybe someday...
If you're interested in Shairport Sync for OpenWrt, there's an OpenWrt package at https://github.com/mikebrady/shairport-sync-for-openwrt. OpenWrt doesn't support the IQaudIO Pi-DAC.
**Arch Linux:**
-An Arch Linux installation package is available (thanks!) at [EliaCereda/shairport-sync-PKGBUILD](https://github.com/EliaCereda/shairport-sync-PKGBUILD).
+An Arch Linux installation package is available at [EliaCereda/shairport-sync-PKGBUILD](https://github.com/EliaCereda/shairport-sync-PKGBUILD).
**Fedora:**
Install the toolchain and pre-requisites, if necessary:
% sudo yum install make automake gcc gcc-c++ kernel-devel
% sudo yum install alsa-lib-devel autoconf automake avahi-devel libconfig-devel libdaemon-devel openssl-devel popt-devel soxr-devel
```
-Download the tarball from the "releases" tab on github or use `wget` and then use `rpmbuild`. This example is for version 2.3.13.1:
+Download the tarball from the "releases" tab on github or use `wget` and then use `rpmbuild`. This example is for version 2.4:
```
-% wget -O shairport-sync-2.3.13.1.tar.gz https://github.com/mikebrady/shairport-sync/archive/2.3.13.1.tar.gz
-% rpmbuild -ta shairport-sync-2.3.13.1.tar.gz
+% wget -O shairport-sync-2.4.tar.gz https://github.com/mikebrady/shairport-sync/archive/2.4.tar.gz
+% rpmbuild -ta shairport-sync-2.4.tar.gz
```
-The `-ta` means "build all from this tarball". (Thanks to https://github.com/p3ck for the script.)
+The `-ta` means "build all from this tarball".
-The RPM will be built in a directory and will have a pathname like, for example, `~/rpmbuild/RPMS/i686/shairport-sync-2.3.13.1-1.fc22.i686.rpm` You should then install it with (for this example):
+The RPM will be built in a directory and will have a pathname like, for example, `~/rpmbuild/RPMS/i686/shairport-sync-2.4-1.fc22.i686.rpm` You should then install it with (for this example):
```
-%sudo rpm -i ~/rpmbuild/RPMS/i686/shairport-sync-2.3.13.1-1.fc22.i686.rpm
+%sudo rpm -i ~/rpmbuild/RPMS/i686/shairport-sync-2.4-1.fc22.i686.rpm
```
You may have to manually create the directory `/var/shairport-sync` for the installation to succeed. Having edited the configuration file `/etc/shairport-sync.conf` as appropriate (see "Configuring Shairport Sync" below), enable and start the service with:
```
%sudo systemctl enable shairport-sync.service
%sudo systemctl start shairport-sync.service
```
-
+Sincere thanks to all package contributors!
**General Build Instructions**
Next, `cd` into the shairport-sync directory and execute the following commands:
```
-$ git checkout development #switch to the development branch of shairport-sync
$ autoreconf -i -f
```
*Man Page*
-You can view the man page here: http://htmlpreview.github.io/?https://github.com/mikebrady/shairport-sync/blob/development/man/shairport-sync.html
+You can view the man page here: http://htmlpreview.github.io/?https://github.com/mikebrady/shairport-sync/blob/master/man/shairport-sync.html
Configuring Shairport Sync
+Version 2.4
+----
+**Stable release**
+
+This stable release is the culmination of the 2.3.X sequence of development releases.
+
+**Change Summary**
+
+Changes from the previous stable version -- 2.2.5 -- are summarised here:
+ * Settings are now read from a configuration file. Command-line settings are supported but discouraged.
+ * Metadata is now supported -- it can be delivered to a unix pipe for processing by a helper application. See https://github.com/mikebrady/shairport-sync-metadata-reader for a sample metadata reader.
+ * Raw PCM audio can be delivered to standard output ("stdout") or to a unix pipe. The internal architecture has changed considerably to support this.
+ * Support for compilation on OpenWrt back to Attitude Adjustment.
+ * Version 2.4 uses the libconfig library.
+ * Runs on a wider range of platforms, including Arch Linux and Fedora.
+ * Bug fixes.
+
+Please note that building instructions have changed slightly from the previous version.
+Also, the `-t hardware/software` option has been deprecated in the alsa back end.
+
Version 2.3.13
----
**Note**
* We're getting ready to release the development branch as the new, stable, master branch at 2.4. If you're packaging Shairport Sync, you might prefer to wait a short while as we add a little polish before the release.
**Changes**
-* Harmonise version numbers on the release and on the shairport.spec file used in Fedora.
+* Harmonise version numbers on the release and on the `shairport.spec` file used in Fedora.
Version 2.3.12
----