github Sendspin/sendspin-go v1.2.0
Release v1.2.0

latest releases: v1.8.2, v1.8.1, v1.8.0...
6 months ago

Sendspin Protocol v1.2.0

Downloads

Linux (x86_64) - Portable Binaries

  • Player: sendspin-player-linux-amd64.tar.gz
  • MA Player: ma-player-linux-amd64.tar.gz

Installation

# Download and extract
tar xzf sendspin-player-linux-amd64.tar.gz

# Run
./sendspin-player-linux-amd64

If you get missing library errors, install the audio system package:

# Debian/Ubuntu
sudo apt-get install libasound2

# Fedora/RHEL
sudo dnf install alsa-lib

# Arch Linux
sudo pacman -S alsa-lib

Building from Source (macOS/Other Platforms)

git clone https://github.com/Sendspin/sendspin-go.git
cd sendspin-go

# Install dependencies
brew install opus opusfile  # macOS
# or: sudo apt-get install libopus-dev libopusfile-dev libasound2-dev  # Linux

# Build
make player

Changes

  • chore(release): sync version fallbacks to 1.2.0 (8aca9be)
  • Merge pull request #26 from Sendspin/feat/drop-oto (fd47014)
  • style: gofmt pkg/protocol/client.go (4667ee0)
  • style: remove narration comments across project (592e535)
  • style: gofmt audio_engine_test.go (3f0bf48)
  • docs: remove stale oto references after backend deletion (01de2a2)
  • chore(deps): drop github.com/ebitengine/oto/v3 (2b621da)
  • refactor(internal/player): delete legacy oto-based Output (2e7836e)
  • refactor(internal/app): use pkg/audio/output.Malgo directly (6c79b32)
  • refactor(audio/output): delete oto backend (65619a1)
  • refactor(sendspin): always use malgo backend in Player (848d148)
  • refactor(audio/output): move volume helpers out of oto.go (cde994e)
  • docs: add drop-oto implementation plan (48391f7)
  • Merge pull request #23 from chrisuthe/feat/server-initiated-discovery (01ebbb6)
  • Update README.md (3c335be)
  • Merge pull request #24 from Sendspin/test/issue-2-opus-resample-regression (432e275)
  • test(server): regression test for hi-res source + Opus client negotiation (cbe00b5)
  • fix(discovery): filter browse entries by service name (a11dc0f)
  • Merge pull request #22 from chrisuthe/feat/layered-architecture (e05fb46)
  • fix(discovery): use 3*time.Second timeout in server browse loop (e91079b)
  • test(sendspin): end-to-end test for server-initiated discovery (1c901d2)
  • fix(discovery): use 3*time.Second timeout in client browse loop (2a2b56e)
  • feat(cli): add -discover-clients flag to sendspin-server (9002fbb)
  • feat(sendspin): wire ClientDialer into server start/stop (f7103f4)
  • feat(sendspin): add exponential backoff on dial failures (350e732)
  • feat(sendspin): add clientDialer with instance-name dedupe (e6a52ea)
  • feat(sendspin): add URL builder for discovered client dialing (40c0ca4)
  • feat(discovery): browse for clients advertising _sendspin._tcp (ecf633c)
  • feat(discovery): add ClientInfo type and entry conversion (e606710)
  • feat(discovery): add TXT record parsing helper (78e15a5)
  • docs: add server-initiated client discovery plan (7c281cc)
  • fix gofmt in player_test.go (8c87825)
  • add integration tests for Receiver lifecycle and callbacks (c4b18b2)
  • refactor Player to compose Receiver internally (79384a4)
  • move stream handling and audio pipeline goroutines to Receiver (96c8332)
  • add Connect, clock sync, and connection watch to Receiver (dc1898c)
  • add Receiver type with config, constructor, and lifecycle methods (1f2391d)
  • deprecate global SetGlobalClockSync and ServerMicrosNow functions (a67afbb)
  • use injected ClockSync instance in scheduler instead of global (67534f2)
  • add ServerMicrosNow instance method to ClockSync (faf3237)
  • add implementation plan for layered architecture refactor (ef84c78)
  • add layered architecture design spec for Receiver + Player split (62f8457)

Don't miss a new sendspin-go release

NewReleases is sending notifications on new releases.