FS#11645 - Album Art and conditional with timing

Attached to Project: Rockbox
Opened by Carsten Eckartsberg (AsusFreak) - Tuesday, 28 September 2010, 15:46 GMT
Last edited by Jonathan Gordon (jdgordon) - Tuesday, 12 October 2010, 10:16 GMT
Task Type Bugs
Category Themes
Status Closed
Assigned To No-one
Operating System Cowon D2
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No



I got a problem with the timing of the album art drawing.
In past builds the attached code leads to a static album art in the background and alternating showing of the bitmap(button) and the text line.
It did behave like this:
1. Album Art is drawn
2. text line is shown as overlay, because touchscreen is not pressed.
3. If touchscreen is pressed the textline disappears and the bitmap (button) is shown for 2 seconds.
4. After 2 seconds the button disappears and the textline is shown again.
In the past you did not see any black squares at the place where an item disappeared - the album art seemed to be redrawn after the timer got to zero.
My last working build was r27530.

Now with an actual build (r28177) it seems to be that the album art isn't drawn so often. As a result the black squares stay on the screen. This leads to ugly effects with my AF_Black theme:

I tried to place more %Cd lines in the code just to force a redrawing of the album art but this did not work, too.

The simplified code for testing purposes is here:

# disable the status bar

# preloads album art 240x240

# preload images

# Show Album Art

# Touchscreen pressed ?
# Yes -> Viewport p
# No -> Viewport n

# Yes -> Show Onscreen Buttons

# No -> Show text as overlay
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Tuesday, 12 October 2010, 10:16 GMT
Reason for closing:  Not a Bug
Additional comments about closing:  see comment
Comment by Jonathan Gordon (jdgordon) - Sunday, 10 October 2010, 23:45 GMT
does this still happen?
Comment by Jonathan Gordon (jdgordon) - Tuesday, 12 October 2010, 10:16 GMT
not a bug.

Your AA is in a conditional viewport which gets cleared when a button is pressed (you disable the k viewport), to fix this you just need to make sure the k viewport is redrawn every time the touch changes (so on or off)... i.e simple fix is add %Vd(k) in line 141.