NextPVR Forums

Full Version: mc2xml data changing channels (frequencies) cause nPVR TV Guide discrepancies
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm sorry I don't frequent these forums and I may be missing etiquette but I'd like to make an informational post that may help other people concerning mc2xml. Every 4 to 6 months, the program guide received from Microsoft by mc2xml changes the channel ID (frequencies) associated with particular stations (KAXXXDT). This is disconnected from the actual channels/frequencies that the channels are broadcast on, those don't change so it isn't a tuner issue; I have no idea why Microsoft does this. This channel change causes the nPVR program guide to lose the information for a station leading to "no show detail" displayed in the TV Guide.

My setup:
nPVR: 2.5.9 (it works well enough for me that I don't want to mess with upgrade)
mc2xml: v1.2 using Microsoft's Legacy Service gathering OTA (terrestrial) lineup
>When I get the time and money, I'd like to donate to mc2xml to use Microsoft's (newest) Service which might not exhibit this issue. (see: http://mc2xml.hosterbox.net/)

When experiencing this problem, you may (though difficult) notice that your xmltv.xml may have changed from:

Code:
    <channel id="I29.48609930.microsoft.com">
        <display-name>29 KAXXDT</display-name>
        <display-name>29</display-name>
        <display-name>KAXXDT</display-name>
        <display-name>Affiliate name of station</display-name>
    </channel>

to channel 30:

Code:
    <channel id="I30.48609930.microsoft.com">
        <display-name>30 KAXXDT</display-name>
        <display-name>30</display-name>
        <display-name>KAXXDT</display-name>
        <display-name>Affiliate name of station</display-name>
    </channel>

Note that the call sign KAXXDT didn't change, that will be useful later.

nPVR reads the first display-name; as it was originally looking for 29 KAXXXDT, it now cannot find the program data because it is now listed under 30 KAXXDT. To resolve this, you need to protect nPVR from these channel changes by using the mc2xml rename function. To keep track of these changes, I maintain a master text file that shows:

The current channel from the program guide, the virtual channel number associated with that as seen on a regular TV, the name of that channel I told nPVR to use for it (settings > channels) and the call sign of the station.

Code:
30:7.1  7.1-NBC KAXXDT
36:9.1  9.1-ABC KBXXDT
40:12.1 12.1-CBS KCXXDT

My UpdateEPG.bat file looks like this:
Code:
D:
cd "D:\HTPCData\Misc\mc2xml"
"mc2xml.exe" -a -A -C "mc2xml.chl.txt" -R "mc2xml.ren.txt" -o "xmltv.xml"
cd "C:\Users\Public\NPVR\Scripts"
C:

Note, i added .txt to the .chl and .ren for easy editing.

My mc2xml.chl.txt file just has a list of the channels (which again change over time) that I want to keep in the xmltv.xml; this keeps the EPG clean of unused programming. Note, it is the same list from above with just the channels.

Code:
30
36
40

The mc2xml.ren.txt renames those ambiguous and changing channels to something that will never change as far as nPVR is concerned (the virtual channels). Note, it is the same list from above with just the first two items saved.

Code:
30:7.1
36:9.1
40:12.1

So, when I run mc2xml.exe with those options in the UpdateEPG.bat, the new channel ID changes from 30 to this:

Code:
    <channel id="I7.1.48609930.microsoft.com">
        <display-name>7.1 KAXXDT</display-name>
        <display-name>7.1</display-name>
        <display-name>KAXXDT</display-name>
        <display-name>Affiliate name of station</display-name>
    </channel>

In nPVR (settings > channels > details), I have the # 71 and the name 7.1-NBC mapped to "7.1 KAXXDT". I can't use the # 7.1 or 7-1 as sub (nPVR developer) doesn't (or didn't) like the US use of sub-channels (ironic Big Grin); I'm not sure if newer versions allow this.

Now that you have it set up like this, lets say in a few months, you start noticing "no show detail" shows up on a few channels in the TV guide because the EPG service has changed channels. You may also notice that in settings > channels > details there is no mapping associated with a faulty channel. These are the steps I take to find the new frequencies; remember that the call sign doesn't change.

1) Rename or delete your mc2xml.dat and run mc2xml.exe without arguments (best to do it from a command prompt to detect any errors). Select your proper country and zip on the first screen then your service on the second screen. Your xmltv.xml file will be overwritten with all channels/programs available and w/o your renaming.

2) Search (don't edit) this new xmltv.xml file for each call sign using your master text file for reference. Update your master text file with the new channel associated to your call signs. It may appear as such:

Code:
31:7.1  7.1-NBC KAXXDT
37:9.1  9.1-ABC KBXXDT
41:12.1 12.1-CBS KCXXDT

Note only the first numbers (channels) have changed.

3) Update your mc2xml.chl.txt and mc2xml.ren.txt by just copy/pasting your master text file and deleting what is not needed.

4) Make sure you've closed your xmltv.xml since step 2. Force a new mc2xml download by copying your existing UpdateEPG.bat file but insert the -f option and run it (again best done via command prompt to check for errors). Be sure you don't always run the -f option.

5) Tell nPVR to update EPG: settings > channels > Update EPG. Check the TV Guide to be sure you got the new data with correct channel-station associations.

After thoughts:
This is a long post though once you go through the method a couple times, the fix will be easy/quick (unless you have a lot of channels, I only use 15).

I thought I might be able to avoid all this by only referencing the station call sign but I can't see how nPVR would handle the frequency change in the "display name" field. Actually, you could list all of your call signs in your mc2xml.chl.txt file instead of the frequencies and never have to edit it; see the mc2xml homepage for usage. If there was a way to have the mc2xml.ren.txt file rename the frequency based on the call sign, then you wouldn't have to do all this, but I don't see that it is possible without other scripts/programs.

In other words, if you could get both of these:
Code:
<display-name>29 KAXXDT</display-name>
<display-name>30 KAXXDT</display-name>

to always end up in your xmltv.xml file as:
Code:
<display-name>7.1 KAXXDT</display-name>

then you'd never have to bother with this.

Alternatively, if it were possible for nPVR to ignore the first display name and only use the third one, then the channel/frequency would be irrelevant. See:
Code:
    <channel id="I30.48609930.microsoft.com">
        <display-name>30 KAXXDT</display-name>
        <display-name>30</display-name>
        <display-name>KAXXDT</display-name>
        <display-name>Affiliate name of station</display-name>
    </channel>

Then you would map #s and names to just the station call sign.

If anyone has used Microsoft's new service using mc2xml (donate $20+), it would be nice to hear if you have this issue of channel changes. I apologize that I may only infrequently check back to this post but ask questions or provide insight or offer suggestions/alternatives as I may see them from time to time.
Hrm, I believe this thread should have been placed in:
Forum > Public > Add-ons (3rd party plugins, utilities and skins) > TV Listings
Feel free to move it if possible.

I'll contribute to the discussion cncb referenced above including providing my suggestion of capturing the station call sign (3rd display-name) instead of a display-name that has the changing channel number in it.
TV Listings is a plugin, I think you got it right as a 3rd party utility.

Martin