GNOME Bugzilla – Bug 565795
Seek bar reacting to mouse click and wheel events
Last modified: 2009-06-04 19:22:50 UTC
What does happen? Clicking into the seek bar doesn't do anything. Mouse wheel does nothing. What should happen? When clicking into the seek bar, the player seeks to the clicked position within the song. Using the mouse wheel within the seek bar skips +/- 10 seconds. I also increased the size of the seek bar by 125px. (Ideally, the seek bar would grow dynamically with the available size...)
Created attachment 125395 [details] [review] proposed patch (modifies 2 files) This implements the enhanced seek bar.
Created attachment 125396 [details] [review] patch for libbanshee (modifies 1 file) Note: The proposed changes respect the can_seek property, ie. clicking/wheel events only result in a seek if the played track is seekable. (E.g. internet radio streams cannot seek.) However, can_seek is not correctly set. I'm not sure, but this seems to be down to a (known?) problem in libbanshee and/or GStreamer with respects to can_seek, which is always set to true. Libbanshee contains a workaround in case the GStreamer pipeline doesn't support feature querying; however, at least for MP3 internet radio, the pipeline says it supports querying, but incorrectly says seeking is supported. The attached patch modifies libbanshee to always apply the workaround.
Thanks for the patch ! Please follow the code formatting guidelines from the HACKING file : indent with spaces, space before function parenthesis, etc.
Created attachment 125398 [details] [review] proposed patch (modifies 2 files) Sorry about the tabs. I've tried to use the space before parentheses as in the remainder of the source. Is this better?
Wow, Gtk.Scale doesn't handle the ScrollEvent and ButtonPress already? This will be good to have. In the OnScrollEvent override, why does it call OnSeekRequested outside the if ()? Use a space between methods (andArgs) We should probably bring the seek-a-bit logic out of src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying/FullscreenWindow.cs (which does 5% or 15% jump for 'slow' or 'fast' seek) into PlayerEngine or somewhere so it's consistent.
I committed a slightly tweaked version, thanks!
*** Bug 506672 has been marked as a duplicate of this bug. ***
*** Bug 537942 has been marked as a duplicate of this bug. ***