From 8020a54b1323c59d67ec7bd9a9cc9b2a2e4a11f3 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 15 Apr 2016 19:33:03 +0100 Subject: [PATCH 01/11] Update RELEASENOTES.md --- RELEASENOTES.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index da8eb4d8..6d87168f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,9 @@ +Version 2.8.2 – Stable Version +---- +Version 2.8.2 is derived from development version 2.9.5.7 and has stability improvements, bug fixes and a few special-purpose enhancements. + +For full details, please refer to the release notes here, back as far as 2.8.1. + Version 2.9.5.7 – Development Version ---- Version 2.9.5.7 contains general bug fixes and enhancements for some special situations. From 6ca90bf47762cd7e9410f084489cffac81323cd3 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 15 Apr 2016 19:33:45 +0100 Subject: [PATCH 02/11] Update configure.ac --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 6ec1da64..3bf6e80d 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.50]) -AC_INIT([shairport-sync], [2.9.5.7], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [2.8.2], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 5a6d91b8cd262226505b70c83b6a5a5471e196ca Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 15 Apr 2016 19:36:06 +0100 Subject: [PATCH 03/11] Update shairport-sync.spec --- shairport-sync.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/shairport-sync.spec b/shairport-sync.spec index d376d136..23c10d8e 100644 --- a/shairport-sync.spec +++ b/shairport-sync.spec @@ -1,5 +1,5 @@ Name: shairport-sync -Version: 2.8.1 +Version: 2.8.2 Release: 1%{?dist} Summary: AirTunes emulator. Shairport Sync adds multi-room capability with Audio Synchronisation @@ -56,6 +56,8 @@ getent passwd %{name} &> /dev/null || useradd --system -c "%{name} User" \ %doc AUTHORS LICENSES README.md %changelog +* Fri Apr 15 2016 Mike Brady 2.8.2 +- Stability improvements, bug fixes and a few special-purpose settings 2.8.2 * Wed Mar 02 2016 Mike Brady 2.8.1 - Stability improvements and important bug fixes 2.8.1 * Sat Jan 30 2016 Mike Brady 2.8.0 From 8d5f04bf99b399c9554bb4a72bcb6677781644e8 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 15 Apr 2016 19:39:31 +0100 Subject: [PATCH 04/11] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 92998d65..9b7bd1dd 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,6 @@ Download Shairport Sync: Next, `cd` into the shairport-sync directory and execute the following command: ``` -$ git checkout development $ autoreconf -i -f ``` (Note that the `autoreconf...` step may take some time on less powerful machines.) From 7d43e0ec01d625f1c69c68ffd2c881fd9a325f75 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 15 Apr 2016 19:44:14 +0100 Subject: [PATCH 05/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b7bd1dd..193f59b0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Audio played by a Shairport Sync-powered device stays synchronised with the sour Shairport Sync does not support AirPlay video or photo streaming. -This is the unstable "development" branch. Changes and updates are incorporated into this branch quickly. To access the stable version, where changes are made after due time, please switch to the "master" branch. +This is the stable "master" branch. Changes and updates are incorporated into this branch relatively slowly. To access the development version, where all the latest changes are made first, please switch to the "development" branch. More Information ---------- From b64c0f5c5ca0da82fcacd59b9f74b842b2309edf Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 15 Apr 2016 19:47:45 +0100 Subject: [PATCH 06/11] Update README.md --- README.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 193f59b0..f2066ae8 100644 --- a/README.md +++ b/README.md @@ -49,11 +49,42 @@ For information about changes and updates, please refer to the RELEASENOTES.md f Note: Historically, Shairport Sync has taken its settings from command line arguments. While this is still the case, it does not always work well across distributions. Accordingly, from version 2.4 onwards, Shairport Sync reads settings from the file `/etc/shairport-sync.conf`. Access to new features will only be provided via the settings file. -Building And Installing the Development Version +Building And Installing --------------------- +If you wish to install Shairport Sync on OpenWrt, Arch or Fedora platforms, please follow the appropriate instructions below. Limited support is also available for Mac OS X. Otherwise follow the General Build Instructions. Then, when the program has been installed, refer to the section on Configuring Shairport Sync that follows. + +**Note** + The following procedures will install the shairport-sync application into your system. Before continuing, you should check to see if shairport-sync is already installed – you can use `which shairport-sync` to find where it is located, if installed. If it is installed you should delete it – you may need superuser privileges. After deleting, check again in case further copies are installed elsewhere. (If the existing installation of shairport-sync is where the new copy will be installed into, it will be overwritten; sometimes, however, the installation is to another location, so it is safer, initially, to delete previous versions manually.) +**Ubuntu:** +Personal Package Archives for Shairport Sync master and development branches are available at https://launchpad.net/~dantheperson. A `shairport-sync` installer package is available in Ubuntu 16.04, currently in its late beta phase. + +**Debian:** +`shairport-sync` is in the Debian archive and is scheduled for release with Debian Stretch (9): https://tracker.debian.org/shairport-sync. A backport for Debian Jessie (8) may be provided given enough demand. + +**OpenWrt:** +There is a Shairport Sync package in OpenWrt `trunk`. Also, there's an OpenWrt package at https://github.com/mikebrady/shairport-sync-for-openwrt, including one that builds back to `Barrier Breaker`. + +**Arch Linux:** +Shairport Sync is available for `x86_64` and `i686` platforms in the Arch Linux Community Repository -- search for `shairport-sync`. See also https://www.archlinux.org/packages/. + +An Arch Linux installation package, suitable for compilation on any platform, is available at [EliaCereda/shairport-sync-PKGBUILD](https://github.com/EliaCereda/shairport-sync-PKGBUILD). + +**Mac OS X:** +A [HomeBrew](http://brew.sh) package exists for Shairport Sync. With HomeBrew installed, Shairport Sync can be installed using the command `$brew install shairport-sync`. Note that the installation uses the `libao` library and so synchronisation is not available — playback glitches will occur occasionally, when the `ao` system's buffers overflow or underflow. + +**Fedora:** +Please see the guide at [FEDORA.md](https://github.com/mikebrady/shairport-sync/blob/master/FEDORA.md). + +**Cygwin:** +Please see the guide at [CYGWIN.md](https://github.com/mikebrady/shairport-sync/blob/master/CYGWIN.md). + +Sincere thanks to all package contributors! + +**General Build Instructions** + To build Shairport Sync from sources on Debian, Ubuntu, Raspbian, etc. follow these instructions. The following libraries are required: From 6a91cfd257b85d140d0f1b9b05a1ea205ec4dd21 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 18 Apr 2016 17:29:19 +0100 Subject: [PATCH 07/11] Update TROUBLESHOOTING.md --- TROUBLESHOOTING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 2fa01892..6a49f0a7 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -22,6 +22,16 @@ iw dev wlan0 set power_save off There are some more details in some the closed issues on this repository. +### Can't play from iTunes on Windows + +**Problem** + +You can play from other devices but not from your Windows PC. + +**Possible Solution** + +Allow network discovery. This setting creates a private type network and enables Windows to access the ports and protocols necessary to use Shairport Sync. + ### UFW firewall blocking connections on Raspbian (Raspberry Pi) **Problem** From 56fc451dd4d1b1078cea34d95710f57089b39463 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Tue, 19 Apr 2016 11:21:00 +0100 Subject: [PATCH 08/11] Create UPDATING.md --- UPDATING.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 UPDATING.md diff --git a/UPDATING.md b/UPDATING.md new file mode 100644 index 00000000..1cf40049 --- /dev/null +++ b/UPDATING.md @@ -0,0 +1,52 @@ + +### Updating Shairport Sync +This guide is for updating an installation of Shairport Sync you built yourself. If you installed Shairport Sync from a package, these instructions don't apply. + +To do an update, you basically have to go through the whole process of building Shairport Sync again, +but a few steps are shorter because you've done them before; you won't have to reinstall the build tools or libraries needed, and you won't have to define the user and group or reconfigure the settings in the configuration file. + +But before you begin, you should update and upgrade any packages. + +Here is the sequence for Raspbian Jessie, which is based on Debian Jessie. The same commands work for Ubuntu, and maybe more. Here, a non-`root` user with `sudo` privileges is assumed. + +``` +$sudo apt-get update +$sudo apt-get upgrade +``` +Next, stop playing music to your device. + +Now, to update and install Shairport Sync, if you still have the directory in which you previously built Shairport Sync, navigate your way to it and execute the command: +``` +$git pull +``` +Otherwise, just pull Shairport Sync from `github` again and move into the new directory: +``` +$git clone https://github.com/mikebrady/shairport-sync.git +$cd shairport-sync +``` +Now, while in the `shairport-sync` directory, perform the following commands (note that there is a choice you must make in there): +``` +$autoreconf -fi + +#The following is the standard configuration for a Linux that uses the systemd initialisation system: +$./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd +#OR +#The following is the standard configuration for a Linux that uses the older System V initialisation system: +$./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemv + +$make +$sudo make install +``` +At this point you have downloaded, compiled and installed the updated Shairport Sync. However, the older version is still running. So, you need to do a little more: + +If you are on a `systemd`-based system such as Raspbian Jessie or recent versions of Ubuntu and Debian, execute the following commands: +``` +$sudo systemctl daemon-reload +$sudo systemctl restart shairport-sync +``` +Otherwise execute the following command: +``` +$sudo service shairport-sync restart +``` + +That's it. Your Shairport Sync should be upgraded now. From ed4ec933e7a2000407f71718215c8181f1fb9379 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Tue, 19 Apr 2016 11:24:52 +0100 Subject: [PATCH 09/11] Update TROUBLESHOOTING.md Add info about Pi 3's WiFi --- TROUBLESHOOTING.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 6a49f0a7..45ea8fe7 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -19,6 +19,11 @@ This can be caused by lots of things, but one of them is that the WiFi adapter m ``` iw dev wlan0 set power_save off ``` +Here is the command sequence for a Raspberry Pi 3, which has built-in WiFi: + +``` +sudo iwconfig wlan0 power off +``` There are some more details in some the closed issues on this repository. From 223fba3818130fea81910fb395cedfbafc061c2f Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 24 Apr 2016 10:15:25 +0100 Subject: [PATCH 10/11] Fix bug caused by regtype not being initialised under some circumetances. --- configure.ac | 2 +- shairport.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 3bf6e80d..fe28922e 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.50]) -AC_INIT([shairport-sync], [2.8.2], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [2.8.3], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) diff --git a/shairport.c b/shairport.c index 931c270b..7b492dab 100644 --- a/shairport.c +++ b/shairport.c @@ -414,8 +414,6 @@ int parse_options(int argc, char **argv) { /* Get the regtype -- the service type and protocol, separated by a dot. Default is "_raop._tcp" */ if (config_lookup_string(config.cfg, "general.regtype", &str)) config.regtype = strdup(str); - else - config.regtype = strdup("_raop._tcp"); /* Get the volume range, in dB, that should be used If not set, it means you just use the range set by the mixer. */ @@ -575,6 +573,9 @@ int parse_options(int argc, char **argv) { config.metadata_pipename=strdup("/tmp/shairport-sync-metadata"); #endif +/* if the regtype hasn't been set, do it now */ + if (config.regtype==NULL) + config.regtype = strdup("_raop._tcp"); if (tdebuglev!=0) debuglev = tdebuglev; From 18236516f9f764a0ce2b8fe8895783c8435a343a Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sun, 24 Apr 2016 11:19:53 +0200 Subject: [PATCH 11/11] Update RELEASENOTES.md --- RELEASENOTES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 6d87168f..26de412e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,7 @@ +Version 2.8.3 – Stable Version +---- +A bug in 2.8.2 caused Avahi to fail at startup under some circumstances with older installations. The problem was that sometimes the `regtype` setting would not be initialised properly. + Version 2.8.2 – Stable Version ---- Version 2.8.2 is derived from development version 2.9.5.7 and has stability improvements, bug fixes and a few special-purpose enhancements.