Ferrum
Music library and player
Download for Mac, Linux, Windows or Android
https://github.com/user-attachments/assets/b73cdcf8-8abb-4d43-a5eb-582cad7e3075
## 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
## Android
The Android app is not useful yet, unless you just want you browse your library. There's no playback or syncing. You have to manually copy over your Library.json file.
## 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-version ` 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