GNOME Bugzilla – Bug 564313
Applet slider not instantaneous
Last modified: 2009-03-12 10:54:23 UTC
The slider only updates the volume when released. It would be better if it updated on-the-fly. A bit of work might be needed not to flood PA with requests though.
Maybe. I tried it and didn't like it. We also probably want to have it "ping" when the volume changes and that only makes sense if it is discontinuous. We can try it again I guess.
You could only have it ping when you release the slider. I think instantaneous would be fine as long as the slider doesn't lag.
Yeah, I think you are right. We should: * make it change right away * throttle the change events * make sure we don't try to set the position of the slider when the user is manipulating it * make sure it doesn't lag * make it "ping" when the slider is released
Created attachment 126287 [details] [review] gvc-instant-volume-change.patch This seemed to work fine for me.
I used this one-liner to change the volume while I was changing it in the applet: sleep 5 ; echo "set-sink-volume 0 50000" | pacmd
Seems to work for me too. Committed to trunk. Thanks!
This is broken. See https://bugzilla.redhat.com/show_bug.cgi?id=485979#c7 I believe the scroll code is broken too.
Created attachment 130460 [details] [review] gvc-fix-zero-adj-usage.patch Fixes use of zero_adjustment. Makes drag/release work and unmute as required, and fixes the same problems in the wheel scroll (both on the scale in the applet, and the applet icon itself).
2009-03-12 Bastien Nocera <hadess@hadess.net> * src/gvc-balance-bar.c (_scale_box_new), (gvc_balance_bar_set_balance_type), (gvc_balance_bar_set_property), (gvc_balance_bar_class_init), (on_adjustment_value_changed), (gvc_balance_bar_init), (gvc_balance_bar_new): Fix use of the zero_adjustment GtkAdjustment in slider callbacks, export gvc_channel_bar_scroll * src/gvc-balance-bar.h: Export gvc_channel_bar_scroll * src/gvc-stream-status-icon.c (on_status_icon_scroll_event): Use gvc_channel_bar_scroll instead of our own code (Closes: #564313)