🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
Go to file
Deluan c4b660fce3 getNowPlaying.view working 2016-03-17 10:37:19 -04:00
api getNowPlaying.view working 2016-03-17 10:37:19 -04:00
bin Experimenting with iTunes Artwork 2016-03-14 18:09:32 -04:00
conf Halfway of getNowPlaying implementation 2016-03-17 10:08:47 -04:00
consts Implemented ProperyRepository. Now the Scanner stores the LastScan timestamp 2016-03-01 14:40:26 -05:00
controllers Removed unused file 2016-03-15 14:08:01 -04:00
domain implemented getStarred (just for albums, for now) 2016-03-14 11:35:48 -04:00
engine getNowPlaying.view working 2016-03-17 10:37:19 -04:00
itunesbridge Introduced engine.Scrobbler 2016-03-16 17:59:28 -04:00
persistence getNowPlaying.view working 2016-03-17 10:37:19 -04:00
scanner Cannot clear the index for now. 2016-03-16 23:44:24 -04:00
static getCoverArt.view working 2016-03-03 12:08:44 -05:00
tasks Task for continuously check for iTunes Library updates 2016-03-11 19:02:51 -05:00
tests Introduced engine.Scrobbler 2016-03-16 17:59:28 -04:00
utils Removed unused code 2016-03-13 23:25:43 -04:00
.gitignore Experimenting with iTunes Artwork 2016-03-14 18:09:32 -04:00
.gopmfile Ignoring accents in search 2016-03-15 16:23:39 -04:00
.travis.yml Ignoring accents in search 2016-03-15 16:23:39 -04:00
LICENSE LICENSE 2016-03-13 12:42:27 -04:00
README.md LICENSE 2016-03-13 12:42:27 -04:00
main.go Polishing 2016-03-15 13:17:51 -04:00

README.md

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:

  • Full compatibility with the available Subsonic clients (only being tested with DSub 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
  • Learning Go ;) Gopher

Supported Subsonic API version

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

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

Development Environment

You will need to install Go 1.6

Then install dependencies:

$ go get github.com/beego/bee   
$ go get github.com/gpmgo/gopm
$ gopm get -v -g

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

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

# Start test runner on the browser
$ NOLOG=1 goconvey --port 9090

# Run all tests
$ go test ./... -v

Copying

GoSonic - Copyright (C) 2016 Deluan Cotts Quintao

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