.erb | ||
.github | ||
.husky | ||
.vscode | ||
assets | ||
media | ||
release/app | ||
src | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.prettierrc | ||
.stylelintrc.json | ||
CHANGELOG.md | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json | ||
vercel.json |
Feishin
Rewrite of Sonixd.
Features
- MPV player backend
- Web player backend
- Modern UI
- Scrobble playback to your server
- Smart playlist editor (Navidrome)
- Synchronized and unsynchronized lyrics support
- Request a feature or view taskboard
Screenshots
Getting Started
Download the latest desktop client.
If you're using a device running macOS 12 (Monterey) or higher, check here for instructions on how to remove the app from quarantine.
Configuration
-
Upon startup you will be greeted with a prompt to select the path to your MPV binary. If you do not have MPV installed, you can download it here or install it using any package manager supported by your OS. After inputting the path, restart the app.
-
After restarting the app, you will be prompted to select a server. Click the
Open menu
button and selectManage servers
. Click theAdd server
button in the popup and fill out all applicable details. You will need to enter the full URL to your server, including the protocol and port if applicable (e.g.https://navidrome.my-server.com
orhttp://192.168.0.1:4533
).
- Navidrome - For the best experience, select "Save password" when creating the server and configure the
SessionTimeout
setting in your Navidrome config to a larger value (e.g. 72h).
FAQ
MPV is either not working or is rapidly switching between pause/play states
First thing to do is check that your MPV binary path is correct. Navigate to the settings page and re-set the path and restart the app. If your issue still isn't resolved, try reinstalling MPV. Known working versions include v0.35.x
and v0.36.x
. v0.34.x
is a known broken version.
What music servers does Feishin support?
Feishin supports any music server that implements a Navidrome or Jellyfin API. Subsonic API is not currently supported. This will likely be added in later when the new Subsonic API is decided on.
Development
Built and tested using Node v16.15.0
.
This project is built off of electron-react-boilerplate v4.6.0.