Version: 2.4.3 (using KDE 4.7.1)
Currently, amarok automatically scrolls the lyrics by a simple strategy: If the song has been played for x %, it sets the scrollbar to x % as well.
This already is a great feature and it works best at around 50%, but gets imprecise at the beginning and the end of a song. Why? Because after x %, you want to *center* the lyric-line that is at x %. Example:
Let's - for simplicity's sake - assume the song lasts 100 seconds and there are 100 lines of lyrics. Then you want to see line 1 in second 1, line 2 in second 2, and so forth. But that's not achieved by scrolling x % in second x, because line 1 already starts vanishing in second 2 (which currently happens).
I suggest fixing this by telling the scrolling widget to center line x in second x. By trying to center line 1 in second one, it would scroll up, and by centering line 2 in second 2, it would (assuming the display is not too small) stay right there. Only after the song has progressed for (displayheight / 2) seconds (still in my 100-example ;) ), it would start scrolling down. When the end of the song is reached, there is a similar situation.
This way, autoscrolling would be much more robust to intros, outros and instrumental parts.
Steps to Reproduce:
Watch lyrics on long songs with instrumental intro and autoscroll activated.
Lyrics aren't scrolled very smart.
Lyrics should be scrolled a little smarter.
I tried to track down where changes in the source would have to be applied, and I found LyicsAppletPrivat::_trackPositionChanged(...). It appears to basically set the slider position to (position/trackLength)*maxPosition, while it should set it to sth. like
max(0, (position/trackLength - (displayedPercentage/2))*maxPosition)
Unfortunately, I'm unfamiliar with Qt, KDE and Amarok programming, so I can't give it a try in reasonable time :(
But I hope you like the idea and can do this in a few minutes :)
(or give me a hint of what to do / where to start / how to test so I can try to write a patch)
Should also provide a preference to TURN OFF the auto-scrolling abomination.
(In reply to comment #1)
> Should also provide a preference to TURN OFF the auto-scrolling abomination.
Did you ever use it? You can disable it, check again :)
On 21/11/2011 17:17, Myriam Schweingruber wrote:
>> Should also provide a preference to TURN OFF the auto-scrolling abomination.
> Did you ever use it? You can disable it, check again :)
Please tell me how. I have found nothing in the GUI, and nothing that
looks like "en/disable scrolling" for the lyrics applet in the rc files.
My guess is that it got switched on by a dist-upgrade :-(
(In reply to comment #3)
> On 21/11/2011 17:17, Myriam Schweingruber wrote:
> >> Should also provide a preference to TURN OFF the auto-scrolling abomination.
> > Did you ever use it? You can disable it, check again :)
> Please tell me how. I have found nothing in the GUI, and nothing that
> looks like "en/disable scrolling" for the lyrics applet in the rc files.
Check again, there is an icon for it with a tooltip to the left of the green refresh icon.
Created attachment 66061 [details]
screenshot: lyrics settings
Nothing to see there - see screenshot. Maybe something recent on a dev branch?
Amarok Version 2.4.3
Using KDE 4.7.2 (4.7.2)
(as delivered via Kubuntu 11.10)
Created attachment 66096 [details]
Screenshot of the Lyrics applet
Why do you look in the settings? Check the button left of the green refresh button.
Automatic Lyrics scrolling with this button is available since Amarok 2.4.3, nothing was changed in that code since.
On 26/11/2011 18:10, Myriam Schweingruber wrote:
> Why do you look in the settings? Check the button left of the green refresh
Because when I click on the button to the left of the green arrow
nothing happens. When I right-click that button the only menu option is
"Lyrics Settings". If I click the spanner button to the _right_ of the
green arrow all I get is "Lyrics Settings".
Do you think the Kubuntu distro has messed up something in the build? If
so I can take it up with them rather than annoying you-all with what
appears, after all, to now be a support issue... ;-) (But thanks for the
help, anyway! :)
I very much doubt that as I also use Kubuntu and that button works as it should. Maybe something is wrong in your installation, please check that all packages have the correct version.
Returning to the originial report about improving the autoscroll - in which im highly interested myself - the status is NEEDSINFO as WAITINGFORINFO. What info is needed?
(In reply to comment #10)
> Returning to the originial report about improving the autoscroll - in which im
> highly interested myself - the status is NEEDSINFO as WAITINGFORINFO. What info
> is needed?
Please read comments #8 and #9
uhm, maybe its just me, but i cant see anything relevant there.
the original report from Stephan Friedrichs was about improving the autoscroll in a way that attempts to keep the _current_ line of the lyrics in the _middle_ of the screen, as opposed to the current behaviour of scroll to x% of the lyrics after x% of the song has played. this current behaviour is ok in the middle of a song, but during the intro/outro of a song you can end up with the current line beeing invisible, because it has already scrolled off/not yet scrolled in.
from post #1 through post #9 happened a highjacked discussion between you and Mike Morris about turning off autoscroll.
You are right, changing status
Git commit c4386adf8963c65e5bee5dedb8536f1e6594fcb1 by Sam Lade.
Committed on 14/05/2012 at 03:02.
Pushed by lade into branch 'master'.
Lyrics applet scrolls more intelligently
Aim to keep the current position in the lyrics centred, rather than
directly moving the scroll bar based on the position in the song.
Patch by Alexander Potashev.
M +2 -0 ChangeLog
M +7 -2 src/context/applets/lyrics/LyricsApplet.cpp