[mythtv] [PATCH] EPG Improvements

Harvard Pan harvardpan at gmail.com
Sun May 8 07:46:49 UTC 2005


I went back and reworked the code. Everything seems to be working
correctly. Enhancements #4 and #5 below are the result of people's
suggestions this past week.

New Enhancements:
1) Pressing "C" in the EPG will toggle the Input.
   This will update the channel list as well as the preview video.
2) Pressing "Y" in the EPG will switch the card (if you have more than one)
   This will update the channel list as well as the preview video.
3) The channel guide "jumps" to the correct channel when you switch inputs. 
   If you are on input 1 with channel 5 and switch to input 2 with
channel 230, it will automatically jump the guide to 230.
4) Selecting a channel in the guide will result in switching to a
different input if the selected channel is not available on the
current recorder.
   Example: I have channel 3 that is ONLY on recorder 1. I have
channel 230 that is ONLY on recorder 2. If I'm on recorder 1, and
select channel 230 in the guide, it will first switch to the second
recorder, and then change the channel to 230.
5) This enhancement is very much like #4, but it solves the multiple
channels with the same number problem. If you have two channels of the
same number, selecting it will change to the correct one.
   Example: I have two channel 11's. The previous behavior was that no
matter which one I selected, it would go to channel 11 on my current
recorder. With the new code, it will determine which recorder it
should navigate to first (if it's not the current one), then set the
channel to 11. This ensures that the program you select will be the
one shown on the TV.

Code Changes:
- Added a new QUERY_RECORDER query type: SHOULD_SWITCH_CARD
  - this takes in a channel id and checks against the current recorder
to determine whether we need to switch the card in order to switch the
channel
- GET_FREE_RECORDER_LIST
  - this returns a list of all free recorders in the system
- RunProgramGuide now returns channelid instead of channelnum. The
channelnum is returned in the argument list, which is now passed by
reference
- Added two new actions SWITCHCARDS and TOGGLEINPUTS to the context of
"TV Frontend". Each will call the corresponding helper function to do
its task
- Added GuideGrid::GetLastChannelId, very much like the GetLastChannel function
- m_channelInfos now keeps track of the sourceid as well.
- TV::ChangeChannelByString now correctly handles channel changes
using channel id, and handles different cards.
- Implemented TV::GetValidRecorderList, which when given a channelid,
returns a list of recorders that support this channel
- Implemented in RemoteUtil.cpp: RemoteRequestFreeRecorderFromList,
which returns a free recorder filtered by the list that is passed to
it.

Not sure whether the protocol version needs to be upped since I
introduced 2 new commands. Let me know if this is the case and I'll
submit more. Please let me know if anyone has any questions about the
changes.

Thanks,
Harvard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: EPGUpdate.diff.bz2
Type: application/x-bzip2
Size: 6318 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20050508/55af33dd/EPGUpdate.diff-0001.bin


More information about the mythtv-dev mailing list