Skip to content

probablykasper/ferrum

Repository files navigation

Ferrum

Music library and player
Download for Mac, Windows or Linux


screen-recording.mp4

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.

Get it on Obtainium

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 <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