Skip to content

Commit

Permalink
Merge updates from the development branch into the master branch as 4…
Browse files Browse the repository at this point in the history
….2.1
  • Loading branch information
mikebrady committed Sep 16, 2023
2 parents 464c246 + 76992ac commit 12daaaf
Show file tree
Hide file tree
Showing 32 changed files with 1,118 additions and 757 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/check_ap2_systemd_basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Basic ALSA configuration for systemd, using a build folder.
on:
push:
branches: [ "development" ]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/check_ap2_systemd_full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ name: Full configuration (but without apple-alac) for systemd.
on:
push:
branches: [ "development", "danger" ]

pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/check_ap2_systemd_full_build_folder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Full configuration (but without apple-alac) for systemd, using a build fol
on:
push:
branches: [ "development" ]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/check_ap2_systemv_full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ name: Full configuration (but without apple-alac) for a System V system.
on:
push:
branches: [ "development" ]

pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/check_classic_mac_basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ name: Basic libao configuration for macOS with BREW -- classic only, because mac
on:
push:
branches: [ "development", "danger" ]

pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/check_classic_systemd_basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ name: Basic ALSA classic configuration for systemd, using a build folder.
on:
push:
branches: [ "development" ]

pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/check_classic_systemd_full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Full classic configuration (but without apple-alac) for systemd, using a b
on:
push:
branches: [ "development", "danger" ]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
build:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,65 @@
# 'master' - rolling, rolling-classic
# 'development' - development, development-classic

name: Build and push docker (commit)
name: Build and push docker (push/pull request)

on:
push:
branches:
- master
- development
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

env:
DOCKER_PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
NQPTP_BRANCH: main

jobs:
main:
test-build-on-pull-request:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}

- name: Set SHAIRPORT_SYNC_BRANCH env
run: |
SHAIRPORT_SYNC_BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "Current SHAIRPORT_SYNC_BRANCH set to ${SHAIRPORT_SYNC_BRANCH}"
echo "SHAIRPORT_SYNC_BRANCH=${SHAIRPORT_SYNC_BRANCH}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/[email protected]

- name: Set up Docker Buildx
uses: docker/[email protected]

- name: Build (classic)
uses: docker/[email protected]
with:
context: ./
file: ./docker/classic/Dockerfile
push: false
build-args: |
SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }}
- name: Build
uses: docker/[email protected]
with:
context: ./
file: ./docker/Dockerfile
push: false
build-args: |
SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }}
NQPTP_BRANCH=${{ env.NQPTP_BRANCH }}
build-and-publish:
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion ADDINGTOHOME.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Here is how to add a Shairport Sync device to the Apple Home application on iOS
Step 0: Speaker & TV access.
---

In the Home app > Home settings "Allow Speaker & TV access", select the option "Anyone On the Same Network".
In the Home app > Home settings "Allow Speaker & TV access", select the option "Anyone On the Same Network". If a "require password" option below the "anyone on same network" is available, make sure it is unchecked.

Step 1: Open the "Home" app
---
Expand Down
10 changes: 5 additions & 5 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ endif
endif
endif

# include information generated by 'git describe --tags --dirty' if requested
# include information generated by 'git describe --tags --dirty --broken' if requested
if USE_GIT_VERSION
shairport_sync_SOURCES += gitversion.c
gitversion.h: .git/index
printf "// Do not edit!\n" > gitversion.h
printf "// This file is automatically generated by 'git describe --tags --dirty', if available.\n" >> gitversion.h
printf "// This file is automatically generated by 'git describe --tags --dirty --broken', if available.\n" >> gitversion.h
printf " char git_version_string[] = \"" >> gitversion.h
git describe --tags --dirty | tr -d '[[:space:]]' >> gitversion.h
git describe --tags --dirty --broken | tr -d '[[:space:]]' >> gitversion.h
printf "\";\n" >> gitversion.h
gitversion.c: gitversion.h
touch gitversion.c
Expand Down Expand Up @@ -262,12 +262,12 @@ endif # INSTALL_CONFIG_FILES
INSTALL_GROUP_TARGET = install-group-local

