v1.6.0.x and OneTimeRequest Recordings

An evolving, supported alternative to Rovi
Forum rules
★ Download the latest EPG123 here: https://garyan2.github.io/ <> Setup guide here: https://garyan2.github.io/install.html
Post Reply
User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

v1.6.0.x and OneTimeRequest Recordings

#1

Post by garyan2 » Sat Jan 02, 2021 11:55 pm

With the help of a user, we found a situation in which if you click to record a specific program (OneTimeRequest) and that program is changed by EPG123 during the verification process, the recording will not happen and you will have a ghost scheduled recording in the recorded tv->view scheduled page. If you click the ghost scheduled recording, WMC will most likely close due to that schedule entry being changed/removed.

I will have to release a new version of epg123 that will take care of the ghost recordings, but until I find a method to take care of those OneTimeRequests, they will simply be removed from the scheduled recordings. For a better description I will use that users experience. The user had selected a sports program to record that had the teams as TBA. For whatever reason, when the teams were determined and the program updated, WMC did not update the program to the latest and left it with the old TBA program. EPG123 noticed the discrepancy and changed it to the correct program but that broke the OneTimeRequest and it would not be recorded. It still showed in the scheduled recordings page (as TBA) and when clicked would close WMC.

The future release will delete the scheduled recording of any schedule entry it changes or deletes to keep the scheduled recordings page clean and safe. Any SeriesRequests and WishListRequests affected will be corrected (yet to be verified) when the PVR indexing task is run after the MXF file import and database reindex. ManualRequests are unaffected. It is only the OneTimeRequests that will be challenging and explains why when WMC does a database recovery, or the database is rebuilt, that the OneTimeRequests are not rebuilt along with everything else since it is tied to a specific schedule entry and not a specific program. If EPG123 deletes a OneTimeRequests scheduled recording, it will issue a Warning identifying what the program was, when, and on what station.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
IT Troll

Posts: 1172
Joined: Sun Nov 27, 2011 9:42 am
Location: Edinburgh, UK

HTPC Specs: Show details

#2

Post by IT Troll » Sun Jan 03, 2021 10:17 am

That will be a difficult to fix completely as it will be tricky to reinstate the recording. Given that the name and/or time could change, it will need some fuzzy logic to try to match the program.

Might it be best/safer not to update a program listing if it has a corresponding OTR?
Are you a Recorded TV HD user or want to give it a try? Check out the new community-made update; Recorded TV HD v2.1.1

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#3

Post by garyan2 » Sun Jan 03, 2021 5:01 pm

That is the challenge. There are too many scenarios to account for to just ignore schedule changes if a program has an associated OTR. One of those scenarios would be if a 1/2-hour program with an OTR was replaced with a different 1-hour program. In this case, deleting the OTR would be appropriate. However, I just put in code that will preserve the OTR if the incoming program is determined to be of the same series or the program titles match; I will just update the program information in the OTR and everything should work.

The really hard part is testing out my code. If I can't find a change that WMC doesn't already take care of, then I will have to create my own iterative MXF files which will be a pain. I've already been able to verify deleting the OTR recording, but the series/title will be a bit more difficult.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
IT Troll

Posts: 1172
Joined: Sun Nov 27, 2011 9:42 am
Location: Edinburgh, UK

HTPC Specs: Show details

#4

Post by IT Troll » Sun Jan 03, 2021 11:40 pm

It is indeed tricky. However, it should always aim to fail safe and err on the side of caution. So recording a potentially unwanted program is better than deleting a recording altogether.
Are you a Recorded TV HD user or want to give it a try? Check out the new community-made update; Recorded TV HD v2.1.1

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#5

Post by garyan2 » Mon Jan 04, 2021 12:18 am

I agree in principle, but to use a change I had in my guide on 2/1...

There was a 30-minute program followed by 2 15-minute programs that were replaced by a 1-hour program. If any of those initial schedule entries had an OTR, what would the proper action be? Obviously the 1-hour program was not of the same series as any of the replaced programs so I would remove the OTR (the 30-minute scheduled entry is expanded to 1-hour and the 15-minute schedule entries are removed).

Code: Select all

[1/2/2021 12:45:57 PM] [ INFO] Service KUDFLD4 at 1/2/2021 8:00:00 PM: Changing end time of [EP00000680_0418 - [Breath of Life]-[Christmas: What Is It?]] from 1/2/2021 8:30:00 PM to 1/2/2021 9:00:00 PM
[1/2/2021 12:45:57 PM] [ INFO] Service KUDFLD4 at 1/2/2021 8:00:00 PM: Replacing [EP00000680_0418 - [Breath of Life]-[Christmas: What Is It?]] with [SH03730358_0000 - [Reset in the Word]-[]]
[1/2/2021 12:45:57 PM] [ INFO] Service KUDFLD4 at 1/2/2021 8:45:00 PM: Removing [SH03079900_0000 - [Intimate Clarity]-[]] due to being overlapped by another schedule entry.
This is why I am going to check to see if the replaced program is of the same series and/or program title to see if I should keep the OTR.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
Gripweed

