git clone https://@opensourceprojects.eu/git/u/joerg-krause/sc2mpd u-joerg-krause-sc2mpd
Read Me
== sc2mpd: Linn Songcast to Linux gateway
The sc2mpd package implements two gateways between Linn Songcast and Linux
systems, acting either as Receiver as Sender
The 2 commands in the package are based on the Linn Open Source libraries,
for which the package provides an extraction and build script.
link:http://www.lesbonscomptes.com/upmpdcli/sc2mpd.html[More information]
== sc2mpd
*sc2mpd* implements a gateway for playing a Linn Songcast audio stream on
Linux.
It can work in two modes, either by forwarding the stream to MPD (using
HTTP), or using ALSA directly to play the stream. The latter method is
preferred because it allows lower latency and adjusting the sample rate
to match the source, which both avoids glitches and allows good
synchronization between multiple players.
*mpd2sc* is designed to be controlled from
link:http://www.lesbonscomptes.com/upmpdcli[upmpdcli], with which it
provides a Songcast _Receiver_ interface usable from any
Songcast _Sender_ such as the Windows or Mac OS X Linn Songcast
applications.
The end result is that you can broadcast audio captured on Windows or OS X
to multiple *upmpdcli* instances, or to other Songcast Receivers, with excellent
quality and synchronization. Of course the audio can be produced by any audio application,
e.g. WMP, Spotify, Qobuz, Tidal, etc.
== mpd2sc
*mpd2sc* implements a gateway for sending a Linux audio stream to Songcast.
This allows broadcasting sound from an *upmpdcli* instance
to multiple Songcast Receivers, thus implementing synchronized multiroom audio.
When this mode is enabled, the main *upmpdcli* instance is also set to play through
a local *sc2mpd* Receiver, to ensure good synchronization with the other players.
*mpd2sc* can work in two slightly different modes, either reading mpd output
from a fifo (used for broadcasting the UPnP stream), or reading an ALSA input
channel (used for broadcasting an analog source).
The mode of operation is controlled by selecting an appropriate OpenHome Source in
the *upmpdcli* OpenHome interface, which can be done from *upplay* or another
OpenHome-capable Control Point such as Bubble DS.