# Subsonic TUI **NOTE ⚠ !!: This is under heavy development! Do not fork just yet. Im still force pushing to main!** A Subsonic client and player written in go. subsonictui (Name in progress) is a simple and easy to use player for Linux, Mac and (yes...) Windows.

Screenshot Screenshot mini player

> Note: Screenshots blurred for (I dont know) copyright issues? ## Features - [x] Browse Artists/Albums/Playlists - [x] Artist view - [x] Playlist view - [x] Miniplayer on small screen - [x] Album view - [x] Search - [x] Playback - [x] Scrobble (configurable) - [x] Play album - [x] Shuffle album - [x] Add album to queue - [x] Add song to queue - [x] Play Next/Prev - [x] Stop/Pause - [x] Generate artist radio - [x] Generate song radio - [ ] Desktop integration - [x] Linux (MPRIS) - [ ] Windows - [ ] MacOS - [ ] Playlist management - [ ] Add song to playlist - [ ] Create playlist from queue ## Keybindings | Key(s) | Action | |------------------------------------------------------------------------------|----------------------------------------| | ` | Focus on Main pane | | 1 | Focus on Atrists pane | | 2 | Focus on Albums pane | | 3 | Focus on Playlists pane | | 4 | Focus on Queue pane | | Arrow keys or h j k l | Navigation in a pane | | g | Jump to first item in a list of a pane | | G | Jump to last item in a list of a pane | | n | Next song | | N | Prev song | | q | Exit | | r | While on a song - Start Song radio | | s | Playback - Stop | | p | Playback - Toggle Play/Pause | | c | Stop, clear queue | | / | Search | | ? | Help | ## Config `subsonictui` stores a config file at: - Linux: `$HOME/.config/subsonictui/config.yaml` - macOS: `$HOME/Library/Application Support/subsonictui/config.yaml` - Windows: `C:\\Users\%USER%\AppData\Roaming\subsonictui\config.yaml` ## Development ### Build Dependencies subsonictui uses [Beep](https://github.com/faiface/beep), that uses [OTO](https://github.com/hajimehoshi/oto) under the hood, so you will need OTO dependencies. Mainly on Linux you will need `alsa-devel`. To Build the project: ``` $ make build ``` ## Special Thanks subsonictui is built on top of a few projects. I would like to thank them here - [go-subsonic](https://github.com/delucks/go-subsonic) - [OTO](https://github.com/hajimehoshi/oto) - [Beep](https://github.com/faiface/beep) - [tview](https://github.com/rivo/tview) - [tcell](https://github.com/gdamore/tcell) - [MPRIS server](https://github.com/quarckster/go-mpris-server) Thank you for creating wondeful software that everyone can use. Including myself.