1 # subclient 2 3 `subclient` is a minimal player for subsonic compatible servers. 4 It's just really glue code between the subsonic API and the `mpv` player, which 5 uses in the background, presented with an spartan ncurses interface. 6 7 The whole program is a bit rough around the edges, and the functionality is 8 pretty minimal, but it's functional and I plan to expand it a bit to cover all 9 my needs. 10 11 ## Installation 12 I haven't yet published it to pypi, so to install: 13 14 * clone this repo 15 * install from local: 16 `pip install --user .` 17 18 This installs a executable called `subclient` you can call from your terminal. 19 This assumes you have the path pip puts the executables in in your `$PATH`. 20 For OpenBSD and Linux, this is usually `~/.local/bin`, for Mac 21 `~/Library/Python/<PythonVersion>/bin`. If you're a Windows user, I'm truly 22 sorry about that and you have my sincere condolences, but I guess nowadays it 23 should work somehow with the WSL thingy. 24 25 ## Configuration 26 `subclient` expects to find a config file on `$XDG_CONFIG_HOME/subclient.ini` 27 or if `$XDG_CONFIG_HOME` is not defined, on `~/.config/subclient.ini`. 28 29 The config file looks like this: 30 31 ``` 32 [subclient] 33 url = https://my.subsonic.server.tld 34 username = myuser 35 password = mypassword 36 ``` 37 38 All config items are mandatory. 39 40 ## Usage 41 On start you'll be presented with a list of artists that `subclient` gets from 42 the subsonic server. 43 44 You can then navigate the list with `j` for down and `k` for up. `l` 45 _"enters"_ the next category (albums) from the selected artist, and `h` 46 _"exits"_ back to the artists list. When you're on the albums list `l` enters 47 the songs list, so you have 3 levels artists/albums/songs you can navigate. 48 49 With `f` and `b` you can go a page forwards/backwards on a given list. 50 51 `enter` starts playing at the song position until the end of the current list. 52 This only works from the songs view for now. `space` pauses/resumes playback. 53 `n` plays the next song on the list, and `p` the previous one. 54 55 There is no support to play, create or remove playlists for the moment. But 56 I plan to implement that functionality. 57 58 `q` quits the program. 59 60 You'll find a somewhat useful window at the bottom with information of the 61 current song being played. 62 63 ## License 64 Check the LICENSE file, but basically this is published under the ISC license.