Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/probablykasper/ferrum
Music library app for Mac, Linux and Windows
https://github.com/probablykasper/ferrum
electron linux macos music music-library music-player napi windows
Last synced: about 2 months ago
JSON representation
Music library app for Mac, Linux and Windows
- Host: GitHub
- URL: https://github.com/probablykasper/ferrum
- Owner: probablykasper
- Created: 2020-03-19T01:59:08.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-22T00:46:14.000Z (4 months ago)
- Last Synced: 2024-10-22T22:51:31.553Z (4 months ago)
- Topics: electron, linux, macos, music, music-library, music-player, napi, windows
- Language: Svelte
- Homepage: https://ferrum.kasper.space
- Size: 199 MB
- Stars: 46
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
Ferrum
Music library and player
Download for Mac, Windows or Linux
![Screenshot](assets/screenshot.png)
## Features
- Playlists & folders
- Filtering
- Queue
- Metadata editing
- Fast. Navigation, sorting & filtering should be instant even for libraries with 100 000 tracks
- Quick playlist navigation with CmdK or CtrlK## Dev instructions
### Get started
1. Install Node.js
2. Install Rust
3. Run `npm install`### Structure
App (Electron)
- Source: `src/electron.js` and `src/electron/`
- Build output: `build/app/`Web (the frontend)
- Source code: napi and `src/`
- Build output: `build/web/`Napi (the native Rust backend)
- Source code: `src-native/`
- Build output: `ferrum-addon/addon.node`### Commands
- `npm run dev`: Start app in dev mode
- `npm run dev-release`: Start app in dev mode (optimized)
- `npm run build`: Build
- `npm run lint`: Lint
- `npm run format`: Format### Publish new version
1. Run `npm run check`
2. Update `CHANGELOG.md`
3. Run `npm version --no-git-tag ` to bump the version number
4. Create a git tag in the format `v#.#.#`
5. Add release notes to the generated GitHub release and publish it