No description
  • Rust 84.4%
  • Slint 15.6%
Find a file
Samuel fbb2f90354 refactor: add UI‑side seek throttle & make listener run outside Player lock
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.
2026-07-16 18:25:55 +02:00
.vscode set up the project structure 2026-06-10 23:42:12 +02:00
input set up project 2026-06-10 23:43:46 +02:00
mp-core refactor: add UI‑side seek throttle & make listener run outside Player lock 2026-07-16 18:25:55 +02:00
music added a basic UI to test easier 2026-07-07 19:29:55 +02:00
services set up project 2026-06-10 23:43:46 +02:00
ui refactor: add UI‑side seek throttle & make listener run outside Player lock 2026-07-16 18:25:55 +02:00
.env.example set up the project structure 2026-06-10 23:42:12 +02:00
.gitignore set up the project structure 2026-06-10 23:42:12 +02:00
Cargo.lock the hole project git a rewrite. now the seeker bug is gone and all the code is so much more solid. still a vew smal improvements can be made tho 2026-07-14 18:46:21 +02:00
Cargo.toml set up project 2026-06-10 23:43:46 +02:00
README.md Update README.md 2026-07-14 18:52:22 +02:00

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