Posts: 132
Joined: Sun Feb 03, 2013 6:35 pm
Location: Scranton,PA_USA

HTPC Specs: Show details

#6

Post by Gripweed » Mon Jan 04, 2021 2:16 am

It's probably an irrelevant question but how was it done when WMC was getting it's MXFs from Rovi/MicroSoft? I would think it would have been built into one of WMC's maintenance programs already. Maybe a check back in the old WMC forum archives to see if anything along these lines were discussed?

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#7

Post by garyan2 » Mon Jan 04, 2021 5:45 pm

Good lead in. Interestingly enough, my main system had the following changes to the schedule for an NFL Football game. To my (pleasant) surprise, the VM I am working with did not require changes by epg123 because WMC took care of it internally.

Code: Select all

[1/4/2021 7:26:22 AM] [ INFO] Service KVOADT at 1/9/2021 6:00:00 PM: Changing end time of [EP03542074_0001 - [Mr. Mayor]-[Pilot]] from 1/9/2021 6:30:00 PM to 1/9/2021 9:00:00 PM
[1/4/2021 7:26:22 AM] [ INFO] Service KVOADT at 1/9/2021 6:00:00 PM: Replacing [EP03542074_0001 - [Mr. Mayor]-[Pilot]] with [EP00003128_2863 - [NFL Football]-[Tampa Bay Buccaneers at Washington Football Team]]
[1/4/2021 7:26:22 AM] [ INFO] Service KVOADT at 1/9/2021 7:00:00 PM: Removing [SH00019155_0000 - [Dateline NBC]-[]] due to being overlapped by another schedule entry.
[1/4/2021 7:26:22 AM] [ INFO] Service KVOADT at 1/9/2021 8:00:00 PM: Removing [EP00003710_1266 - [Saturday Night Live]-[Nicole Kidman; Stone Temple Pilots]] due to being overlapped by another schedule entry.
So the original schedule was to be replaced by NFL Football.
  • 6:00PM Mr. Mayor - S1:E1
  • 6:30PM Mr. Mayor - S1:E2
  • 7:00PM Dateline NBC - generic
  • 8:00PM Saturday Night Live - #1266
I scheduled all 4 of the programs to record as a OTR and this is what happened.
Mr. Mayor - S1:E1 rescheduled to 1/7 airing
Mr. Mayor - S1:E2 rescheduled to 1/7 airing
Dateline NBC not rescheduled probably due to it being a generic program
Saturday Night Live not rescheduled due to no other airing of the program being present in the guide. The request is still in the database, so if it is aired at a later date I would expect it to be scheduled to record.

So the OneTimeRequests are tied to the schedule entry, but will fallback to the exact non-generic program if the schedule entry is removed. Understanding this will certainly change my approach on what to do with them based on the changes and also points out some changes needed in my verification process.

I also found a change that WMC took care of as well. The original program is 1/4 6:00PM NFL Football - Teams TBA (EP00003128_0870). It was replaced by NFL Football - Pittsburgh Steelers at Cleveland Browns (EP0003128_2669). WMC rescheduled the OTR to 1/5 2:00PM for a different TBA game... obviously not what the user intended. In this case, epg123 could adjust the OTR to record the correct game since we can tell that the series match, but I'm not sure if I will end up doing that.

There are so many scenarios out there of how the guide will change and what the user intent may be. It will take me a bit of research to find the best solution but we'll get there.

Certainly more to follow.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#8

Post by garyan2 » Mon Jan 04, 2021 7:21 pm

Okay, so my problem here is that during verification I am replacing the program assigned to a schedule entry instead of deleting the existing schedule entry and creating a new one. The current method is fine for entries that do not have a OTR against it, but with an OTR it can cause problems in the scheduled recording page of WMC. Deleting the schedule entry and creating a new one is how WMC does it. If I duplicate that, then WMC will work exactly as it did before wrt OTRs.

The question is do I want to anticipate the user intent and update the OTR with the "new" program or not. I would have to be very conservative to avoid other issues, but OTRs disappearing due to schedule changes is just going happen either way.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#9

Post by Space » Tue Jan 05, 2021 7:49 am

Normally if you have an OTR for a regular TV show and the episode ID of that airing changes, you may or may not want WMC to record it. If your goal was to record a specific episode, then you probably don't want it to record any longer (as it is not the specific episode you wanted), if your goal was to record an episode of the program, no matter what the title of the episode was, then you would still want it to record.

Since there is no way to know the intent of the user, there is really no ideal way to handle these (other than perhaps favoring recording over not recording as a rule).

In any case, I think there may be a good argument to treat live sporting events specially in this circumstance, as the episode ID for live sporting events is probably not very meaningful. If it changes, it probably doesn't really matter. However, if the original OTR was for a specific game, and that game is replaced with a totally different game, and the original game is moved to another time slot, then you have a problem. In this case the base series ID may also change, so in that case you may be able to handle it (although if the episode ID also changes, then I don't know if you can reliably find that airing at a different time), but if the series ID does not change, just the episode ID, then there is no easy way to know if they just changed the description of the existing game, or if it was replaced with a totally different game.

