This thread is for the discussion of removing any inconsistency in the timeout of OSD displays. If there are no objections, I will implement this and submit a patch to trac as a ... patch(?). [I'd say 'defect with attached patch' but who knows. If someone would clarify I'll update the TicketHowTo wiki].

There are 3 configurable settings for OSD timeouts: OSDProgramInfoTimeout, OSDGeneralTimeout and OSDNotifyTimeout. However, the subjective handling of what is "general" and what is "notify" is ambiguous, and many OSD activators do not use these timeout values-- falling back to hard-coded constants. This can cause great confusion for users who are trying to change a OSD timeout via settings only to not have any of them affect the display they'd like to change. I've included a convenient list of current OSD activators and their timeputs at the end of this message.

Ideally, I think there are actually 3 timeouts needed in the TV class and all class
*ProgramInfo* - self-explanitory
*Status* - displaying something non-interactive such as "Recording" or "Position Saved". Mainly things that use the "settings" OSD. *Interactive* - changing picture adustments, time-scale, etc. Anything that is presenting information that may be changed by the user multiple times before going away.

I propose we rename the current 3 to these new values: OSDTimeoutProgramInfo, OSDTimeoutStatus, and OSDTimeoutInteractive (or some permutation of those words). The OSD activators will then all be modified to use the new values.

These are the CURRENT values
TV::HandleStateChange() - settings OSD, 3 second timeout
TV::DoInfo() - program_info / status OSD, proginfo timeout
TV::DoQueueTranscode() - settings OSD, 3 second timeout
TV::UpdateOSDTextEntry() - channel_number OSD, 2 second timeout
TV::PreviousChannel() - channel_number OSD, 1 second timeout
TV::UpdateOSD() - program_info / channel_number OSD, proginfo timeout
TV::UpdateOSDInput() - settings OSD, 3 second timeout
TV::UpdateOSDSignal() - program_info / channel_number OSD, proginfo timeout
TV::ToggleMute() - settings OSD, 5 second timeout
TV::ToggleSleepTimer() - settings OSD, 3 second timeout
TV::ToggleLetterbox() - settings OSD, 3 second timeout
TV::ToggleRecord() - settings OSD, 3 second timeout (twice)
TV::ChangeAudioTrack - settings OSD, 3 second timeout
TV::SetAudioTrack - settings OSD, 3 second timeout
TV::ChangeSubtitleTrack - settings OSD, 3 second timeout
TV::SetSubtitleTrack - settings OSD, 3 second timeout
TV::ToggleSleepTimer(string) - settings OSD, 3 second timeout
TV::DoSkipCommercials() - status OSD, 6 second timeout
TV::UpdateOSDSeekMessage() - status OSD, passsed second timeout (always general)
TV::ChangeBrightness() - status OSD, 5 second timeout (twice)
TV::ChangeContrast() - status OSD, 5 second timeout (twice)
TV::ChangeColour() - status OSD, 5 second timeout (twice)
TV::ChangeHue() - status OSD, 5 second timeout (twice)
TV::ChangeVolume() - status OSD, 5 second timeout
TV::ChangeTimeStretch() - status OSD, 10 second timeout
TV::ChangeAudioSync() - status OSD, 10 second timeout
TV::DoTogglePictureAttribute - status OSD, 5 second timeout
TV::DoToggleRecPictureAttribute - status OSD, 5 second timeout
TV::ToggleAutoExpire() - status OSD, 1 second timeout TV::SetAutoCommercialSkip() - status OSD, 1 second timeout TV::SetManualZoom() - status OSD, 1 second timeout
UDPNotify::incomingData() - notify OSD, notify timeout
NuppelVideoPlayer:: - all over the place.  Do we still use this?

_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to