SwiftSSDP - Simple Service Discovery Protocol (SSDP) session based discovery package for Swift.

  •        248

Simple Service Discovery Protocol (SSDP) session based discovery package for Swift. SSDP can be used for many things, discovering devices or services. Sonos uses SSDP for device discovery and using the urn:schemas-upnp-org:device:ZonePlayer:1 search target (ST) devices can be discovered and inspected.




Related Projects

echo-sonos - Amazon Echo integration with Sonos

  •    Javascript

All of the pieces for an Amazon Echo (Alexa) <-> Sonos integration. echo-sonos supports Apple Music, Spotify, Deezer, Deezer Elite, Sonos playlists, Sonos favorites, SiriusXM, the local Sonos music library, and configurable node-sonos-http-api presets.

node-sonos - 🔈 Sonos Media Player Interface/Client

  •    Javascript

node-sonos gives you the power to control all your Sonos devices from your own apps in JavaScript. Automatically discover your devices on the network and control the playback and queue with instant events announcing change. Additional examples can be found in the /examples directory within the repository.

SimpleImageViewer - A snappy image viewer with zoom and interactive dismissal transition.

  •    Swift

A snappy image viewer with zoom and interactive dismissal transition. SimpleImageViewer is available under the MIT license. See the LICENSE file for more info.

SoCo - SoCo (Sonos Controller) is a simple Python class that allows you to programmatically control Sonos speakers

  •    Python

Important Note: this project originally started out under rahims/SoCo. As activity and interest have grown over the past year, the developers decided it was best to spin it out into its own project under its own Github Organization. Going forward, please fork and star the newly official repo, SoCo/SoCo, as rahims/SoCo will be used by Rahim to manage his fork of the official repo. SoCo (Sonos Controller) is a simple Python class that allows you to programmatically control Sonos speakers. It was created at Music Hack Day Sydney, so there is still much room for improvement, however the basic control functionality is there and works well. I've tested it with both a Play:3 and a Play:5.

mkchromecast - Cast macOS and Linux Audio/Video to your Google Cast and Sonos Devices

  •    Python

This is a program to cast your macOS audio, or Linux audio to your Google Cast devices or Sonos speakers. It can also cast video files. It is written for Python3, and it can stream via node.js, parec (Linux), ffmpeg, or avconv. Mkchromecast is capable of using lossy and lossless audio formats provided that ffmpeg, avconv (Linux), or parec (Linux) are installed. It also supports Multi-room group playback, and 24-bit/96kHz high audio resolution. Additionally, a system tray menu is available.

sonos - Control Sonos speakers with Ruby

  •    Ruby

Control Sonos speakers with Ruby. Huge thanks to Rahim Sonawalla for making SoCo. This gem would not be possible without his work.

Play - A better Sonos controller for iOS

  •    Objective-C

This is an attempt at making a better Sonos controller for iOS. It's pretty hacked together right now -- I'll try to articulate needs later so others can contribute. The following (sparse) instructions below should get it working with your system. Easiest way to do this is to checkout: https://github.com/rahims/SoCo and use the command line example. Run: python sonoshell.py all list_ips to find all the IPs. Then run python sonoshell.py YOUR_SPEAKERS_IP_ADDRESS info to determine the uid for each speaker.

airsonos - :musical_note: AirPlay to Sonos

  •    Javascript

AirSonos is a server that adds Apple AirPlay (iOS, OS X) support to all Sonos devices on a network. AirSonos requires node.js >= v0.10.33 installed to run.

Windows Phone UPnP


The basics of a UPnP network stack for Windows Phone, based on a blog post originally. Written in C#, also requires the Async CTP. Includes device discovery via SSDP and method invocation.

Dodo - A message bar for iOS written in Swift.

  •    Swift

[][carthage] [][cocoadocs] [][cocoadocs] [cocoadocs]: http://cocoadocs.org/docsets/Dodo [carthage]: https://github.com/Carthage/Carthage

Carthage - A simple, decentralized dependency manager for Cocoa

  •    Swift

Carthage is intended to be the simplest way to add frameworks to your Cocoa application.Carthage builds your dependencies and provides you with binary frameworks, but you retain full control over your project structure and setup. Carthage does not automatically modify your project files or your build settings.


  •    WPF

The beginnings of a Sonos client, written in C#, C++/CLI and WPF. Most of the middle tier is designed for WPF binding. The database (ESE/Jet Blue in-process db) caching layer schema is almost there. It will be merged in to provide faster library browsing and to allow Windows ...



CCA-fMRI is a SPM-toolbox (http://www.fil.ion.ucl.ac.uk/spm/) for detecting brain activity pattern using functional magnetic resonance imaging (fMRI) in combination with canonical correlation analysis.


  •    C++

Spm is package manager to install source package. It could install/uninstall package (Autotools or makefile based).

SPM surfrend


SPM surfrend toolbox is a suite of scripts that add surface-based rendering capabilities to SPM99/2 generated statistical maps.

spm - Brand new static package manager.

  •    Javascript

Brand new static package manager for browser. SPM is available under the terms of the MIT License.

Buglife-iOS - Awesome bug reporting for iOS apps

  •    Objective-C

You can also find Buglife for Android here. Now run carthage update. Then drag & drop the Buglife.framework in the Carthage/build folder to your project. Refer to the Carthage README for detailed / updated instructions.

TKRubberIndicator - A rubber animation pagecontrol

  •    Swift

Create a Cartfile that lists the framework and run carthage update. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/TKRubberPageControl.framework to an iOS project.