No description
Find a file
2016-10-03 22:30:25 -04:00
api Refactoring to remove duplicated code 2016-10-03 22:30:25 -04:00
bin Update for Glide usage 2016-03-25 12:53:23 -04:00
conf Changed default port to 4533 2016-03-30 12:57:44 -04:00
controllers Moving code away from conf package. 2016-03-29 18:27:14 -04:00
domain getRandomSongs.view (partially) implemented 2016-03-29 00:01:27 -04:00
engine Polishing 2016-04-21 10:44:27 -04:00
init Moving code away from conf package. 2016-03-29 18:27:14 -04:00
itunesbridge Playlists support (99%) complete! 2016-03-24 13:28:20 -04:00
persistence Polishing 2016-04-21 10:44:27 -04:00
scanner Allowing album cover ids with prefix (al-) 2016-03-30 10:01:37 -04:00
static Implemented getAvatar 2016-03-21 20:31:28 -04:00
tasks Task for continuously check for iTunes Library updates 2016-03-11 19:02:51 -05:00
tests New configuration system 2016-03-30 00:05:57 -04:00
utils New configuration system 2016-03-30 00:05:57 -04:00
.gitignore New configuration system 2016-03-30 00:05:57 -04:00
.travis.yml Cleaning glide.yml 2016-03-25 13:50:52 -04:00
glide.lock Using new version of multiconfig 2016-09-16 18:43:43 -04:00
glide.yaml Using new version of multiconfig 2016-09-16 18:43:43 -04:00
LICENSE LICENSE 2016-03-13 12:42:27 -04:00
main.go New configuration system 2016-03-30 00:05:57 -04:00
README.md README 2016-03-31 22:28:33 -04:00

GoSonic

Build Status Go Report Card

This is still a work in progress, and has no releases available

GoSonic is an application that implements the Subsonic API, but instead of having its own music library like the original Subsonic application, it interacts directly with your iTunes library.

The project's main goals are:

  • Be fully compatible with available Subsonic clients (actively being tested with DSub, SubFire and Jamstash)
  • Use all metadata from iTunes, so that you can keep using iTunes to manage your music
  • Keep iTunes stats (play counts, last played dates, ratings, etc..) updated, at least on Mac OS X. This allows smart playlists to be used in Subsonic Clients
  • Help me learn Go ;) Gopher

Supported Subsonic API version

I'm currently trying to implement all functionality from API v1.8.0, with some exceptions.

Check the (almost) up to date compatibility chart for what is working.

Installation

As this is a work in progress, there are no installers yet. To have GoSonic running in your computer, follow the steps in the Development Environment section below, then run it with:

$ export GOSONIC_MUSICFOLDER="/path/to/your/iTunes Library.xml"
$ bee run

The server should start and listening to port 4533.

Development Environment

You will need to install Go 1.6

Then install dependencies:

$ go get github.com/beego/bee           # bee command line tool     
$ go get github.com/Masterminds/glide   # dependency manager
$ glide install

From here it's a normal BeeGo development cycle. Some useful commands:

# Start local server (with hot reload)
$ bee run

# Run all tests
$ go test $(glide nv) -v

Copying

GoSonic - Copyright (C) 2016 Deluan Cotts Quintao

The source code is licensed under GPL v3. License is available here