ArkPulse is a high-performance, scifi-industrial music player built with Flutter and Rust. It specializes in integrating remote WebDAV libraries into a seamless, high-fidelity local listening experience.
ArkPulse (codename: The Pulse) is designed with a "Flat Industrial" Neo-Brutalist aesthetic. It targets users who manage large remote music collections and want a native-feeling application that bridges the gap between cloud storage and local playback.
- Frontend: Flutter (3.2x+)
- Backend Core: Rust (via
flutter_rust_bridge) - Audio Engine: libmpv runtime backend (Native Rust)
- Persistence: SQLite (via
sqflite_common_ffi) - Connectivity: WebDAV (BFS Recursive Listing)
- WebDAV Mounts: Support for adding, editing, and persisting multiple WebDAV node profiles.
- Remote Streaming Playback: Native stream fetching and high-performance caching via Rust
libmpv. - Remote Metadata Extraction: Highly efficient retrieval of ID3/MP4/Vorbis tags and covert art using
loftyand HTTP chunk range requests without fetching the full files. - Lyric Integration: Embedded/external synchronized lyric scrolling tightly bound to the player view timeline.
- Virtual Playlists System: Support for creating, maintaining, and deleting local virtual playlists mapping to remote WebDAV files.
- Neo-Brutalism Interface: Strict flat sci-fi industrial aesthetic with mechanical interactions, responsive hover states, and dynamic glow matrices.
- State Persistence & Caching: Cache traversed file trees in SQLite to avoid recurring full sweeps upon restart.
- Global Deep Search: Multi-threaded fuzzy filtering across the entire synced WebDAV dashboard grid.
- Flutter SDK: Stable channel is recommended.
- Rust Toolchain:
latest-stablebranch. - LLVM: Required by
flutter_rust_bridgeto execute underlying FFI C-binding code generation.
No additional setup is required. The media_kit_libs_windows_audio plugin automatically downloads and bundles libmpv-2.dll into the build output during compilation.
flutter build windowsInstall the following system dependencies before building:
sudo apt install libmpv-dev mpvThe media_kit_libs_linux plugin handles linking at build time.
flutter build linuxmacOS builds require manual installation of mpv via Homebrew:
brew install mpv
flutter build macosArkPulse // The architecture of sound.