Mailing List Archive

entry to watching livetv from frontend EPG
I happened to be on the forums earlier and saw a post regarding an inability to enter watching livetv from the frontend EPG (post is https://forum.mythtv.org/viewtopic.php?f=29&t=2069)

I believe the default configuration (fixes/0.28 and master at least) is that to enter watching livetv from the EPG (ie when not already within watching livetv) that you need to press the menu action, not the select action. Which is something I have found my significant other and guests to struggle with as they keep trying the select action over and over again (even I tend to go for select the first time, we don't do a lot of livetv).

I believe the menus are hardcoded so can't be overridden at theme level.

SELECT brings up a variable list of options depending on the state of the highlighted program but commonly:
Record this showing
Record all showings
Record one showing (this episode)
Record all showings (this channel)
Edit recording rule

But no "Watch this channel" option.

MENU brings up a variable list of options as well but commonly:
Watch This Channel
Record This
Recording Options
Program Details
Jump To Time
Reverse Channel Order
Channel Search

I would like to propose a feature enhancement patch. In guidegrid.cpp (https://github.com/MythTV/mythtv/blob/79d666c3e90be2b510ab4af3349aacb9ec474f30/mythtv/programs/mythfrontend/guidegrid.cpp#L808) there is already a piece of code that says if the user is browsing far enough away from now() while watching livetv and makes a select action that their intent is probably to interact with recording rules rather than change channel.

I would like to apply a corollary that if the user is browsing close enough to now() in the frontend EPG (not currently in livetv) that they probably intend to view that channel rather than interact with the recording rules. So something like this:

$ cat myth_guidegrid.patch
diff --git a/mythtv/programs/mythfrontend/guidegrid.cpp b/mythtv/programs/mythfrontend/guidegrid.cpp
--- a/mythtv/programs/mythfrontend/guidegrid.cpp 2017-03-21 16:33:43.438983048 +1030
+++ b/mythtv/programs/mythfrontend/guidegrid.cpp 2017-03-21 17:15:12.176075478 +1030
@@ -825,6 +825,29 @@
enter();
}
}
+ else if (!m_player)
+ {
+ // If the selected program is close enough to now and not currently
+ // viewing livetv presume it possible that the user wanted to watch
+ // via livetv instead of editing the recording rule.
+ ProgramInfo *pginfo =
+ m_programInfos[m_currentRow][m_currentCol];
+ int secsTillStart =
+ (pginfo) ? MythDate::current().secsTo(
+ pginfo->GetScheduledStartTime()) : 0;
+ int secsTillEnd =
+ (pginfo) ? MythDate::current().secsTo(
+ pginfo->GetScheduledEndTime()) : 0;
+ if (pginfo && (pginfo->GetTitle() != kUnknownTitle) &&
+ (((abs(secsTillStart / 60)) <= m_selectRecThreshold) || ((abs(secsTillEnd / 60)) <= m_selectRecThreshold)))
+ {
+ ShowMenu();
+ }
+ else
+ {
+ EditRecording();
+ }
+ }
else
EditRecording();
}

If the user does actually intend to interact with the recording rules they can still continue to follow the menu options to do so, whereas under the current config the user needs to cancel out of the initial popup and press the menu key for the alternative popup. The main downside is that the menu options change as they get further from now() which may be confusing (but does mirror the preceding arrangement).

Is this something that is likely to get some support at dev level or should I just leave it be?
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: entry to watching livetv from frontend EPG [ In reply to ]
On 03/21/2017 06:34 AM, Mark Perkins wrote:
> I happened to be on the forums earlier and saw a post regarding an inability to enter watching livetv from the frontend EPG (post is https://forum.mythtv.org/viewtopic.php?f=29&t=2069)
>
> I believe the default configuration (fixes/0.28 and master at least) is that to enter watching livetv from the EPG (ie when not already within watching livetv) that you need to press the menu action, not the select action. Which is something I have found my significant other and guests to struggle with as they keep trying the select action over and over again (even I tend to go for select the first time, we don't do a lot of livetv).
>
> I believe the menus are hardcoded so can't be overridden at theme level.
>
> SELECT brings up a variable list of options depending on the state of the highlighted program but commonly:
> Record this showing
> Record all showings
> Record one showing (this episode)
> Record all showings (this channel)
> Edit recording rule
>
> But no "Watch this channel" option.
>
> MENU brings up a variable list of options as well but commonly:
> Watch This Channel
> Record This
> Recording Options
> Program Details
> Jump To Time
> Reverse Channel Order
> Channel Search
>
> I would like to propose a feature enhancement patch. In guidegrid.cpp (https://github.com/MythTV/mythtv/blob/79d666c3e90be2b510ab4af3349aacb9ec474f30/mythtv/programs/mythfrontend/guidegrid.cpp#L808) there is already a piece of code that says if the user is browsing far enough away from now() while watching livetv and makes a select action that their intent is probably to interact with recording rules rather than change channel.
>
> I would like to apply a corollary that if the user is browsing close enough to now() in the frontend EPG (not currently in livetv) that they probably intend to view that channel rather than interact with the recording rules. So something like this:
>
> $ cat myth_guidegrid.patch
> diff --git a/mythtv/programs/mythfrontend/guidegrid.cpp b/mythtv/programs/mythfrontend/guidegrid.cpp
> --- a/mythtv/programs/mythfrontend/guidegrid.cpp 2017-03-21 16:33:43.438983048 +1030
> +++ b/mythtv/programs/mythfrontend/guidegrid.cpp 2017-03-21 17:15:12.176075478 +1030
> @@ -825,6 +825,29 @@
> enter();
> }
> }
> + else if (!m_player)
> + {
> + // If the selected program is close enough to now and not currently
> + // viewing livetv presume it possible that the user wanted to watch
> + // via livetv instead of editing the recording rule.
> + ProgramInfo *pginfo =
> + m_programInfos[m_currentRow][m_currentCol];
> + int secsTillStart =
> + (pginfo) ? MythDate::current().secsTo(
> + pginfo->GetScheduledStartTime()) : 0;
> + int secsTillEnd =
> + (pginfo) ? MythDate::current().secsTo(
> + pginfo->GetScheduledEndTime()) : 0;
> + if (pginfo && (pginfo->GetTitle() != kUnknownTitle) &&
> + (((abs(secsTillStart / 60)) <= m_selectRecThreshold) || ((abs(secsTillEnd / 60)) <= m_selectRecThreshold)))
> + {
> + ShowMenu();
> + }
> + else
> + {
> + EditRecording();
> + }
> + }
> else
> EditRecording();
> }
>
> If the user does actually intend to interact with the recording rules they can still continue to follow the menu options to do so, whereas under the current config the user needs to cancel out of the initial popup and press the menu key for the alternative popup. The main downside is that the menu options change as they get further from now() which may be confusing (but does mirror the preceding arrangement).
>
> Is this something that is likely to get some support at dev level or should I just leave it be?
> _______________________________________________
>

