Got Zap2IT working on WMC! with a LOT of work

Global guide related discussion. All Windows versions.
Mike88

Posts: 549
Joined: Wed Jun 20, 2012 7:50 am
Location:

HTPC Specs: Show details

#121

Post by Mike88 » Sat Nov 07, 2015 9:15 am

I’ve seen on the avsforum that some people use Schedules Direct with software such as Kodi or NextPVR. Are these products made to work with Schedules Direct, compared to getting SD to work with WMC?

It appears some people who can’t get guide data are switching to Tivo. Wouldn’t using something like NextPVR be a reasonable temporary alternative until Rovi gets things straightened? Or would that still be a headache to get working?

glugglug

Posts: 391
Joined: Thu Jun 09, 2011 1:34 am
Location:

HTPC Specs: Show details

#122

Post by glugglug » Thu Nov 12, 2015 3:19 am

Threw out my back last week and took a break from working on this in the evening for a bit.
I decided that the MXF route is not good because of the way it rejects the whole file if there is a single attribute it doesn't like, and doesn't give a hint as to what is wrong with it. So I'm looking into adding to the guide using the mcepg.dll and mcstore.dll libraries. First thing lacking with this idea: it seems there are no methods for creating Providers from outside the library, other than importing an MXF to define a provider (which strangely doesn't seem to have the id from the MXF to identify it, although I suppose it could be identified by name?)

I suppose I could import a static MXF for a provider with no channels, but I think there has to be a better way?

audinutt

Posts: 114
Joined: Thu May 14, 2015 2:43 am
Location:

HTPC Specs: Show details

#123

Post by audinutt » Thu Nov 12, 2015 3:37 am

glugglug wrote:Threw out my back last week and took a break from working on this in the evening for a bit.
I decided that the MXF route is not good because of the way it rejects the whole file if there is a single attribute it doesn't like, and doesn't give a hint as to what is wrong with it. So I'm looking into adding to the guide using the mcepg.dll and mcstore.dll libraries. First thing lacking with this idea: it seems there are no methods for creating Providers from outside the library, other than importing an MXF to define a provider (which strangely doesn't seem to have the id from the MXF to identify it, although I suppose it could be identified by name?)

I suppose I could import a static MXF for a provider with no channels, but I think there has to be a better way?
Does anyone have any contact with the old microsoft media center team that was disbanded?
I am sure they could help us out, I would be willing to donate to get a proper solution.

-Richard

jbf154

Posts: 55
Joined: Mon Jan 14, 2013 7:41 pm
Location:

HTPC Specs: Show details

#124

Post by jbf154 » Thu Nov 12, 2015 10:09 pm

glugglug wrote:The -v just gives a progress %.

I figured out the order of XML elements in the output was varying, and the keywords were ending up at the end instead of the beginning of the With block, so added explicit OrderAttributes to enforce to element output order, only to get an error something like Microsoft.MediaCenter.ObjectStore.Provider can not be cast to Microsoft.MediaCenter.EPG.Program. I think this is because they show both the provider id and the file local program id being numeric, both starting with 1 in the examples, which would explain why the BSEPG output uses "provider1" instead of the "1" in the MS examples.

Still thinking I need to try updating the schedules/services/programs through mcepg.dll instead of loadmxf because this is too opaque when something goes wrong. And it's all or nothing - if there is one element it doesn't like the entire MXF is rejected, with no option to keep the successfully loaded programs.
I think you're on the right track. Try mimicking the structure/order in the example MXF file that Microsoft has here (https://msdn.microsoft.com/en-us/librar ... 76338.aspx): Keywords, KeywordGroups, GuideImages, People, SeriesInfos, Seasons, Programs, Affiliates, Services, ScheduleEntries, and Lineups.

User avatar
STC

Posts: 6808
Joined: Mon Jun 06, 2011 4:58 pm
Location:

HTPC Specs: Show details

#125

Post by STC » Fri Nov 20, 2015 1:14 pm

audinutt wrote:Will do later tonight
When you get some time. I'm interested in kicking a test off.
By the Community, for the Community. 100% Commercial Free.

Want decent guide data back? Check out EPG123

audinutt

Posts: 114
Joined: Thu May 14, 2015 2:43 am
Location:

HTPC Specs: Show details

#126

Post by audinutt » Tue Dec 01, 2015 7:57 am

