This is incredible stuff! It's a very elegant solution.
My test system is acting a little flakey. So I can only comment on my limited testing of your first scripts. So far it's been damn impressive! With your procedure, I was able to run both the NTSC and ATSC tuners on my retired ATI DTV Wonder. (This card was ATSC only in WinXP and completely unsupported in Vista.)
It wasn't sure when to load the EnableATSCand QAM.mxf file.
- Load and create a completely new mcepg.db before starting Media Center
- Start Media Center and load before running the TV Signal Setup
- Start Media Center, begin TV Signal Setup and load just before setup downloads data for your region
In my testing, I used this script from Mike Hayton
to delete all previous mcepg databases and reset Media Center to its first use defaults before enabling ATSC/QAM.
You might be able to incorporate this procedure from jem101 at Digital Lifestyle to enable Internet TV
. I think you just have to change the order of your registry edits to download the Canadian guide first, then change the GeoSetting to US and download the OTA and ITV guides, and leave the settings for the US.
There are some parts of the code that I don't understand. How does setting the uid to "tvss-ca" insert the TvSignalSetupParams without destroying the links to GeoSettings?
From Mike Hayton's explanation of the MXF structure, I thought the uid had to be of the form: !TvSignalSetupParams!text
is some unique identifier.
This is just spit-balling, but the GeoSettings table links each country to the correct TvSignalSetupParams, TvOptionsParams, TvThumbParams, etc for that region. I started writing an MXF file that redefines the GeoSettings for CA so that it picks up a combination of Canadian and US parameter settings. I doubt that it is possible, but maybe GeoSettings could point to two region settings and thus pull in both Canadian and US guides. But that might also mean specifying two headends which probably isn't allowed.
Can you tell that I'm a little excited? Great work.