In the end, you may find that there is no ideal way to handle this, and it may just make sense to leave it alone and just have it work as it always has in WMC.

On a loosely related topic;

I'm interested in how WMC maintains OTRs that are missed, for instance if they are removed from the guide or if it is otherwise unable to record that particular episode (power outage, tuner issue, tuner conflicts, etc).

Can you point me to where this information is stored?

I am interested in knowing how long it is stored, does it keep it "forever" (until it finally records the episode) or does it purge it after a while?

One of the reasons this interests me is because I have a list of episodes that I missed recording due to various issues, and I would like to set up WMC so that if one of those episodes ever appears in the guide, it is recorded.

It would be nice to have a little tool that lists all of these "ghost" OTRs with the ability to manually add new ones, delete old ones, etc. I would guess that these are maintained using unique episode IDs, so in order to display the show/episode, you'd have to use a third party source to look up the ID, but it may also include this information in the "ghost" OTR record.

One thing I think I've noticed is that if you have a "ghost" OTR it doesn't matter what channel it was originally restricted to record from, it will record from any channel on which it may later may find the episode. This is probably a good thing, even if it may not be what the user wants in all circumstances (for instance if you only want to record a movie from a premium channel and not a commercial supported channel).

In any case, it would just be interesting to see what "ghost" OTRs may be lurking in my WMC DB.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#10

Post by garyan2 » Wed Jan 06, 2021 5:02 am

Space wrote: Tue Jan 05, 2021 7:49 amIn the end, you may find that there is no ideal way to handle this, and it may just make sense to leave it alone and just have it work as it always has in WMC.
As far as I am going to go with this is to on replace a program with an OTR if it is the same series and the existing program is generic. I will log a warning to let the user know that their OTR has been rescheduled or no longer valid which is more than WMC does. Otherwise, everything will be as WMC already handles it (mostly).
Space wrote: Tue Jan 05, 2021 7:49 amOn a loosely related topic;

I'm interested in how WMC maintains OTRs that are missed, for instance if they are removed from the guide or if it is otherwise unable to record that particular episode (power outage, tuner issue, tuner conflicts, etc).

Can you point me to where this information is stored?
As far as I can tell they last forever (or until a database recovery/rebuild). If you open the Transfer Tool, it will list all the OneTimeRequests on the right side that are "active". Using the Transfer Tool, you can right-click the request and select 'Cancel' which really just flags it as completed but gets the job done. The next version of the Transfer Tool will show the episode title for the OneTimeRequests to make it more clear... right now it just shows the program title.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#11

Post by Space » Wed Jan 06, 2021 6:19 am

Interesting, I didn't realize that these "ghost" OTRs were in the backup file. It would be nice to have an option that will allow you to create an OTR for a specific episode that is not in the current guide. I assume you'd have to look up the data about that episode in a third party source in order to get the episode ID.

I have about 10 episodes of various TV shows that I failed to record due to one issue or another, and I'd like to have some way to schedule these to record (other than setting up a wish list/ keyword search which can be problematic).

It would have been a nice feature if WMC would set up it's own OTR for episodes that were not recorded for various reasons. If a Series recording is missed due to a power failure, and the Series is "new only" it will not record that episode if it airs again (unless it is within 7 days of the original air date). It would be cool if it added an OTR for the specific episode, that way it would record no matter when it aired in the future.

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#12

Post by garyan2 » Wed Jan 06, 2021 6:39 am

You mean like this? viewtopic.php?f=99&t=12786
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2838
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#13

Post by Space » Wed Jan 06, 2021 9:55 am

Almost. Seems like it takes an hour to scan the MXF file (at least on his system), whereas my proposed method would not require a weekly scan.

It's also not as elegant a solution, considering that you would just be using a built-in feature of WMC to keep track and record the wanted episodes as opposed to an external program.

Anyway, if I find some time, I can take a look at it and see how it works.

Thanks.

User avatar
IT Troll

Posts: 1172
Joined: Sun Nov 27, 2011 9:42 am
Location: Edinburgh, UK

HTPC Specs: Show details

#14

Post by IT Troll » Wed Jan 06, 2021 10:01 am

garyan2 wrote: Wed Jan 06, 2021 5:02 am As far as I can tell they last forever (or until a database recovery/rebuild). If you open the Transfer Tool, it will list all the OneTimeRequests on the right side that are "active". Using the Transfer Tool, you can right-click the request and select 'Cancel' which really just flags it as completed but gets the job done. The next version of the Transfer Tool will show the episode title for the OneTimeRequests to make it more clear... right now it just shows the program title.
Is it possible to point the Transfer Tool at a previous version of the database in order to recover the OTRs? This would be useful in a database recovery/rebuild scenario.
Are you a Recorded TV HD user or want to give it a try? Check out the new community-made update; Recorded TV HD v2.1.1

User avatar
garyan2

Posts: 7438
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#15

Post by garyan2 » Wed Jan 06, 2021 3:16 pm

I just tested it and it does successfully transfer the OTR for a [Rebuild]. I'll test later on a cleanstart but don't see why it wouldn't work.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Post Reply