🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
Go to file
Deluan 4d1a4613d9 Moved Stream logic to engine layer 2016-03-09 09:12:26 -05:00
api Moved Stream logic to engine layer 2016-03-09 09:12:26 -05:00
bin added script to extract .itc artwork 2016-03-09 08:44:11 -05:00
conf Refactored coverart logic to engine layer 2016-03-08 23:05:54 -05:00
consts Implemented ProperyRepository. Now the Scanner stores the LastScan timestamp 2016-03-01 14:40:26 -05:00
controllers go fmt 2016-03-02 13:18:39 -05:00
domain Implemented getAlbumList with type=random 2016-03-08 21:54:32 -05:00
engine Moved Stream logic to engine layer 2016-03-09 09:12:26 -05:00
persistence Implemented getAlbumList with type=random 2016-03-08 21:54:32 -05:00
scanner Just use html.UnescapeString.... 2016-03-08 20:54:50 -05:00
static getCoverArt.view working 2016-03-03 12:08:44 -05:00
tests Converted all collections from repositories to *collections 2016-03-08 20:33:09 -05:00
utils Tests for time conversion utils 2016-03-08 19:29:56 -05:00
.gitignore Optimized import, only updating changed data and purging old data 2016-03-08 14:19:07 -05:00
.gopmfile Added size parameter to getCoverArt.view endpoint 2016-03-08 23:38:51 -05:00
.travis.yml Added size parameter to getCoverArt.view endpoint 2016-03-08 23:38:51 -05:00
LICENSE Adding Apache 2.0 license 2016-02-25 16:28:03 -05:00
README.md Linking to compatibility chart 2016-03-08 22:31:21 -05:00
main.go Optimized import, only updating changed data and purging old data 2016-03-08 14:19:07 -05:00

README.md

GoSonic

Build Status

About

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:

(Almost) up to date compatibility chart

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

Frameworks/Projects

REST/Web

DB

Testing