quintodrome/README.md

68 lines
2.4 KiB
Markdown
Raw Normal View History

2016-02-26 07:39:14 -09:00
GoSonic
2016-02-24 14:28:23 -09:00
=======
[![Build Status](https://travis-ci.org/deluan/gosonic.svg?branch=master)](https://travis-ci.org/deluan/gosonic) [![Go Report Card](https://goreportcard.com/badge/github.com/deluan/gosonic)](https://goreportcard.com/report/github.com/deluan/gosonic)
2016-02-26 06:56:57 -09:00
__This is still a work in progress, and has no releases available__
2016-02-25 09:51:20 -09:00
2016-02-24 14:28:23 -09:00
GoSonic is an application that implements the [Subsonic API](http://www.subsonic.org/pages/api.jsp), but instead of
having its own music library like the original [Subsonic application](http://www.subsonic.org), it interacts directly
with your iTunes library.
2016-02-24 15:23:04 -09:00
The project's main goals are:
2016-02-25 21:45:04 -09:00
2016-03-24 20:04:22 -08:00
* Be fully compatible with available [Subsonic clients](http://www.subsonic.org/pages/apps.jsp)
(actively being tested with
2016-03-31 18:28:33 -08:00
[DSub](http://www.subsonic.org/pages/apps.jsp#dsub),
[SubFire](http://www.subsonic.org/pages/apps.jsp#subfire) and
2016-02-26 06:56:57 -09:00
[Jamstash](http://www.subsonic.org/pages/apps.jsp#jamstash))
2016-02-29 10:16:51 -09:00
* Use all metadata from iTunes, so that you can keep using iTunes to manage your music
2016-03-31 18:28:33 -08:00
* 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
2016-03-24 20:04:22 -08:00
* Help me learn Go ;) [![Gopher](https://blog.golang.org/favicon.ico)](https://golang.org)
2016-02-24 14:28:23 -09:00
2016-02-25 21:45:04 -09:00
2016-03-09 14:28:11 -09:00
### Supported Subsonic API version
2016-02-29 10:16:51 -09:00
2016-03-21 13:30:58 -08:00
I'm currently trying to implement all functionality from API v1.8.0, with some exceptions.
2016-03-10 08:03:08 -09:00
2016-03-09 14:28:11 -09:00
Check the (almost) up to date [compatibility chart](https://github.com/deluan/gosonic/wiki/Compatibility) for what is working.
2016-02-24 14:28:23 -09:00
2016-03-31 18:28:33 -08:00
### 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.
2016-02-26 07:39:14 -09:00
### Development Environment
You will need to install [Go 1.6](https://golang.org/dl/)
2016-02-29 10:16:51 -09:00
2016-02-26 07:39:14 -09:00
Then install dependencies:
```
2016-03-25 08:53:23 -08:00
$ go get github.com/beego/bee # bee command line tool
$ go get github.com/Masterminds/glide # dependency manager
$ glide install
2016-02-26 07:39:14 -09:00
```
2016-02-29 10:16:51 -09:00
From here it's a normal [BeeGo](http://beego.me) development cycle. Some useful commands:
2016-02-26 07:39:14 -09:00
2016-02-26 23:35:01 -09:00
```bash
# Start local server (with hot reload)
$ bee run
2016-02-29 10:16:51 -09:00
# Run all tests
2016-03-25 08:53:23 -08:00
$ go test $(glide nv) -v
2016-02-26 23:35:01 -09:00
```
2016-02-26 07:39:14 -09:00
2016-02-24 14:28:23 -09:00
2016-03-13 08:33:40 -08:00
### Copying
2016-02-24 14:28:23 -09:00
2016-03-13 08:33:40 -08:00
GoSonic - Copyright (C) 2016 Deluan Cotts Quintao
2016-02-23 14:41:35 -09:00
2016-03-31 18:28:33 -08:00
The source code is licensed under GPL v3. License is available [here](/LICENSE)