Highly performant and hack-able music player and manager
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| pkg | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
zplayer
Highly performant and hack-able music player and manager
Warning
In very alpha stage. Still very aspirational and building the foundational blocks.
Done
- Project setup
- Basic audio thread with support for vast majority of codecs (not all tested)
Roadmap
- Library
- Indexer
- Importing and syncing (handle filesystem changes)
- Best-effort automatic metadata handling based on folder structure and file naming
- Duplicate detection
- Blacklist/hide songs/files
- All songs view
- Artists view
- Artist view
- Albums view
- Album view
- Global search
- Semantic search (? could be a fun use of ML&LLMs + metadata extracted from audio like lyrics)
- Indexer
- Build everything from source (macOS is a pain right now for ffmpeg and SDL3)
- Cross-compilation (with CI/CD)
- Edit metadata
- Create album from audio files
- Integrated EQ
- Automatic volume normalization
- Visualizers (winamp style)
- Scriptable user interface
- Bindings for Lua (and/or Cyber)
- Dogfood by rewriting UI from native to the chosen scripting language
- Scriptable visualizer (use bindings from UI + shaders)
- Support streaming protocols
- (Optional) Integrate with yt-dlp