No description
- Rust 84.4%
- Slint 15.6%
Introduced a SeekLimiter in the UI layer that caps IPC seek commands to ~30 Hz while dragging and emits the final position immediately when drag ends.
Switched the player’s callback storage from a boxed closure to an Arc<dyn Fn(UiSnapshot)+Send+Sync>, allowing the listener to be cloned and invoked after the mutex is released.
Updated state‑update logic to clone both the snapshot and listener while locked, unlock immediately, then call the listener with the captured snapshot—ensuring no UI callback runs while holding the player lock.
All existing playback features (queue, shuffle, pause/resume, position updates, etc.) remain unchanged; mpv continues as the sole source of truth for time‑pos events.
|
||
|---|---|---|
| .vscode | ||
| input | ||
| mp-core | ||
| music | ||
| services | ||
| ui | ||
| .env.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
see obsidian note Projects/custom music player to see todo and status
this is a personal project in very very early stage of development so dont expect much