From 925f89f9eca3a11d3193b11aafe104577be18ef0 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 21 May 2018 10:47:40 +0100 Subject: [PATCH 01/36] RC9 restores the correct calculation of the path for the PID file, where used. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index b545075b..93c2a2cb 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], [3.2RC8], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [3.2RC9], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 6ebc3169b9dc18281b7632d9e003906928801699 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 21 May 2018 18:00:20 +0100 Subject: [PATCH 02/36] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a841741a..89b53acf 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,8 @@ For information about changes and updates, please refer to the RELEASENOTES.md f Building And Installing --------------------- +See [here](https://github.com/mikebrady/shairport-sync/blob/master/INSTALL.md) for simple installation instructions for modern Linux systems like Rapsberry Pis. + Shairport Sync may already be available as a package in your Linux distribution (search for `shairport-sync` – the package named `shairport` is a different program). Packages are available on recent versions of Debian, Ubuntu, Arch, OpenWrt and possibly more: **Ubuntu:** A `shairport-sync` installer package is available for Ubuntu. Additionally, a Personal Package Archives for Shairport Sync master and development branches are available at https://launchpad.net/~dantheperson. From 745093f564024151cf7cc8fc20e1f2aee0cc2bad Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 21 May 2018 18:45:53 +0100 Subject: [PATCH 03/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 1efda16b..77e66bfc 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,6 +1,6 @@ Simple Installation Instructions == -Shairport Sync can be installed in lots of different Linux and Unix machines, and there are lots of variations to consider – see the [README.md](https://github.com/mikebrady/shairport-sync/blob/master/README.md) page for a fuller discussion. But here are really simple instructions for building and installing it on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. +Here are really simple instructions for building and installing Shairport Sync on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. ### Configure and Update Do the usual update and upgrade: From 572c813ae8f7cd4e38b5928a101efa6a019fb8fc Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 21 May 2018 19:51:58 +0100 Subject: [PATCH 04/36] Update RELEASENOTES.md --- RELEASENOTES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2118bced..7fd1a47f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,8 @@ +Version 3.2RC9 +==== +**Bug Fix** + +* Restore the correct pathname for the Shairport Sync PID file used in FreeBSD and System V Linux installations. Version 3.2RC8 ==== From 86aa989df49eba49fc1ecf30d81ee65233c32ae2 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Tue, 22 May 2018 23:08:30 +0100 Subject: [PATCH 05/36] Update TROUBLESHOOTING.md --- TROUBLESHOOTING.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index ce3397fb..262bca6b 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -36,6 +36,22 @@ wireless-power off ``` to the file `/etc/network/interfaces`. +Here is another option, suggested by [davidhq](https://github.com/davidhq) in [#653](https://github.com/mikebrady/shairport-sync/issues/653#issuecomment-391100620): + +``` +$ sudo nano /etc/network/if-up.d/off-power-manager +``` + +Type: +``` +#!/bin/sh +/sbin/iwconfig wlan0 power off +``` +Then: +``` +sudo chmod +x /etc/network/if-up.d/off-power-manager +``` + There are some more details in some the closed issues on this repository. ### Faulty WiFi From bf83334514e2c055c44515a4d158dd876e81a299 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Wed, 23 May 2018 17:08:06 +0100 Subject: [PATCH 06/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 77e66bfc..0c7d588a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -69,4 +69,4 @@ Finally, either reboot the Pi or start the `shairport-sync` service: ``` $ sudo systemctl start shairport-sync ``` -The Shairport Sync AirPlay service should now appear on the network with a service name make from the Pi's `hostname` with the first letter capitalised, e.g. hostname `raspberrypi` give a service name `Raspberrypi`. Connect to it and enjoy... +The Shairport Sync AirPlay service should now appear on the network with a service name made from the Pi's hostname with the first letter capitalised, e.g. hostname `raspberrypi` gives a service name `Raspberrypi`. Connect to it and enjoy... From 7d77176ba2c134f29e0caa882090f6a4710640d1 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Wed, 23 May 2018 17:10:23 +0100 Subject: [PATCH 07/36] Update INSTALL.md --- INSTALL.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 0c7d588a..eed3c27e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -23,10 +23,12 @@ Before you begin building Shairport Sync, it's best to search for and remove any ``` $ which shairport-sync /usr/local/bin/shairport-sync -$ sudo rm /usr/local/bin/shairport-sync -... ``` -You can see that the `which` command located a copy of `shairports-sync` in the direcotry `/usr/local/bin` and then we removed it with the `rm` command. Do this until no more copies of `shairport-sync` are found. +Remove it as follows: +``` +$ sudo rm /usr/local/bin/shairport-sync +``` +Do this until no more copies of `shairport-sync` are found. ### Build and Install Okay, now let's get the tools and sources for building and installing Shairport Sync. From 0914cf87131e988eb72a537a209d074c83c8e6d5 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sat, 26 May 2018 15:23:12 +0100 Subject: [PATCH 08/36] Rename "mute_using_playback_switch" to "use_hardware_mute_if_available" and make it control volume-based mute as well as playback-switch-based mute. Tidy up some debug messages. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 93c2a2cb..030bbd23 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], [3.2RC9], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [3.2RC10], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 9b533d40d128f2885b3a5607b38e2a0532a20170 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sat, 26 May 2018 15:26:21 +0100 Subject: [PATCH 09/36] Update RELEASENOTES.md --- RELEASENOTES.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 7fd1a47f..4487bfeb 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,10 @@ +Version 3.2RC10 +==== +**Compatibility Adjustment** + +* Disable the use of all hardware mute mechanisms by default, for compatibility with other applications using the same output card. +* Rename `\"mute_using_playback_switch\"` to `\"use_hardware_mute_if_available\"` and make it control volume-based mute as well as playback-switch-based mute. + Version 3.2RC9 ==== **Bug Fix** From bc8e51f94d34055b1638489fbb88f3ed994d3a14 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sat, 26 May 2018 15:27:11 +0100 Subject: [PATCH 10/36] Update RELEASENOTES.md --- RELEASENOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4487bfeb..85763fff 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -3,7 +3,7 @@ Version 3.2RC10 **Compatibility Adjustment** * Disable the use of all hardware mute mechanisms by default, for compatibility with other applications using the same output card. -* Rename `\"mute_using_playback_switch\"` to `\"use_hardware_mute_if_available\"` and make it control volume-based mute as well as playback-switch-based mute. +* Rename the `alsa` setting `mute_using_playback_switch` to `use_hardware_mute_if_available` and make it control volume-based mute as well as playback-switch-based mute. Version 3.2RC9 ==== From c46c05e5fbdc85f69f65bd50502dc10766e3b804 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 28 May 2018 16:42:17 +0100 Subject: [PATCH 11/36] Update CYGWIN.md --- CYGWIN.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CYGWIN.md b/CYGWIN.md index f483888e..a177ead5 100644 --- a/CYGWIN.md +++ b/CYGWIN.md @@ -27,6 +27,7 @@ and enter valid DNS server addresses, e.g. `8.8.8.8`. * Download, configure, compile and install `libconfig`: ``` $ git clone https://github.com/hyperrealm/libconfig.git +$ cd libconfig $ autoreconf -fi $ ./configure $ make From f88d9f43366fe7ea1eebe92ec2421dd6f3050e61 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 12:29:21 +0100 Subject: [PATCH 12/36] Update INSTALL.md --- INSTALL.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index eed3c27e..bb469d9d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -16,7 +16,15 @@ Check the file `/boot/config.txt` and, if it's not there already, add the follow ``` audio_pwm_mode=2 ``` -Reboot. + +### Turn Off WiFi Power Management +If you are using WiFi, you should turn off WiFi Power Management: +``` +# iwconfig wlan0 power off +``` +WiFi Power Management will put the WiFi system in low-power mode when the WiFi system considered active, and in this mode it may not respond to events initiated from the network, such as AirPlay requests. Hence, WiFi Power Management should be turned off. (See [TROUBLESHOOTING.md](https://github.com/mikebrady/shairport-sync/blob/master/TROUBLESHOOTING.md#wifi-adapter-running-in-power-saving--low-power-mode) for more details.) + +Reboot the Pi. ### Remove Old Copies Before you begin building Shairport Sync, it's best to search for and remove any existing copies of the applicatioon, called `shairport-sync`. Use the command `$ which shairport-sync` to find them. For example, if `shairport-sync` has been installed previously, this might happen: From d237723db1ae668d7afb9140ba4cf31bcb27d3fd Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 12:30:11 +0100 Subject: [PATCH 13/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index bb469d9d..06038d46 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -22,7 +22,7 @@ If you are using WiFi, you should turn off WiFi Power Management: ``` # iwconfig wlan0 power off ``` -WiFi Power Management will put the WiFi system in low-power mode when the WiFi system considered active, and in this mode it may not respond to events initiated from the network, such as AirPlay requests. Hence, WiFi Power Management should be turned off. (See [TROUBLESHOOTING.md](https://github.com/mikebrady/shairport-sync/blob/master/TROUBLESHOOTING.md#wifi-adapter-running-in-power-saving--low-power-mode) for more details.) +WiFi Power Management will put the WiFi system in low-power mode when the WiFi system considered inactive, and in this mode it may not respond to events initiated from the network, such as AirPlay requests. Hence, WiFi Power Management should be turned off. (See [TROUBLESHOOTING.md](https://github.com/mikebrady/shairport-sync/blob/master/TROUBLESHOOTING.md#wifi-adapter-running-in-power-saving--low-power-mode) for more details.) Reboot the Pi. From de4a1f560f323b0a85ef8ac4b054e4e79d964392 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 12:38:25 +0100 Subject: [PATCH 14/36] Update INSTALL.md --- INSTALL.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 06038d46..af7c618e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,6 +2,8 @@ Simple Installation Instructions == Here are really simple instructions for building and installing Shairport Sync on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. +In the commands below, note the convention that a `#` prompt means you are in superuser mode and a `$` prompt means you are in a regular non-priviliged user mode. You can use `sudo` *("SUperuser DO")* to temporarily promote yourself from user to superuser, if permitted. For example, if you want to execute `apt-get update` in superuser mode and you are in user mode, enter `sudo apt-get update`. + ### Configure and Update Do the usual update and upgrade: ``` @@ -34,7 +36,7 @@ $ which shairport-sync ``` Remove it as follows: ``` -$ sudo rm /usr/local/bin/shairport-sync +# rm /usr/local/bin/shairport-sync ``` Do this until no more copies of `shairport-sync` are found. @@ -73,10 +75,10 @@ alsa = ``` The next step is to enable Shairport Sync to start automatically on boot up: ``` -$ sudo systemctl enable shairport-sync +# systemctl enable shairport-sync ``` Finally, either reboot the Pi or start the `shairport-sync` service: ``` -$ sudo systemctl start shairport-sync +# systemctl start shairport-sync ``` The Shairport Sync AirPlay service should now appear on the network with a service name made from the Pi's hostname with the first letter capitalised, e.g. hostname `raspberrypi` gives a service name `Raspberrypi`. Connect to it and enjoy... From 536c4ccaae263bedeeef6d6b2998958059d6823c Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 12:40:24 +0100 Subject: [PATCH 15/36] Update INSTALL.md --- INSTALL.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index af7c618e..66c1c2ee 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -45,7 +45,8 @@ Okay, now let's get the tools and sources for building and installing Shairport First, install the packages needed by Shairport Sync: ``` -# apt-get install build-essential git xmltoman autoconf automake libtool libdaemon-dev libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev +# apt-get install build-essential git xmltoman autoconf automake libtool libdaemon-dev \ + libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev ``` Next, download Shairport Sync, configure it, compile and install it: ``` From c0c672d494bb2f14cce6696337fc8fd6c571feec Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:07:45 +0100 Subject: [PATCH 16/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 66c1c2ee..bf306002 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,6 +1,6 @@ Simple Installation Instructions == -Here are really simple instructions for building and installing Shairport Sync on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. +Here are really simple instructions for building and installing Shairport Sync on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. For a more thorough treatment, please go to the [README.md](https://github.com/mikebrady/shairport-sync/blob/master/README.md#building-and-installing) page. In the commands below, note the convention that a `#` prompt means you are in superuser mode and a `$` prompt means you are in a regular non-priviliged user mode. You can use `sudo` *("SUperuser DO")* to temporarily promote yourself from user to superuser, if permitted. For example, if you want to execute `apt-get update` in superuser mode and you are in user mode, enter `sudo apt-get update`. From 4b86ad38ea1c5bd752b2595aec5e5a786b86b4ff Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:10:22 +0100 Subject: [PATCH 17/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89b53acf..791120eb 100644 --- a/README.md +++ b/README.md @@ -202,7 +202,7 @@ If you wish to have Shairport Sync start automatically when your system boots, y There are a number of init systems in use: `systemd`, `upstart` and "System V" among others, and it's actually difficult to be certain which one your system is using. Fortunately, for Shairport Sync, all you have to do is figure out if it's a `systemd` init system or not. If it is not a `systemd` init system, you can assume that it is either a System V init system or else it is compatible with a System V init system. Recent systems tend to use `systemd`, whereas older systems use `upstart` or the earlier System V init system. -The easiest way to look at the first few lines of the `init` manual. Enter the command: +The easiest way is to look at the first few lines of the `init` manual. Enter the command: ``` $ man init From d5e305878840a8a7fcb17db2f3c140efcf68fcb6 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:18:49 +0100 Subject: [PATCH 18/36] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 791120eb..577a9cbc 100644 --- a/README.md +++ b/README.md @@ -306,7 +306,7 @@ If you are using PulseAudio in the standard "user" mode, you can not start Shair **(2) Settings:** To get the best from Shairport Sync, you’ll need to (a) give Shairport Sync a service name by which it will be seen in iTunes etc. and (b) specify the backend you wish to use - `alsa` for the ALSA backend, or `pa` for the PulseAudio back end. If only one backend is included at compilation, or if the backend is ALSA, there is no need to explicitly specify the backend. -For the ALSA backend you may need to (c) specify the output device to use and (d) specify the name of the mixer volume control to use to control the output level. To get values for (b) and (c) you might need to explore the ALSA output devices with a program like `alsamixer` or similar. +For the ALSA backend you may need to (c) specify the output device to use and (d) specify the name of the mixer volume control to use to control the output level. To get values for (c) and (d) you might need to explore the ALSA output devices with a program like `alsamixer` or similar. Shairport Sync reads settings from a configuration file at `/etc/shairport-sync.conf` (note that in FreeBSD it will be at `/usr/local/etc/shairport-sync.conf`). When you run `$sudo make install`, a sample configuration file is installed or updated at `/etc/shairport-sync.conf.sample` (`/usr/local/etc/shairport-sync.conf.sample` in FreeBSD). This contains all the setting groups and all the settings available, but they all are commented out (comments begin with `//`) so that default values are used. The file contains explanations of the settings, useful hints and suggestions. In addition, if the file doesn't already exist, a default configuration is installed, which should work in almost any system with a sound card. @@ -326,7 +326,7 @@ general = ``` output_backend = "pa"; ``` -to the `general` stanza. +to the `general` group. The `alsa` group is used to specify properties of the output device. The most obvious setting is the name of the output device which you can set using the `output_device` tag. @@ -350,7 +350,7 @@ Shairport Sync can run programs just before it starts to play an audio stream an Note that the full path to the programs must be specified, and script files will not be executed unless they are marked as executable and have the appropriate shebang `#!/bin/...` as the first line. (This behaviour may be different from other Shairports.) -Shairport Sync can run a program whenever the volume is set or changed. You specify them using the `general` group settings `run_this_when_volume_changes`. This is to facilitate situations where something has to be done when the volume changes, e.g. adjust an external mixer value. Set the `wait_for_completion` value to `"yes"` for Shairport Sync to wait until the command has been completed before continuing. Again, please note that the full path to the program must be specified, and script files will not be executed unless they are marked as executable and have the appropriate shebang `#!/bin/...` as the first line. +Shairport Sync can run a program whenever the volume is set or changed. You specify it using the `general` group setting `run_this_when_volume_changes`. This is to facilitate situations where something has to be done when the volume changes, e.g. adjust an external mixer value. Set the `wait_for_completion` value to `"yes"` for Shairport Sync to wait until the command has been completed before continuing. Again, please note that the full path to the program must be specified, and script files will not be executed unless they are marked as executable and have the appropriate shebang `#!/bin/...` as the first line. Note: Shairport Sync can take configuration settings from command line options. This is mainly for backward compatibility, but sometimes still useful. For normal use, it is strongly recommended that you use the configuration file method. From 3a57b68f6ca1f1af0cfe6d3607abf1d1277449e2 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:21:16 +0100 Subject: [PATCH 19/36] Update INSTALL.md --- INSTALL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index bf306002..f8750382 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,6 +1,6 @@ Simple Installation Instructions == -Here are really simple instructions for building and installing Shairport Sync on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. For a more thorough treatment, please go to the [README.md](https://github.com/mikebrady/shairport-sync/blob/master/README.md#building-and-installing) page. +Here are simple instructions for building and installing Shairport Sync on a Raspberry Pi B, 2B, 3B or 3B+. It is assumed that the Pi is running Raspbian Stretch Lite – a GUI isn't needed, since Shairport Sync runs as a daemon program. For a more thorough treatment, please go to the [README.md](https://github.com/mikebrady/shairport-sync/blob/master/README.md#building-and-installing) page. In the commands below, note the convention that a `#` prompt means you are in superuser mode and a `$` prompt means you are in a regular non-priviliged user mode. You can use `sudo` *("SUperuser DO")* to temporarily promote yourself from user to superuser, if permitted. For example, if you want to execute `apt-get update` in superuser mode and you are in user mode, enter `sudo apt-get update`. @@ -29,7 +29,7 @@ WiFi Power Management will put the WiFi system in low-power mode when the WiFi s Reboot the Pi. ### Remove Old Copies -Before you begin building Shairport Sync, it's best to search for and remove any existing copies of the applicatioon, called `shairport-sync`. Use the command `$ which shairport-sync` to find them. For example, if `shairport-sync` has been installed previously, this might happen: +Before you begin building Shairport Sync, it's best to search for and remove any existing copies of the application, called `shairport-sync`. Use the command `$ which shairport-sync` to find them. For example, if `shairport-sync` has been installed previously, this might happen: ``` $ which shairport-sync /usr/local/bin/shairport-sync From f3573f09fcaeb07c2b859bd614ac3563306352c8 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:23:20 +0100 Subject: [PATCH 20/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index f8750382..a80b71a3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -57,7 +57,7 @@ $ ./configure --sysconfdir=/etc --with-alsa --with-avahi --with-ssl=openssl --wi $ make $ sudo make install ``` - +By the way, the `autoconf` step may take quite a while on a Raspberry Pi -- be patient! Now to configure Shairport Sync. Here are the important options for the Shairport Sync configuration file at `/etc/shairport-sync.conf`: ``` // Sample Configuration File for Shairport Sync on a Raspberry Pi using the built-in audio DAC From 2a0538a9618b2f048f64328fd0154383038bfd00 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:23:41 +0100 Subject: [PATCH 21/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index a80b71a3..e3618ede 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -57,7 +57,7 @@ $ ./configure --sysconfdir=/etc --with-alsa --with-avahi --with-ssl=openssl --wi $ make $ sudo make install ``` -By the way, the `autoconf` step may take quite a while on a Raspberry Pi -- be patient! +By the way, the `autoreconf` step may take quite a while on a Raspberry Pi -- be patient! Now to configure Shairport Sync. Here are the important options for the Shairport Sync configuration file at `/etc/shairport-sync.conf`: ``` // Sample Configuration File for Shairport Sync on a Raspberry Pi using the built-in audio DAC From 3ead11de8fd3778227e9ad2a24a1df9a0315a25f Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:26:45 +0100 Subject: [PATCH 22/36] Update INSTALL.md --- INSTALL.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index e3618ede..861cefec 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -58,6 +58,7 @@ $ make $ sudo make install ``` By the way, the `autoreconf` step may take quite a while on a Raspberry Pi -- be patient! + Now to configure Shairport Sync. Here are the important options for the Shairport Sync configuration file at `/etc/shairport-sync.conf`: ``` // Sample Configuration File for Shairport Sync on a Raspberry Pi using the built-in audio DAC @@ -82,4 +83,6 @@ Finally, either reboot the Pi or start the `shairport-sync` service: ``` # systemctl start shairport-sync ``` -The Shairport Sync AirPlay service should now appear on the network with a service name made from the Pi's hostname with the first letter capitalised, e.g. hostname `raspberrypi` gives a service name `Raspberrypi`. Connect to it and enjoy... +The Shairport Sync AirPlay service should now appear on the network with a service name made from the Pi's hostname with the first letter capitalised, e.g. hostname `raspberrypi` gives a service name `Raspberrypi`. You can change the service name ins the configuration file. + +Connect and enjoy... From 721edc42a13e72176d68995d5d4dc78c711638cc Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Thu, 31 May 2018 17:27:16 +0100 Subject: [PATCH 23/36] Update INSTALL.md --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 861cefec..6cacd24c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -83,6 +83,6 @@ Finally, either reboot the Pi or start the `shairport-sync` service: ``` # systemctl start shairport-sync ``` -The Shairport Sync AirPlay service should now appear on the network with a service name made from the Pi's hostname with the first letter capitalised, e.g. hostname `raspberrypi` gives a service name `Raspberrypi`. You can change the service name ins the configuration file. +The Shairport Sync AirPlay service should now appear on the network with a service name made from the Pi's hostname with the first letter capitalised, e.g. hostname `raspberrypi` gives a service name `Raspberrypi`. You can change the service name and set a password in the configuration file. Connect and enjoy... From a3cf9232a6991776b47c45940daac147dc8c945f Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sat, 16 Jun 2018 08:20:32 +0100 Subject: [PATCH 24/36] Fix a bug causing a hangup when terminating a play session under rare circumstances. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 030bbd23..3dc43144 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], [3.2RC10], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [3.2RC11], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 611a2ccc7544162a64401d1c237c5f689f88dfd0 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sat, 16 Jun 2018 08:36:38 +0100 Subject: [PATCH 25/36] Update RELEASENOTES.md --- RELEASENOTES.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 85763fff..ba088209 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,10 @@ +Version 3.2RC11 +==== +**Bug Fixes** + +* Restore compatability with Synology AudioStation/5.2. Thanks to [Jörg Krause](https://github.com/joerg-krause) for identifying both the issue itself and the likely location of the fix needed. It's not clear if the problem lies with Shairport Sync or Synology – the fix was to ensure that an RTSP reply was sent in one `SEND` call, which shouldn't be important. +* Fix a bug that was causing Shairport Sync to hang very ocassionally when a play session was ending. This seems to occur under rare circumstances, so many thanks to [David Krmpotić](https://github.com/davidhq) for finding the problem and for his patience trying out different theories before the bug was finally identified. More long-term work is probably needed here. + Version 3.2RC10 ==== **Compatibility Adjustment** From d9e4ff3310ba3845fa466782f7dceb550c889fa2 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Sat, 16 Jun 2018 08:47:14 +0100 Subject: [PATCH 26/36] Update RELEASENOTES.md --- RELEASENOTES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index ba088209..fbb5adf8 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -2,8 +2,8 @@ Version 3.2RC11 ==== **Bug Fixes** -* Restore compatability with Synology AudioStation/5.2. Thanks to [Jörg Krause](https://github.com/joerg-krause) for identifying both the issue itself and the likely location of the fix needed. It's not clear if the problem lies with Shairport Sync or Synology – the fix was to ensure that an RTSP reply was sent in one `SEND` call, which shouldn't be important. -* Fix a bug that was causing Shairport Sync to hang very ocassionally when a play session was ending. This seems to occur under rare circumstances, so many thanks to [David Krmpotić](https://github.com/davidhq) for finding the problem and for his patience trying out different theories before the bug was finally identified. More long-term work is probably needed here. +* Restore compatibility with Synology AudioStation/5.2. Thanks to [Jörg Krause](https://github.com/joerg-krause) for identifying both the issue itself and the likely location of the fix needed. It's not clear if the problem lies with Shairport Sync or Synology – the fix was to ensure that an RTSP reply was sent in one `SEND` call, which shouldn't be important. +* Fix a bug that was causing Shairport Sync to hang very occasionally when a play session was ending. This seems to occur under rare circumstances, therefore many thanks to [David Krmpotić](https://github.com/davidhq) both for finding the problem and for his patience in trying out different theories before the bug was finally identified. More long-term work is probably needed here. Version 3.2RC10 ==== From 2e4243d7231599d077701ede9c73ce1814c083c5 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 22 Jun 2018 09:10:39 +0100 Subject: [PATCH 27/36] Add a ProgressString property to the native D-Bus interface, improve the mutex lock timing checking --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 3dc43144..9e35e1ea 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], [3.2RC11], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [3.2RC12], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 4b0a3c84bb1239ec938f9b5190bb87169fb2db9f Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 22 Jun 2018 09:14:10 +0100 Subject: [PATCH 28/36] Update RELEASENOTES.md --- RELEASENOTES.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fbb5adf8..3ed0c52e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,11 @@ +Version 3.2RC11 +==== +**Enhancement** +Add a "ProgressString" property to the native D-Bus interface. + +**Bug Fix** +Some code added in RC11 to monitor mutex lock times was causing some annoying issues -- fixed. + Version 3.2RC11 ==== **Bug Fixes** From b22a620874dc567f4ac549adb021aec2552047b1 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 22 Jun 2018 09:14:26 +0100 Subject: [PATCH 29/36] Update RELEASENOTES.md --- RELEASENOTES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3ed0c52e..f4fcb976 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,10 +1,10 @@ Version 3.2RC11 ==== **Enhancement** -Add a "ProgressString" property to the native D-Bus interface. +* Add a "ProgressString" property to the native D-Bus interface. **Bug Fix** -Some code added in RC11 to monitor mutex lock times was causing some annoying issues -- fixed. +* Some code added in RC11 to monitor mutex lock times was causing some annoying issues -- fixed. Version 3.2RC11 ==== From 7c1c423a29d5132a903de6c9938a386881c2516d Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Fri, 22 Jun 2018 09:14:43 +0100 Subject: [PATCH 30/36] Update RELEASENOTES.md --- RELEASENOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index f4fcb976..efc39b98 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,4 +1,4 @@ -Version 3.2RC11 +Version 3.2RC12 ==== **Enhancement** * Add a "ProgressString" property to the native D-Bus interface. From 553eea3fe3b7848f097b71e4cf82090c3135a77f Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 2 Jul 2018 16:12:00 +0100 Subject: [PATCH 31/36] Don't ask for packets to be resent quite as much. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 9e35e1ea..dd520b0c 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], [3.2RC12], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [3.2RC13], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 3ec2fccd27df5bb7c3e3eeecd392a340c198a5ff Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 2 Jul 2018 16:15:35 +0100 Subject: [PATCH 32/36] Update RELEASENOTES.md --- RELEASENOTES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index efc39b98..1703c60d 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,8 @@ +Version 3.2RC13 +==== +**Adjustment** +* Reduce the number of attempts that will be made to have a packet resent. It seems that in some situations on poor networks, the number of resend requests was causing problems. + Version 3.2RC12 ==== **Enhancement** From 919a7d1943c87abf85600a11e147d5f629424319 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 2 Jul 2018 16:18:28 +0100 Subject: [PATCH 33/36] Update RELEASENOTES.md --- RELEASENOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1703c60d..52ce4099 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,7 +1,7 @@ Version 3.2RC13 ==== **Adjustment** -* Reduce the number of attempts that will be made to have a packet resent. It seems that in some situations on poor networks, the number of resend requests was causing problems. +* Reduce the number of attempts that will be made to have a missing packet resent. It seems that in some situations on poor networks, the number of resend requests was causing problems. Version 3.2RC12 ==== From 07314a08e3cb34a75b8d027b4f03f1b7a3d75d0f Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 9 Jul 2018 14:20:48 +0100 Subject: [PATCH 34/36] 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 f2ff68fd..a9a3d8ca 100644 --- a/shairport-sync.spec +++ b/shairport-sync.spec @@ -1,5 +1,5 @@ Name: shairport-sync -Version: 3.1.7 +Version: 3.2 Release: 1%{?dist} Summary: AirTunes emulator. Multi-Room with Audio Synchronisation # MIT licensed except for tinysvcmdns under BSD, @@ -67,6 +67,8 @@ getent passwd %{name} &> /dev/null || useradd --system -c "%{name} User" \ %license LICENSES %changelog +* Mon Jul 09 2018 Mike Brady 3.1.7 - Bug fix for unexpectedly resuming play at full volume from iOS 11.2 and macOS 10.3.2. * Mon Dec 11 2017 Mike Brady 3.1.5 From c943f95559baa405a57e1bf213d138956980a290 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 9 Jul 2018 14:22:11 +0100 Subject: [PATCH 35/36] Update configure.ac --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index dd520b0c..7c3149ed 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], [3.2RC13], [mikebrady@eircom.net]) +AC_INIT([shairport-sync], [3.2], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) From 47eabab8b4e7bd9e156a89b0d1f97698d98df601 Mon Sep 17 00:00:00 2001 From: Mike Brady Date: Mon, 9 Jul 2018 14:25:16 +0100 Subject: [PATCH 36/36] Update RELEASENOTES.md --- RELEASENOTES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 52ce4099..fa7c36dc 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,7 @@ +Version 3.2 +==== +Version 3.2 is equivalent to 3.2RC13. + Version 3.2RC13 ==== **Adjustment**