Rockbox mail archiveSubject: Regarding new recorder code
Regarding new recorder code
From: Daniel Stenberg <daniel_at_haxx.se>
Date: Thu, 23 Jan 2003 15:43:48 +0100 (CET)
Kjell and I did an audit of parts of the Rockbox code that deals with the LCD
on the recorder, and more specificly on scrolling. Kjell just now committed
the changes, and the news include:
* New scroll code
We've rewritten how multiple scrolls are being tracked and dealt with.
Scrolling the same physical line more than once (!) is no longer possible.
Doing lcd_puts_scroll() on the same position twice will only have the effect
that the second scroll will replace the first.
We also found and fixed some cases of "scroll leaks" where the amount of free
scrolls could run out and it would no longer scroll anything due to this!
* New stop (no pause)
lcd_stop_scroll() no longer refreshes the screen after the scrolls have been
stopped (as before). This is now also a much faster operation as we store the
scroll info as a bitpattern in a 32-bit word.
There is no longer any concept of paused scrollers. It was never used
properly and the corresponding resume was never used at all, so they are now
* New clear
lcd_clear_display() now stops the scrolls AND clears the frame buffer.
Previously it didn't stop the scrolls, why lots of code first stopped the
scroll (which refreshed the screen!) and then cleared the screen.
* WPS still does too many updates/scrolls
An artifact we noticed when working on fixing up the scrollers, is that when
we enter the WPS from the dir browser, the lcd_puts_scroll() function is
called *3* times with the exact same string and we also get loads of
This calls for some attention and more cleanups.
* Clock updates too often
Another item for closer checks: the time on the status bar is using minute
resolution, but lots of graphics-update code runs each second although it
should be perfectly clear that nothing new will be shown.
Over and out.
-- Daniel Stenberg -- http://rockbox.haxx.se/ -- http://daniel.haxx.se/Received on 2003-01-23