newinnovations / sonos-squeezebox

SONOS::Squeezebox lets you integrate Sonos players in a Logitech Media Server (LMS) / Squeezebox environment
6 stars 1 forks source link
lms sonos squeezebox squeezebox-server

SONOS::Squeezebox

This software lets you integrate Sonos players in a Logitech Media Server (Squeezebox) environment.

It builds on two excellent software projects, being Noson and Squeezelite. Noson is a C++ language library to control Sonos equipment, primarily used in the Noson-app. Squeezelite is a headless C language client for LMS that is often used as a skeleton for larger projects.

Usage

./sonos-squeezebox [options] --room=<Room/Zone name>

Example

$ ./sonos-squeezebox --ip=192.168.15.247 --room=Bibliotheek --server=127.0.0.1:9000

| SONOS::Squeezebox -- deploy Sonos in a Logitech Media Server (LMS) streaming environment
|
| Copyright (c) 2023 Martin van der Werff <github (at) newinnovations.nl>

Connecting to Sonos (through player 192.168.15.247) ... SUCCESS

+----------------------------------------------------------------------- devices / players ---+
| player name                         | uuid                     | host               |  port |
+---------------------------------------------------------------------------------------------+
| Bibliotheek                         | RINCON_000E5883160901400 | 192.168.15.243     |  1400 |
| Eetkamer                            | RINCON_5CAAFDF6210101400 | 192.168.15.247     |  1400 |
+---------------------------------------------------------------------------------------------+

+--------------------------------------------------------------------------- zones / rooms ---+
| room name                           | coordinating player                                   |
+---------------------------------------------------------------------------------------------+
| Bibliotheek                         | Bibliotheek                                           |
| Eetkamer                            | Eetkamer                                              |
+---------------------------------------------------------------------------------------------+

Connecting to room Bibliotheek ... SUCCESS (MAC = 00:0E:58:83:16:09)

Building

Requirements

apt-get install -y --no-install-recommends \
        make cmake g++ libz-dev libssl-dev libflac++-dev libpulse-dev \
        libasound-dev libvorbis-dev libfaad-dev libmad0-dev libmpg123-dev libsoxr-dev

Cloning

git clone --recursive https://github.com/newinnovations/sonos-squeezebox.git

If you cloned without the --recursive option, you can initialize the sub-modules using:

git submodule update --init --recursive

Compiling

make

Technical challenges

Related software