This has also been irking me.

Unfortunately the program guide from the main menu is internally the
same as the program guide from the Manage Recordings->Schedule
Recordings, where you presumably do not want to go into Live TV.

The challenge is for the code to tell the difference in the program
guide when invoked from different menus. If that can be done I think the
existing logic would work. Use the default of starting LiveTV if close
to current time when invoked from the main menu, and use the Record
default when invoked from Schedule Recordings,

I have this on my list of things to do. I will take a look at your patch
and see if I can come up with the best solution.

Peter
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: entry to watching livetv from frontend EPG [ In reply to ]
> -----Original Message-----
> From: mythtv-users [mailto:mythtv-users-bounces@mythtv.org] On Behalf
> Of Peter Bennett
> Sent: Wednesday, 22 March 2017 12:45 AM
> To: mythtv-users@mythtv.org
> Subject: Re: [mythtv-users] entry to watching livetv from frontend EPG
>
>
>
...snip...
>
> This has also been irking me.
>
> Unfortunately the program guide from the main menu is internally the same
> as the program guide from the Manage Recordings->Schedule Recordings,
> where you presumably do not want to go into Live TV.

Yes good point I had not considered. It doesn't affect the working of Program Finder or Search Words etc but yes it alters the behaviour for Manage Recordings -> Schedule Recordings -> Program Guide which based on path navigated to get there would be counter intuitive.

>
> The challenge is for the code to tell the difference in the program guide when
> invoked from different menus. If that can be done I think the existing logic
> would work. Use the default of starting LiveTV if close to current time when
> invoked from the main menu, and use the Record default when invoked
> from Schedule Recordings,

Which will be difficult because the menu's can be themed - so potentially impossible?

>
> I have this on my list of things to do. I will take a look at your patch and see if
> I can come up with the best solution.
>
> Peter

I've modified my patch so that when in the middle of long shows (where start and finish time are both some distance away from now) it still works.

--- mythtv/programs/mythfrontend/guidegrid.cpp 2017-03-21 16:32:32.003323807 +1030
+++ mythtv/programs/mythfrontend/guidegrid.cpp 2017-03-22 06:56:51.796684706 +1030
@@ -825,6 +825,34 @@
enter();
}
}
+ else if (!m_player)
+ {
+ // If the selected program is close enough to now and not
+ // currently viewing livetv, presume it possible that the
+ // user wanted to watch via livetv instead of editing
+ // the recording rule.
+ ProgramInfo *pginfo =
+ m_programInfos[m_currentRow][m_currentCol];
+ int secsTillStart =
+ (pginfo) ? MythDate::current().secsTo(
+ pginfo->GetScheduledStartTime()) : 0;
+ int secsTillEnd =
+ (pginfo) ? MythDate::current().secsTo(
+ pginfo->GetScheduledEndTime()) : 0;
+ if (pginfo && (pginfo->GetTitle() != kUnknownTitle) &&
+ (
+ ((abs(secsTillStart / 60)) <= m_selectRecThreshold) ||
+ ((abs(secsTillEnd / 60)) <= m_selectRecThreshold) ||
+ ((secsTillStart < 0) && (secsTillEnd > 0))
+ ))
+ {
+ ShowMenu();
+ }
+ else
+ {
+ EditRecording();
+ }
+ }
else
EditRecording();
}
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: entry to watching livetv from frontend EPG [ In reply to ]
I have created a trac ticket here: https://code.mythtv.org/trac/ticket/13021

so that it doesn't get completely lost over time, in case anyone wants to comment further.
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org