[mythtv] MePo-wide. A New Mythtv Theme now available for downlaod.

Jack Perveiler perveilerj at yahoo.com
Sun Jan 7 03:16:03 UTC 2007


> 
> > Jack Perveiler wrote:
> > >>>> Cool. The only issue I've seen within the core myth stuff is the  
> > >>>> thumbnail on the watch recordings not changing when selecting a new  
> > >>>> video. I don't have video previews on and I view with group  
> > >>>> information on. It changes when I hit a new group, but not once I  
> > >>>> enter the group and scroll through the videos.
> > >>>>
> > >>>>         
> > >>> There's also a problem with mixed aspect ratio preview images.  If a
> 4:3
> > >>> preview image is shown, and then a 16:9, the 16:9 is drawn on top of
> the
> > >>>       
> > >> old
> > >>     
> > >>> 4:3 and the result is you can see the bottom of the previous 4:3
> preview
> > >>> thumbnail (because the 16:9 thumbnail has less height).  It appears
> that
> > >>>       
> > >> maybe
> > >>     
> > >>> the preview thumbnail area isn't being redrawn with the background
> > >>>       
> > >> color/image
> > >>     
> > >>> before the new image is drawn in it's place?
> > >>>
> > >>> I'm using an older svn version (r11369), so I guess that could be the
> > >>>       
> > >> problem,
> > >>     
> > >>> but it works for Retro so I thought it might be theme-related.
> > >>>
> > >>> --Jack
> > >>>   
> > >>>       
> > >
> > >   
> > >> thnax guys, keep 'em coming. Right now I'm still focusing mostly on 
> > >> completing the theme but I will certainly look at these issues as I near
> 
> > >> completion
> > >>     
> > >
> > > So I spent some time troubleshooting these issues (I updated to r12418)
> and
> > > this is what I've found:
> > >
> > > 1) The repaint event is indeed being generated
> > > 2) The event does indeed intersect with the PlaybackBox::drawVideoBounds,
> > and
> > > PlaybackBox::updateVideo does get called
> > > 3) The line in updateVideo that draws the pixmap
> > > (p->drawPixmap(drawVideoBounds.x(), drawVideoBounds.y(), temp) appears to
> > get
> > > called (at least I verified that temp.width() > 0, which is the condition
> > on
> > > the drawPixmap line).
> > > 4) PlaybackBox::curitem points the new new item (i.e. it isn't a case of
> > "yes,
> > > we're drawing, but it's the old item getting drawn again")
> > > 5) If I try to draw the pixmap over the left or right panes of the
> > > recording/group lists both the aspect ratio and the not-getting-update
> > issues
> > > go away.
> > >
> > > So as best as I can tell, we're trying to paint the right thing at the
> > right
> > > place at the right time, and the QPainter just isn't getting it done. 
> > Also, I
> > > don't see the theme's draworder being used anyplace in PlaybackBox.  Is
> > that
> > > right?
> > >
> > > I have a couple of other things I still have to try (I'd like to take the
> > > pixmap out of the picture and alternate drawing black/white boxes so I
> know
> > it
> > > really isn't getting redrawn, maybe draw the same pixmap twice... once
> > where it
> > > isn't working, once in the region where it is, etc).  But if someone out
> > there
> > > understands QT painting better than I do (I just started reading the
> online
> > > docs last night) than I'm all ears...
> > >
> > > --Jack
> > >
> > >
> 
> > you're talking about the preiews in "watch recordings" screen. correct? 
> > If so, I am unable to reproduce the issue. for me, both 4:3 and 16:9 
> > have the same size and preview just fine.
> 
> Yep, that's what we're talking about.  Odd that it works for you but not for
> some.  I'm using a 1280x720 modeline... is that what you're using too?
> 
> I've collected another data point:  If I move the selection bar to a new item
> in the right pane, and the preview image doesn't get updated (it never does),
> and if I then take an xterm and push it in front of part of the preview image
> and then minimize it, the part of the image that was covered temporarily by
> the
> xterm gets redrawn with the correct pixmap.  What I end up with is a mostly
> old
> pixmap on the screen with a small section being correct (the part that was
> covered then cleared by the xterm).
> 
> I'm not very familiar with qt screen drawing, but it appears like the
> QPaintDevice (the PlaybackBox) is drawn onto and then not totally refreshed
> to
> the screen.  Guess that's where I'll look next.  But not tonight, football is
> recording :)
> 
> -Jack
> 

Ok, it's halftime and I have this figured out.

It turns out that if you press DOWN (or UP) and aren't in the Title section
(the left, group pane) then instead of updating the whole screen like the other
direction keys only the selector and info areas are redrawn.  It appears MePo
is different in that it's video and info areas don't overlap, and thus the
video area doesn't necessarily get redrawn.

A quick fix to the theme is to change the program_info_[play|delete] areas to
span the entire width:

<area>30,480,870,210</area>  becomes <area>30,480,1220,210</area>

This brings up two (unrelated) questions:
1) is there a good reason not to call update on the drawVideoBounds as well in
non-title (right pane) portions of PlaybackBox::cursorUp() and
PlaybackBox::cursorDown()?  I haven't tested that this fixes the issue (still
recording football), but it seems logical.

2)I noticed that PlaybackBox::updateVideo() just draws the preview pixmap in
it's current size rather than scaling it to the drawVideoBounds size.  Is this
intentional?  If not, it seems like we could either scale it on the fly or
maybe regenerate all the preview pixmaps on a theme change?

--Jack


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the mythtv-dev mailing list