plac-for-apple-platform

Unofficial Roon client for Apple devices

gtk-adwaita: Seek feature GTK4's slider/range widget is shitty, thus this feature works shitty as well. There are no "drag ended" equivalent signal and drag start emits JUMP scroll type value change signal. Also, setting `false` to `sensitive` resets focus so long jump using keyboard is impossible too. Debouncing or throttling would help a little bit, but won't solve the problem fundamentally. Seek change events sent by server would resets drag operation. Valadoc shows no result for "throttle/debounce" and GTK4 seems to have no function and widget for that. Implementing debounce/throttle function by hand, testing that, and adding additional delay to seek triggered by seek is not acceptable given those won't work when a track is playing. The only way to solve this is implementing custom widget, which means re-implementing slider UI from scratch or carefully patching and workarounding GtkRange's internal implementation. Both are time-consuming, exhausting, negatively effects maintainability, and stupid. GTK4's rendered widget is great. Its API and abstraction are dogshit.

Changes

2 changed files (+31/-0)