$(INSTALL_GROUP_TARGET):
getent group shairport-sync &>/dev/null || groupadd -r shairport-sync >/dev/null
getent group shairport-sync &>/dev/null || groupadd -r shairport-sync &>/dev/null

INSTALL_USER_TARGET = install-user-local

$(INSTALL_USER_TARGET): $(INSTALL_GROUP_TARGET)
getent passwd shairport-sync &> /dev/null || useradd -r -M -g shairport-sync -s /usr/sbin/nologin -G audio shairport-sync >/dev/null
getent passwd shairport-sync &>/dev/null || useradd -r -M -g shairport-sync -s /usr/sbin/nologin -G audio shairport-sync &>/dev/null

if INSTALL_SYSTEMV

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Shairport Sync does not support AirPlay video or photo streaming.
* Runtime settings are documented [here](scripts/shairport-sync.conf).
* Build configuration options are detailed in [CONFIGURATION FLAGS.md](CONFIGURATION%20FLAGS.md).
* The `man` page, detailing command line options, is [here](https://htmlpreview.github.io/?https://github.com/mikebrady/shairport-sync/blob/master/man/shairport-sync.html).
* Some advanced topics and developed in [ADVANCED TOPICS](https://github.com/mikebrady/shairport-sync/tree/master/ADVANCED%20TOPICS).

# Features
* Outputs AirPlay audio to [ALSA](https://www.alsa-project.org/wiki/Main_Page), [sndio](http://www.sndio.org), [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/), [Jack Audio](http://jackaudio.org), to a unix pipe or to `STDOUT`. It also has experimental support for [PipeWire](https://pipewire.org) and limited support for [libao](https://xiph.org/ao/) and for [libsoundio](http://libsound.io).
Expand Down
6 changes: 5 additions & 1 deletion activity_monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,11 @@ void activity_monitor_start() {

void activity_monitor_stop() {
if (activity_monitor_running) {
debug(3, "activity_monitor_stop start...");
debug(2, "activity_monitor_stop begin. state: %d, player_state: %d.", state, player_state);
if ((state == am_active) || (state == am_timing_out)) {
going_inactive(config.cmd_blocking);
state = am_inactive;
}
pthread_cancel(activity_monitor_thread);
pthread_join(activity_monitor_thread, NULL);
debug(2, "activity_monitor_stop complete");
Expand Down
3 changes: 2 additions & 1 deletion audio_alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,8 @@ void handle_unfixable_error(int errorCode) {
command_execute(config.cmd_unfixable, messageString, 1);
} else {
die("An unrecoverable error, \"output_device_error_%d\", has been "
"detected. Doing an emergency exit, as no run_this_if_an_unfixable_error_is_detected program.",
"detected. Doing an emergency exit, as no run_this_if_an_unfixable_error_is_detected "
"program.",
errorCode);
}
}
Expand Down
1 change: 1 addition & 0 deletions audio_ao.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ static int init(int argc, char **argv) {
fmt.rate = 44100;
fmt.channels = 2;
fmt.byte_format = AO_FMT_NATIVE;
fmt.matrix = strdup("L,R");
}
return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion audio_jack.c
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,8 @@ static int jack_init(__attribute__((unused)) int argc, __attribute__((unused)) c
}
while (port_list[i++] != NULL) {
inform(
"Additional matching port %s found. Check that the connections are what you intended.");
"Additional matching port %s found. Check that the connections are what you intended.",
port_list[i - 1]);
}
jack_free(port_list);
}
Expand Down
2 changes: 1 addition & 1 deletion audio_pa.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ void stream_success_cb(pa_stream *stream, int success, void *userdata);
void stream_write_cb(pa_stream *stream, size_t requested_bytes, void *userdata);

int status_error_notifications = 0;
static void check_pa_stream_status(const pa_stream *p, const char *message) {
static void check_pa_stream_status(pa_stream *p, const char *message) {
if (status_error_notifications < 10) {
if (p == NULL) {
warn("%s No pulseaudio stream!", message);
Expand Down
Loading

0 comments on commit 12daaaf

Please sign in to comment.