diff --git a/README.md b/README.md index 9f1a67a..510afcd 100644 --- a/README.md +++ b/README.md @@ -1,157 +1,85 @@ - +sonixd logo -
+# Sonixd -

- Electron React Boilerplate uses Electron, React, React Router, Webpack and React Fast Refresh. -

+ + Release + -
+ + Commits + + + License + -
+Sonixd is a cross-platform desktop client built for Subsonic-API compatible music servers. This project was inspired by the many existing clients, but aimed to address a few key issues including scalability, library management, and user experience. -[![Build Status][github-actions-status]][github-actions-url] -[![Dependency Status][david-image]][david-url] -[![DevDependency Status][david-dev-image]][david-dev-url] -[![Github Tag][github-tag-image]][github-tag-url] +## Features -[![OpenCollective](https://opencollective.com/electron-react-boilerplate/backers/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/electron-react-boilerplate/sponsors/badge.svg)](#sponsors) -[![Good first issues open][good-first-issue-image]][good-first-issue-url] -[![StackOverflow][stackoverflow-img]][stackoverflow-url] +- HTML5 audio with crossfading and gapless\* playback +- Drag and drop rows with multi-select +- Modify and save playlists intuitively +- Handles large playlists and queues +- Global mediakeys support +- Multi-theme support +- Supports all Subsonic API compatible servers targeting v1.15.0 +- Built with Electron, React with the [rsuite](https://github.com/rsuite/rsuite) component library -
+
* Gapless playback is artifically created using the crossfading players so it may not be perfect, YMMV.
+ +## Screenshots + + + + + ## Install -- **If you have installation or compilation issues with this project, please see [our debugging guide](https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/400)** +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` + +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/), 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!` + +## 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. First, clone the repo via git and install dependencies: ```bash -git clone --depth 1 --single-branch https://github.com/electron-react-boilerplate/electron-react-boilerplate.git your-project-name -cd your-project-name -yarn +git clone https://github.com/jeffvli/sonixd.git +yarn install ``` -## Starting Development - Start the app in the `dev` environment: ```bash yarn start ``` -## Packaging for Production - To package apps for the local platform: ```bash yarn package ``` -## Docs - -See our [docs and guides here](https://electron-react-boilerplate.js.org/docs/installation) - -## Donations - -**Donations will ensure the following:** - -- 🔨 Long term maintenance of the project -- 🛣 Progress on the [roadmap](https://electron-react-boilerplate.js.org/docs/roadmap) -- 🐛 Quick responses to bug reports and help requests - -## Backers - -Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/electron-react-boilerplate#backer)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Sponsors - -Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/electron-react-boilerplate-594#sponsor)] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -## Maintainers - -- [Amila Welihinda](https://github.com/amilajack) -- [John Tran](https://github.com/jooohhn) -- [C. T. Lin](https://github.com/chentsulin) -- [Jhen-Jie Hong](https://github.com/jhen0409) +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). ## License -MIT © [Electron React Boilerplate](https://github.com/electron-react-boilerplate) - -[github-actions-status]: https://github.com/electron-react-boilerplate/electron-react-boilerplate/workflows/Test/badge.svg -[github-actions-url]: https://github.com/electron-react-boilerplate/electron-react-boilerplate/actions -[github-tag-image]: https://img.shields.io/github/tag/electron-react-boilerplate/electron-react-boilerplate.svg?label=version -[github-tag-url]: https://github.com/electron-react-boilerplate/electron-react-boilerplate/releases/latest -[stackoverflow-img]: https://img.shields.io/badge/stackoverflow-electron_react_boilerplate-blue.svg -[stackoverflow-url]: https://stackoverflow.com/questions/tagged/electron-react-boilerplate -[david-image]: https://img.shields.io/david/electron-react-boilerplate/electron-react-boilerplate.svg -[david-url]: https://david-dm.org/electron-react-boilerplate/electron-react-boilerplate -[david-dev-image]: https://img.shields.io/david/dev/electron-react-boilerplate/electron-react-boilerplate.svg?label=devDependencies -[david-dev-url]: https://david-dm.org/electron-react-boilerplate/electron-react-boilerplate?type=dev -[good-first-issue-image]: https://img.shields.io/github/issues/electron-react-boilerplate/electron-react-boilerplate/good%20first%20issue.svg?label=good%20first%20issues -[good-first-issue-url]: https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues?q=is%3Aopen+is%3Aissue+label%3A"good+first+issue" +[GNU General Public License v3.0 ©](https://github.com/jeffvli/sonixd/blob/main/LICENSE) diff --git a/assets/banner.pdn b/assets/banner.pdn new file mode 100644 index 0000000..eeb9bfe Binary files /dev/null and b/assets/banner.pdn differ diff --git a/assets/banner2.pdn b/assets/banner2.pdn new file mode 100644 index 0000000..b076249 Binary files /dev/null and b/assets/banner2.pdn differ diff --git a/assets/screenshots/contextmenu.png b/assets/screenshots/contextmenu.png new file mode 100644 index 0000000..1f77052 Binary files /dev/null and b/assets/screenshots/contextmenu.png differ diff --git a/assets/screenshots/dashboard.png b/assets/screenshots/dashboard.png new file mode 100644 index 0000000..8d194f3 Binary files /dev/null and b/assets/screenshots/dashboard.png differ diff --git a/assets/screenshots/favorites.png b/assets/screenshots/favorites.png new file mode 100644 index 0000000..a18ae5c Binary files /dev/null and b/assets/screenshots/favorites.png differ diff --git a/assets/screenshots/playlist_list.png b/assets/screenshots/playlist_list.png new file mode 100644 index 0000000..29f8b2d Binary files /dev/null and b/assets/screenshots/playlist_list.png differ diff --git a/assets/screenshots/playlist_view.png b/assets/screenshots/playlist_view.png new file mode 100644 index 0000000..88ad5ea Binary files /dev/null and b/assets/screenshots/playlist_view.png differ diff --git a/package.json b/package.json index 7aaaea4..abcfe22 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "sonixd", "productName": "sonixd", - "description": "An electron-based subsonic-api compatible desktop media player", + "description": "A full-featured Subsonic API compatible cross-platform desktop client", "scripts": { "build": "concurrently \"yarn build:main\" \"yarn build:renderer\"", "build:main": "cross-env NODE_ENV=production webpack --config ./.erb/configs/webpack.config.main.prod.babel.js",