Commit Graph
5535 Commits
Author SHA1 Message Date
Mike Brady 8201903a4e Add code to try to save your ears by handling a situation where the player volume was set very high some time ago and you have forgotten.
In that situation currenctly, when you play something, it will come out at the last volume set on the device, which will be that very high volume.
This could happen, for example, the morning after a loud party :).

The new code works as follows: If nothing has been played for a period, say a few hours, and the volume is higher than a threshold, new connections that ask
for the current volume setting will be offered the default (low) volume rather than the current (very high) one.
Most players, including the HomePod mini, iOS and iPadOS use this to set their initial volume.
The Mac Music app retains its own setting, and the Mac System Sounds preference sometimes seems to take its setting from the Music app,
but at least you can see the settings they will apply.

Existing connections are unaffected, so this facility should be unobtrusive.
2023-01-18 10:41:50 +00:00
Mike Brady d2ca8c84a4 Clang format 2023-01-14 12:53:20 +00:00
Mike Brady 28f54af281 Add a new setting: resync_recovery_time to give the systems a little time to restart.
Clean up the tolerance and resync threshold times.
2023-01-14 12:48:18 +00:00
Mike Brady b35d470c77 tidy up a few small things. 2023-01-13 20:46:54 +00:00
Mike Brady a16933bbc1 Stop using the pa_stream_is_suspended, but check writing errors more carefully. 2023-01-13 20:41:27 +00:00
Mike Brady 0ac1c0d8b5 Check to see if the stream is suspended when accessing it or sending data. 2023-01-13 18:06:34 +00:00
Mike Brady 7d243492fd Don't report an ENODEV condition as an error when getting a delay. 2023-01-13 18:03:26 +00:00
Mike Brady c2e4ab29f1 Quieten some debug messages 2023-01-13 15:19:46 +00:00
Mike Brady 99ca92998e Gremlin fix and comment tidy-up 2023-01-13 15:08:51 +00:00
Mike Brady 20dca3c542 Clean up the PulseAudio backend to open a stream once only. 2023-01-13 14:33:30 +00:00
Mike BradyandGitHub 5ab76c2548 Update RELEASENOTES-DEVELOPMENT.md 2022-12-31 18:14:14 +00:00
Mike Brady b5bb2fef38 Capture where the device was never there (ENOENT), as opposed to when it was there but disappeared (ENODEV). 2022-12-31 17:57:25 +00:00
Mike Brady 76387f8291 Be more careful checking for ENODEV conditions in audio_alsa.c. Still a few places where it is not done... 2022-12-31 17:16:02 +00:00
Mike BradyandGitHub dcc994ab77 Update RELEASENOTES-DEVELOPMENT.md 2022-12-31 10:13:01 +00:00
Mike Brady ae5910e2e7 make the error message one single identifier by linking the error number to the message with an underscore. 2022-12-30 19:31:01 +00:00
Mike Brady 5bc072eb9f small layout edit to shairport-sync.conf 2022-12-30 19:21:16 +00:00
Mike Brady f4c9c0bcd8 Move unfixable_error_reported flag from conn to config. 2022-12-30 18:49:10 +00:00
Mike Brady a87eb95d30 Call the unfixable error handler if the output device can't be opened or disappears. Clang-format. 2022-12-30 18:46:53 +00:00
Mike Brady d6536a8e79 Call the unfixable error if the output device can't be opened or disappears. Clang-format. 2022-12-30 18:36:33 +00:00
Mike Brady fd89c7e8cb Fix repeating error message in audio_stdout.c 2022-12-30 17:18:06 +00:00
Mike Brady e518891b29 Shorten the keepalive timeout time to 15 seconds. 2022-12-19 09:12:23 +00:00
Mike BradyandGitHub b72e2c649d Update check_classic_mac_basic.yml
Run on the `danger` branch too.
2022-12-14 10:35:37 +00:00
Mike BradyandGitHub 527edf6aa5 Update check_classic_systemd_full.yml
Run on the `danger` branch too.
2022-12-14 10:33:57 +00:00
Mike BradyandGitHub 74c093351a Update check_ap2_systemd_full.yml
Run on the `danger` branch too.
2022-12-14 10:33:28 +00:00
Mike Brady 5b0fd86a40 Merge branch 'danger' of github.com:mikebrady/shairport-sync into danger
Documentation and workflow updates made online.
2022-12-14 10:30:35 +00:00
Mike Brady 14b3fc4de8 Fix endless error messages. 2022-12-14 10:30:22 +00:00
Mike BradyandGitHub 51b9c5989c Update BUILD.md 2022-12-14 10:17:24 +00:00
Mike BradyandGitHub db155abb64 Danger note. 2022-12-14 10:12:01 +00:00
Mike Brady 12586cd82e Bump the SHM Interface number to note new commands. 2022-12-13 09:29:58 +00:00
Mike Brady 3cdb8b790c Send B/E/P signals to NQPTP to tell it when SPS is playing. The clock should not be sleeping when SPS is playing or paused. 2022-12-10 11:57:19 +00:00
Mike BradyandGitHub 4ca5a15de2 Update TROUBLESHOOTING.md 2022-12-08 09:37:59 +00:00
Mike BradyandGitHub a649a8ca2a Update RELEASENOTES-DEVELOPMENT.md 2022-12-05 11:49:23 +00:00
Mike BradyandGitHub 2261940944 Update RELEASENOTES-DEVELOPMENT.md 2022-12-05 11:48:43 +00:00
Mike Brady 8e5393ec42 Parse phbt/phb0 metddata tokens. 2022-12-05 11:37:22 +00:00
Mike Brady 712fc04734 Quieten a compiler warning. 2022-12-05 11:36:43 +00:00
Mike Brady 8bc4f87a59 Include the man page and man utilities in the Docker image. 2022-12-05 11:28:58 +00:00
Mike Brady 02c0a159ce Tidy up a few messages and fix a new compilation warning. 2022-12-03 10:28:16 +00:00
Mike BradyandGitHub ef8664298e Update README.md 2022-12-02 12:14:15 +00:00
Mike BradyandGitHub f1bb15ebfe Update RELEASENOTES-DEVELOPMENT.md 2022-12-01 21:55:42 +00:00
Mike Brady f15c3255c6 Merge branch 'development' of github.com:mikebrady/shairport-sync into development
Online update.
2022-12-01 15:48:07 +00:00
Mike Brady 885377ca75 Add a configuration check for the xxd program when building for AirPlay 2. 2022-12-01 15:47:55 +00:00
Mike BradyandGitHub 2019e301a4 Update RELEASENOTES-DEVELOPMENT.md 2022-11-30 22:13:41 +00:00
Mike Brady cb097034b6 BB 2022-11-30 17:05:37 +00:00
Mike Brady ebf5fefb55 Make the keepalive stuff compile under macOS. 2022-11-30 17:01:06 +00:00
Mike Brady 5f3f238b48 Make the keepalive stuff compile under FreeBSD 2022-11-30 16:53:38 +00:00
Mike Brady e353201376 Add code to close the play session if the client connection drops for a minute. Uses the TCP keepalive facility. 2022-11-30 16:25:03 +00:00
Mike Brady 5bf379f780 Add detail about the new 'progress_interval' metadata setting. 2022-11-30 16:23:26 +00:00
Mike BradyandGitHub f9afd747c7 Update RELEASENOTES-DEVELOPMENT.md 2022-11-28 15:15:17 +00:00
Mike Brady 8a69f5eacf Online documentation updates 2022-11-28 15:11:05 +00:00
Mike Brady 37f060f48e Add "FirstFramePostion" property set when first frame of a play session is sent. 2022-11-28 15:09:43 +00:00