TUI/CLI sync tool for HiFi Digital Audio Players
v1.0.0 · released--yes / --dry-rundapctl export m3u generates a DAP-ready playlist from the same filters as sync/ incremental search, source toggle library ↔ DAP, synced lyrics (.lrc), play history + resume--jsonfolder.jpg via MusicBrainz → Cover Art Archive → iTunes fallback; 30-day cache; opt-in --online flagfolder.jpgsource = "ssh://user@host/path" in sync profiles; uses your existing ~/.ssh config, keys, and agent; zero extra dependencies# pre-built binaries — Linux · macOS · Windows $ github.com/marturojt/dapctl/releases/latest # from source (requires Rust 1.80+) $ cargo install --git https://github.com/marturojt/dapctl --tag v1.0.0 # Homebrew (macOS / Linux) $ brew tap marturojt/tap $ brew install dapctl # AUR / Scoop — coming soon # yay -S dapctl-bin (AUR) # scoop install dapctl (Scoop)
Pre-built static binaries for Linux (x86_64 + aarch64), macOS (universal), and Windows are available on the releases page. Source install requires Rust 1.80+ (rustup.rs).
--online (cover fetch / audit)v1.0.0 released — SSH source (ssh://user@host/path),dapctl cover embed (write cover art into track tags), dapctl profile delete(CLI + TUI with two-press confirm), 5 new builtin DAP profiles (7 total, all CI-validated), path-limit warnings from DAP firmware spec, typed error taxonomy with structured exit codes,NO_COLOR support, selective mode write-back, 54 tests.
v0.4.0 — synced lyrics (.lrc auto-scroll), play history + resume position, sleep timer, equalizer animation, library normalisation (case + diacritics), dapctl audit (offline library health: missing tags · absent covers · format mix · track gaps),dapctl cover fetch (MusicBrainz → Cover Art Archive → iTunes, opt-in--online, 30-day cache), TUI UX improvements across player · diff · wizard · profiles.
v0.3.0 — TUI audio player with SQLite-backed library browser (artist → album → track, tag-grouped), gapless playback, HiFi metadata display (sample rate · bit depth · bitrate · channels), / incremental search, source toggle library ↔ DAP destination, home landing screen.
v0.2.0 — blake3 checksum verification, tag-based filters (artist · genre · sample rate · bit depth), ffmpeg transcode pipeline with blake3-keyed cache, dapctl export m3u, 39 tests.
v0.1.0 — sync engine, TUI (profiles · diff · progress · log · wizard), real-world validated: 2,108 FLAC · 75 GB · HiBy R4 microSD.
→ v1.0.0 release notes → v0.4.0 release notes → v0.3.0 release notes → v0.2.0 release notes → v0.1.0 release notes → roadmap (BACKLOG.md)