[mythtv-users] Question about 0.24 osd.xml values

Michael T. Dean mtdean at thirdcontact.com
Sat Jan 8 17:11:42 UTC 2011


  On 01/08/2011 10:11 AM, Dave Sp wrote:
> On Tue, Jan 4, 2011 at 6:09 PM, Rick<rbonafied at gmail.com>  wrote:
>
>> Hi,
>>
>> Is there a way to change the fade out time of the OSD with the new theme
>> engine?
>>
>> Also, is there a place that shows the different available substitution
>> values for some of the fields?
>>
>> For example I saw this in the Terra osd.xml:
>>   <template>%PLAYEDTIME% of %TOTALTIME%\n%(|REMAININGTIME|
>> remaining)%%(|BEHINDTIME| behind)%</template>
>>
>> Thanks!
>>
> After cscope-ing around in the code, it looks to me like it's hard-coded.
>
> All calls to "UpdateOSDStatus" and "UpdateOSDSeekMessage" seem to use either
> no timeout or the "medium" timeout ("kOSDTimeout_Med").
>
> "kOSDTimeout_Med" is part of an enum ("OSDTimeout") which is ultimately used
> as an index to the array "m_Timeouts", and that array is initialized in
> "SetTimeouts", which seems to be called in only one place, and with a
> hard-coded medium value of "5000".
>
> There *is* a mechanism in the code to allow for custom timeout values (by
> passing an optional parameter with the custom timeout), but it looks like
> that's isn't currently being used for the OSD timeout.
>
> So that's why I believe it's not configurable in the current release; I hope
> I'm wrong.  :-)

Right.  There are multiple positions on where we're going with this.

Some want 3 separate settings to allow user-specified short, medium, and 
long timeouts.

I don't want 3 settings--so I prefer 3 reasonable hard-coded timeouts or 
theme control of the timeouts.  My reasoning is that no user is likely 
to know which OSDs use short, medium, and long timeouts, so asking them 
how long to display short, medium, and long timeouts will likely be 
confusing ("I just want the program description to stay for 10s.  Do I 
change short, medium, or long?"), so the settings add little value at 
the expense of confusion).  And, once we allow that level of user 
adjustment, someone will say, "Well, OSD A and B both use medium, but I 
want A to use long and B to use medium.  How can I change that?"  (And 
the only sensible way to allow that level of control is to have the 
theme control it.)

Regardless of which way we go, no one has gone through the current code 
and done a complete scrub of all the OSDs and changed things to actually 
use short/medium/long timeouts where appropriate.  Mark got the 
most-important ones, but I don't think anyone was willing to 
unilaterally decide which should use which.  So, if someone were to do 
up a nice list of all the OSDs, the timeouts they currently use 
(short/medium/long), and a proposed timeout they should use 
(short/medium/long), it would likely be a great start toward making them 
all useful.  Even if we allow theme control in the future (or 
user-specified values for short/medium/long), we still need to assign 
each OSD an appropriate "default"--i.e. specify whether to use 
short/medium/long for each.

Note, also, that short = 3s, medium = 5s, and long = 10s in current code.

Mike


More information about the mythtv-users mailing list