STC wrote:
audinutt wrote:Will do later tonight
When you get some time. I'm interested in kicking a test off.
Sorry about the lengthy delay...
I did upload some of my C:\epg folder and the batch files, etc.

https://www.dropbox.com/s/aqfqf13tkm38y ... s.zip?dl=0
If you want more details let me know.

-Richard

User avatar
STC

Posts: 6808
Joined: Mon Jun 06, 2011 4:58 pm
Location:

HTPC Specs: Show details

#127

Post by STC » Tue Dec 01, 2015 6:08 pm

Thank you I'll get on this when I next get some time. I have a rig I'm feeding one tuner to which is currently on the Rovi comedy supply.
By the Community, for the Community. 100% Commercial Free.

Want decent guide data back? Check out EPG123

jbf154

Posts: 55
Joined: Mon Jan 14, 2013 7:41 pm
Location:

HTPC Specs: Show details

#128

Post by jbf154 » Fri Dec 04, 2015 9:10 pm

audinutt wrote:
glugglug wrote:Threw out my back last week and took a break from working on this in the evening for a bit.
I decided that the MXF route is not good because of the way it rejects the whole file if there is a single attribute it doesn't like, and doesn't give a hint as to what is wrong with it. So I'm looking into adding to the guide using the mcepg.dll and mcstore.dll libraries. First thing lacking with this idea: it seems there are no methods for creating Providers from outside the library, other than importing an MXF to define a provider (which strangely doesn't seem to have the id from the MXF to identify it, although I suppose it could be identified by name?)

I suppose I could import a static MXF for a provider with no channels, but I think there has to be a better way?
Does anyone have any contact with the old microsoft media center team that was disbanded?
I am sure they could help us out, I would be willing to donate to get a proper solution.

-Richard
I managed to generate a working MXF from the SD-JSON API. I was able to use glugglug's LineupSelector to merge the MXF feed into my guide. I am going to play around with it some to see if there are any quirks. Looks promising.

stuartm

Posts: 723
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#129

Post by stuartm » Fri Dec 04, 2015 10:47 pm

Outstanding. Do you know if this will deal properly with lineup changes? i.e. channels added/deleted from a lineup?
Look forward to hearing more details.

dublus

Posts: 29
Joined: Fri Apr 05, 2013 5:47 pm
Location:

HTPC Specs: Show details

#130

Post by dublus » Fri Dec 04, 2015 11:37 pm

If you can make something that's stable and adapts to lineup changes you're my hero. So tired of the new guide data. Misses almost every college game now. Before I didn't even have to think about setting up a recording once the rules were correct. Now it's terrible.

stuartm

Posts: 723
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#131

Post by stuartm » Sat Dec 05, 2015 12:05 am

One additional question/request. Will this handle multiple lineups? i.e. I have both OTA and cable tuners in my HTPC's so the about guide screen shows me two things are being downloaded an OTA lineup and the lineup for my cable provider. If you can handle that I will be thrilled. Nice to have somebody who cares about this stuff doing something as opposed to Microsoft.

audinutt

Posts: 114
Joined: Thu May 14, 2015 2:43 am
Location:

HTPC Specs: Show details

#132

Post by audinutt » Sun Dec 06, 2015 6:26 pm

jbf154 wrote:
audinutt wrote:
glugglug wrote:Threw out my back last week and took a break from working on this in the evening for a bit.
I decided that the MXF route is not good because of the way it rejects the whole file if there is a single attribute it doesn't like, and doesn't give a hint as to what is wrong with it. So I'm looking into adding to the guide using the mcepg.dll and mcstore.dll libraries. First thing lacking with this idea: it seems there are no methods for creating Providers from outside the library, other than importing an MXF to define a provider (which strangely doesn't seem to have the id from the MXF to identify it, although I suppose it could be identified by name?)

I suppose I could import a static MXF for a provider with no channels, but I think there has to be a better way?
Does anyone have any contact with the old microsoft media center team that was disbanded?
I am sure they could help us out, I would be willing to donate to get a proper solution.

-Richard
I managed to generate a working MXF from the SD-JSON API. I was able to use glugglug's LineupSelector to merge the MXF feed into my guide. I am going to play around with it some to see if there are any quirks. Looks promising.
Can you share any details?

jbf154

