Tunio Desktop client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
5.6 KiB

<img src="assets/icon.png" alt="sonixd logo" title="sonixd" align="right" height="60px" />
3 years ago
# Sonixd
3 years ago
<a href="https://github.com/jeffvli/sonixd/releases">
3 years ago
<img src="https://img.shields.io/github/v/release/jeffvli/sonixd?style=flat-square&color=blue"
alt="Release">
</a>
<a href="https://github.com/jeffvli/sonixd/blob/main/LICENSE">
3 years ago
<img src="https://img.shields.io/github/license/jeffvli/sonixd?style=flat-square&color=brightgreen"
alt="License">
</a>
3 years ago
<a href="https://github.com/jeffvli/sonixd/releases">
<img src="https://img.shields.io/github/downloads/jeffvli/sonixd/total?style=flat-square&color=orange"
alt="Downloads">
</a>
3 years ago
3 years ago
Sonixd is a cross-platform desktop client built for Subsonic-API (and Jellyfin in 0.8.0+) compatible music servers. This project was inspired by the many existing clients, but aimed to address a few key issues including <strong>scalability</strong>, <strong>library management</strong>, and <strong>user experience</strong>.
3 years ago
- [**Usage documentation & FAQ**](https://github.com/jeffvli/sonixd/discussions/15)
- [**Theming documentation**](https://github.com/jeffvli/sonixd/discussions/61)
3 years ago
Sonixd has been tested on the following: [Navidrome](https://github.com/navidrome/navidrome), [Airsonic](https://github.com/airsonic/airsonic), [Airsonic-Advanced](https://github.com/airsonic-advanced/airsonic-advanced), [Supysonic](https://github.com/spl0k/supysonic), [Gonic](https://github.com/sentriz/gonic), [Astiga](https://asti.ga/), [Jellyfin](https://github.com/jellyfin/jellyfin)
3 years ago
## Features
3 years ago
- HTML5 audio with crossfading and gapless\* playback
- Drag and drop rows with multi-select
- Modify and save playlists intuitively
- Handles large playlists and queues
3 years ago
- Global mediakeys (and partial MPRIS) support
- Multi-theme support
3 years ago
- Supports all Subsonic/Jellyfin API compatible servers
3 years ago
- Built with Electron, React with the [rsuite v4](https://github.com/rsuite/rsuite) component library
3 years ago
<h5>* Gapless playback is artifically created using the crossfading players so it may not be perfect, YMMV.</h5>
## Screenshots
<a href="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/album.png"><img src="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/album.png" width="49.5%"/></a>
<a href="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/artist.png"><img src="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/artist.png" width="49.5%"/></a>
<a href="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/context_menu.png"><img src="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/context_menu.png" width="49.5%"/></a>
<a href="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/now_playing.png"><img src="https://raw.githubusercontent.com/jeffvli/sonixd/main/assets/screenshots/0.5.0/now_playing.png" width="49.5%"/></a>
3 years ago
## Install
You can install sonixd by downloading the [latest release](https://github.com/jeffvli/sonixd/releases) for your specified operating system.
- Windows: `.exe`
- Linux: `.AppImage`
- MacOS: `.dmg`
3 years ago
---
3 years ago
### Windows
If you prefer not to download the release binary, you can install using `winget`.
Using your favorite terminal (cmd/pwsh):
```
winget install sonixd
```
3 years ago
---
3 years ago
### Arch Linux
There is an AUR package of the latest AppImage release available [here](https://aur.archlinux.org/packages/sonixd-appimage).
To install it you can use your favourite AUR package manager and install the package: `sonixd-appimage`
For example using `yay`:
3 years ago
```
yay -S sonixd-appimage
```
If you encounter any problems please comment on the [AUR](https://aur.archlinux.org/packages/sonixd-appimage) or contact the [maintainer](mailto:robin@blckct.io) directly before you open an issue here.
---
3 years ago
3 years ago
Once installed, run the application and sign in to your music server with the following details. If you are using [airsonic-advanced](https://github.com/airsonic-advanced/airsonic-advanced), you will need to make sure that you create a `decodable` credential for your login user within the admin control panel.
- Server - `e.g. http://localhost:4040/`
- User name - `e.g. admin`
- Password - `e.g. supersecret!`
If you have any questions, feel free to check out the [Usage Documentation & FAQ](https://github.com/jeffvli/sonixd/discussions/15).
## Development / Contributing
This project is built off of [electron-react-boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate) v2.3.0.
If you want to contribute to this project, please first create an [issue](https://github.com/jeffvli/sonixd/issues/new) or [discussion](https://github.com/jeffvli/sonixd/discussions/new) so that we can both discuss the idea and its feasability for integration.
3 years ago
First, clone the repo via git and install dependencies:
```bash
git clone https://github.com/jeffvli/sonixd.git
yarn install
3 years ago
```
Start the app in the `dev` environment:
```bash
yarn start
```
To package apps for the local platform:
```bash
yarn package
```
3 years ago
If you receive errors while packaging the application, try upgrading/downgrading your Node version (tested on v14.16.1).
If you are unable to run via debug in VS Code, check troubleshooting steps [here](https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/2757#issuecomment-784200527).
If your devtools extensions are failing to run/install, check troubleshooting steps [here](https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/2788).
3 years ago
## License
[GNU General Public License v3.0 ©](https://github.com/jeffvli/sonixd/blob/main/LICENSE)