This repository has been archived by the owner. It is now read-only.
The Spotify remote for friends, colleagues, housemates and yourself that works in any browser.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
SpotifyRemoteMacOS
SpotifyRemoteWorkspace.xcworkspace
Vendor
.gitignore
.gitmodules
LICENSE
README.md

README.md

Overview

Reign for Spotify is a remote for friends, colleagues, housemates and yourself that works in any browser. It's available for download on the Mac App Store.

What makes Reign unique is that it uses a web page to feed commands to Spotify. Making any device with a web browser a potential remote; iPhone/Android phones, tablets, but also Playstation Vita's, e-Readers etc.

Reign for Spotify

Reign works on 64bit Macs running OS X 10.7 and up.

Cloning

Reign relies on the LaunchAtLoginHelper git submodule, so clone Reign as follows:

$ git clone --recursive https://github.com/DangerCove/reign-for-spotify.git

Compiling

Opening the project

  • Double click the SpotifyRemoteWorkspace.xcworkspace to open the project in Xcode.

Quick look around

  • The workspace consists of two projects: Reign and a Helper. The Helper is used to launch Reign on startup;
  • There are build schemes for App Store and Non App Store distribution;
  • Some code (like the preferences window) differs between App Store and Non App Store (mainly because of Sparkle);
  • The Server opens a http socket using CocoaHTTPServer, broadcasts it using Bonjour and feeds commands to Spotify using AppleScript;
  • The Client uses CocoAsyncSocket looks around for other Reign servers;
  • Comments are minimal, sorry, might fix that later.

Things you need to add

  • The App Store build uses Receigen for receipt validation, remove the build step and code in main.m if you don't have it;
  • Related to Receigen, this repo relies on a statically linked OpenSSL library. Clear the User Header Search Path to remove it.
  • The dsa_pub.pem file for Sparkle is obviously missing.

Purpose and pull-requests

  • For me, this is a pet project, but we'll try our best to merge additions to our code;
  • Bug-fixes and other stuff I can learn from are awesome;
  • New features are great.

Credits

Robbie Hanson - CocoaAsyncSocket

Robbie Hanson - CocoaHTTPServer

Robbie Hanson - CocoaLumberjack

Ahmet Ardal - DisableSubviews

Vadim Shpakovski - MASPreferences

David Keegan - LaunchAtLoginHelper

Andy Matuschak - Sparkle

Contributors

Boy van Amstel - boyvanamstel

Dan Gilbert - daentech

License for the rest of it

New BSD License, see LICENSE for details.