Posts: 55
Joined: Mon Jan 14, 2013 7:41 pm
Location:

HTPC Specs: Show details

#133

Post by jbf154 » Mon Dec 07, 2015 6:40 pm

audinutt wrote:Can you share any details?
I leveraged sdjson-api and the corresponding grabber. The import worked the first time I tried. I think glugglug had the order of the elements in the MXF file incorrect.

I'm looking into stuartm's request of automatically handling lineup changes. I think the MXF format will support it, but I definitely need to do some more research & testing.

stuartm

Posts: 723
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#134

Post by stuartm » Mon Dec 07, 2015 7:05 pm

I'm pretty sure the MXF format would support it. AFAICT all the EPG data from the Microsoft feed is, is a (encoded) MXF file. And I would be surprised if they did anything other than decode it and run LoadMXF. (As a programmer myself I know it would not make much sense to write two different tools to accomplish the same thing). And in the past the Microsoft EPG feed seemed to handle lineup changes properly.

stuartm

Posts: 723
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#135

Post by stuartm » Mon Dec 07, 2015 7:56 pm

Another thing it would be great is if your stuff could handle updates to already existing guide entries. (I am talking specifically about things like when TBA football games get updated with the correct game info) The Microsoft feed used to do this correctly but they somehow broke that when they switched to Rovi and haven't been able to fix that so far. I suspect that they just don't have something right in the MXF files they are sending to cause LoadMXF to properly update or overwrite an existing entry.

rkulagow

Posts: 246
Joined: Sun Jul 19, 2015 1:04 am
Location: Schedules Direct

HTPC Specs: Show details

#136

Post by rkulagow » Tue Dec 08, 2015 3:26 am



The Schedules Direct JSON service now offers a "is it still running" API so that if a sporting event is running long the application can query us to determine if it should continue to record, or, if the user has set a "over" padding time (not sure if Media Center does that) and the game is over, it can stop recording.

Right now there's no way to change the schedule, because we (Schedules Direct) have no idea if the broadcaster is going to push everything, or just join in progress.

https://github.com/SchedulesDirect/JSON ... ing-events

jbf154

Posts: 55
Joined: Mon Jan 14, 2013 7:41 pm
Location:

HTPC Specs: Show details

#137

Post by jbf154 » Thu Dec 10, 2015 6:30 pm

stuartm wrote:Another thing it would be great is if your stuff could handle updates to already existing guide entries. (I am talking specifically about things like when TBA football games get updated with the correct game info) The Microsoft feed used to do this correctly but they somehow broke that when they switched to Rovi and haven't been able to fix that so far. I suspect that they just don't have something right in the MXF files they are sending to cause LoadMXF to properly update or overwrite an existing entry.
Yes, this should be handled correctly. I'm working on getting the scheduled task set up. I ran into some issue with my guide crashing ehshell.exe, but I'm pretty sure I found a problem in the MXF file that I was generating. Going to test a fix for that today. More to come.

stuartm

Posts: 723
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#138

Post by stuartm » Fri Dec 11, 2015 12:16 am

This sounds great. Looking forward to when you have something available to try. Also, will you be sharing the source for the app when you are done?

jbf154

Posts: 55
Joined: Mon Jan 14, 2013 7:41 pm
Location:

HTPC Specs: Show details

#139

Post by jbf154 » Thu Dec 17, 2015 6:28 pm

My scheduled task seems to be working well. My guide crashes have gone away since I fixed the generated MXF file too. My next step is to dabble in .Net/C# to see about expanding on glugglug's lineup selector utility to try to automate the lineup changes as they come from SchedulesDirect. So far this is only done with my CableCard tuner. I have not done any ClearQAM or OTA/ATSC work at all.

stuartm

Posts: 723
Joined: Mon Nov 05, 2012 8:05 pm
Location: Longmont, CO

HTPC Specs: Show details

#140

Post by stuartm » Fri Dec 18, 2015 8:08 am

Sounds like excellent progress. Do you have a combined ATSC/Cablecard setup to test tings out with? I have a backup HTPC that has Hauppauge 2250 and is configured to access my HDHomerun Prime as well. If you get to the point where things need checking out I am willing to use that HTPC as a test bed. Also, if it would help I can supply you with the XMF dump of a machine configured for both ATSC and Cablecard that Guidetool generates from the WMC database.

Post Reply