diff --git a/RELEASENOTES.md b/RELEASENOTES.md index da8eb4d8..599d6d98 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,3 +1,17 @@ +Version 2.8.3.1 – Development Version +---- +Added a new `mono` setting -- thanks to [faceless2](https://github.com/faceless2). Documentation to follow. + +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. + +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. diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 2fa01892..45ea8fe7 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -19,9 +19,24 @@ 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. +### 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** 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. diff --git a/common.c b/common.c index bc077732..a86fd8e2 100644 --- a/common.c +++ b/common.c @@ -465,6 +465,7 @@ double vol2attn(double vol, long max_db, long min_db) { } else if (vol != -144.0) { debug(1, "Volume request value %f is out of range: should be from 0.0 to -30.0 or -144.0.", vol); + vol_setting = min_db; // for safety, return the lowest setting... } else { vol_setting = min_db; // for safety, return the lowest setting... } diff --git a/configure.ac b/configure.ac index 6ec1da64..20113f06 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.3.1], [mikebrady@eircom.net]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([shairport.c]) AC_CONFIG_HEADERS([config.h]) 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 diff --git a/shairport.c b/shairport.c index 2bf7649d..b50fa0a8 100644 --- a/shairport.c +++ b/shairport.c @@ -426,8 +426,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. */ @@ -587,6 +585,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;