snapcast

Synchronous multiroom audio player

GPL-3.0 License

Downloads
35
Stars
5.7K
Committers
102

Bot releases are hidden (Show)

snapcast - Snapcast v0.11.0

Published by badaix over 7 years ago

Version 0.11.0

Features

  • Don't send audio to muted clients (Issue #109, #150)
  • Snapclient multi-instance support (Issue #73)
  • daemon can run as different user (default: snapclient, Issue #89)
  • Spotify plugin does not require username and password (PR #181)
  • Spotify plugin is compatible to librespot's pipe backend (PR #158)
  • Clients are organized in Groups
  • JSON RPC API: Support batch requests

Bugfixes

  • Compilation error on recent GCC versions (Issues #146, #170)
  • Crash when frequently connecting to the control port (Issue #200)
  • Snapcast App crashes on Android 4.x (Issue #207)
  • Resync issue on macOS (Issue #156)
  • Id in JSON RPC API can be String, Number or NULL (Issue #161)
  • Use "which" instead of "whereis" to find binaries (PR #196, Issue #185)
  • Compiles on lede (Issue #203)

General

  • JSON RPC API is versionized (current version is 2.0.0)
  • Restructured Android App to support Groups
snapcast - Snapcast v0.11.0-beta-1

Published by badaix over 7 years ago

Version 0.11.0-beta-1

Features

  • Snapclient multi-instance support (Issue #73)
  • daemon can run as different user (default: snapclient, Issue #89)
  • Spotify plugin does not require username and password (PR #181)
  • Spotify plugin is compatible to librespot's pipe backend (PR #158)
  • Clients are organized in Groups
  • JSON RPC API: Support batch requests

Bugfixes

  • Resync issue on macOS (Issue #156)
  • Id in JSON RPC API can be String, Number or NULL (Issue #161)
  • Use "which" instead of "whereis" to find binaries (PR #196, Issue #185)
  • Compiles on lede (Issue #203)

General

  • JSON RPC API is versionized (current version is 2.0.0)
  • Restructured Android App to support Groups
snapcast - Snapcast v0.10.0

Published by badaix almost 8 years ago

Version 0.10.0

Features

  • Added support process streams:
    Snapserver starts a process and reads PCM data from stdout
  • Specialized versions for Spotify and AirPlay

Bugfixes

  • Fixed crash during server shutdown
  • Fixed Makefile for FreeBSD
  • Fixed building of dpk (unsigned .changes file)

General

  • Speed up client and server shutdown
snapcast - Snapcast v0.9.0

Published by badaix almost 8 years ago

Version 0.9.0

Features

  • Added (experimental) support for macOS (make TARGET=MACOS)

Bugfixes

  • Android client: Fixed crash on Nougat (Issue #97)
  • Fixed FreeBSD compile error for Snapserver (Issue #107)
  • Snapserver randomly dropped JSON control messages
  • Long command line options (like --sampleformat) didn't work on some systems (Issue #103)

General

  • Updated Android NDK to revision 13
snapcast - Snapcast v0.8.0

Published by badaix about 8 years ago

Version 0.8.0

Features

  • Added support for FreeBSD (Issue #67)
  • Android client: Added Japanese and German translation
  • Android client: Added support for ogg (Issue #83)

Bugfixes

  • OpenWRT: makefile automatically sets correct endian (Issue #91)
snapcast - Snapcast v0.7.0

Published by badaix over 8 years ago

Version 0.7.0

Features

  • Support for HiRes audio (e.g. 96000:24:2) (Issue #13)
    • Bitdepth must be one of 8, 16, 24 (=24 bit padded to 32) or 32
  • Auto start option for Android (Issue #49)
  • Creation mode for the fifo can be configured (Issue #52)
    • "-s pipe:///tmp/snapfifo?mode=[read|create]"

Bugfixes

  • Server was sometimes crashing during shutdown
  • Exceptions were not properly logged (e.g. unsupported sample rates)
  • Fixed default sound card detection on OpenWrt
snapcast - Snapcast v0.6.0

Published by badaix over 8 years ago

Version 0.6.0

Features

  • Port to OpenWrt (Issue #18)

Bugfixes

  • Android client: fixed crash if more than two streams are active (Issue #47)

General

  • Support Tremor, an integer only Ogg-Vorbis implementation
  • Endian-independent code (Issue #18)
  • Cleaned up build process
snapcast - Snapcast v0.5.0

Published by badaix over 8 years ago

Version 0.5.0

Features

  • Android client: Fast switching of clients between streams

Bugfixes

  • Server: Fixed reading of server.json config file

General

  • Source code cleanups
snapcast - SnapCast v0.4.1

Published by badaix over 8 years ago

Version 0.4.1

General

  • Debian packages (.deb) are linked statically against libgcc and libstdc++ to improve compatibility
snapcast - Snapcast v0.5.0-beta-2

Published by badaix over 8 years ago

Version 0.5.0-beta-2

Features

  • Remote control API (JSON)
    • Added version information
    • Stream playing state (unknown, idle, playing, inactive) (Issue #34)
  • Android client: manually configure snapserver host name
  • Android client compatibility improved: armeabi and armeabi-v7 binaries
  • Android client: configurable latency
  • Improved compatibility to Mopidy (GStreamer) (Issue #23)

Bugfixes

  • Android client: fixed "hide offline" on start
  • Store config in /var/lib/snapcast/ when running as daemon (Issue #33)

General

  • README.md: Added resampling command to the Mopidy section (Issue #32)
snapcast - Snapcast v0.5.0-beta-1

Published by badaix over 8 years ago

Version 0.5.0-beta-1

Features

  • Remote control API (JSON)
    • Get server status, get streams, get active clients, ...
    • Assign volume, assign stream, rename client, ...
  • Android port of the Snapclient with a remote control app (requires API level 16, Android 4.1)
  • Multiple streams ("zones") can be configured using -s, --stream
    The stream is configured by an URI: path, name, codec, sample format, ...
    E.g. pipe:///tmp/snapfifo?name=Radio&sampleformat=48000:16:2&codec=flac
    or file:///home/user/some_pcm_file.wav?name=file
  • Added .default file for the service in /etc/default/snapserver and /etc/default/snapclient.
    Default program options should be configured here (e.g. streams)

Bugfixes

  • Pipe reader recovers if the pipe has been reopened

General

  • SnapCast is renamed to Snapcast
    • SnapClient => Snapclient
    • SnapServer => Snapserver
  • Changed default sample rate to 48kHz. The sample rate can be configured per stream -s "pipe:///tmp/snapfifo?name=default&sampleformat=44100:16:2. The default can be changed with --sampleformat 44100:16:2
  • Snapcast protocol:
    Less messaging: SampleFormat, Command, Ack, String, not yet final
  • Removed dependency to boost
snapcast - SnapCast v0.4.0

Published by badaix almost 9 years ago

Version 0.4.0

Features

  • Debian packages (.deb) for amd64 and armhf
  • Added man pages

Bugfixes

  • Snapserver and Snapclient are started as daemon on systemd systems (e.g. ARCH, Debian Jessie)

General

  • Snapserver is started with normal process priority (changed nice from -3 to 0)
snapcast - SnapCast v0.3.4

Published by badaix almost 9 years ago

Version 0.3.4

Bugfixes

  • Fix synchronization bug in FLAC decoder that could cause audible dropouts
snapcast - SnapCast v0.3.3

Published by badaix almost 9 years ago

Version 0.3.3

Bugfixes

  • Fix Segfault when ALSA device has no description
snapcast - SnapCast v0.3.2

Published by badaix about 9 years ago

Version 0.3.2

General

  • Makefile uses CXX instead of CC to invoke the c++ compiler

Bugfixes

  • Time calculation for PCM chunk play-out was wrong on some gcc versions
snapcast - SnapCast v0.3.1

Published by badaix about 9 years ago

Version 0.3.1

General

  • Improved stability over WiFi by avoiding simultaneous reads/writes on the socket connection

Bugfixes

  • Fixed a bug in avahi browser
snapcast - SnapCast v0.2.1

Published by badaix about 9 years ago

Version 0.2.1

Features

  • Arch Linux compatibility
snapcast - SnapCast v0.3.0

Published by badaix about 9 years ago

Version 0.3.0

Features

  • Configurable codec options. Run snapserver -c [flac|ogg|pcm]:? to get supported options for the codec
  • Configurable buffer size for the pipe reader (default 20ms, was 50ms before)
  • Process priority can be changed as argument to the daemon option -d<prio>. Default priority is -3

Bugfixes

  • Fixed deadlock in logger
  • Fixed occasional timeouts for client to server requests (e.g. time sync commands)
  • Client didn't connect to a local server if the loopback device is the only device with an address

General

  • Code clean up
  • Refactored encoding for lower latency
Package Rankings
Top 4.16% on Proxy.golang.org
Top 1.72% on Alpine-v3.18
Top 4.09% on Alpine-v3.10
Top 4.44% on Alpine-v3.11
Top 6.71% on Alpine-v3.14
Top 3.65% on Alpine-v3.13
Top 4.75% on Alpine-v3.9
Top 4.35% on Alpine-v3.16
Top 4.75% on Alpine-v3.17
Top 3.7% on Alpine-v3.12
Top 7.74% on Alpine-v3.15
Top 5.61% on Alpine-edge
Top 28.09% on Formulae.brew.sh
Badges
Extracted from project README
CI Github Releases GitHub Downloads Donate