Problem: I'm a DirecTV subscriber with an old settop box. I am not using a serial controller for channels yet, and so I am using USBUIRT (an external IR transmitter). As such, I need to configure all of my MP TVGuide channels to use the external setup top box. Using the current MP configuration GUI, you must do this for each channel. However, even the basic DirecTV subscription has a few hundred channels. Also, unless you setup each channel manually (versus importing them from your XMLTVGuide.xml file), the channel sorting order will be off for various reasons that I'll blame on the Europeans for now.
Caveat: This tip/trick is not well tested, and I'm not an MP expert, but it has saved me a lot of time and seems to work. It is somewhat dependent on your own configuration and at a minimum you need to first determine the id value for your own settup tv capture/input card. My card's id in MP was 250000 for the S-Video input from my Hauppage PVR150MCE. Probably the easiest way for you to determine this id for yourself, is to use the MP configuration.exe to setup one external channel manually, and then use the SQLite Database Browser utility to examine that data for the capture card id. If you don't understand any of the SQL below, you probably shouldn't try doing this. At a minimum, shutdown MP and make a backup copy of the TVDatabaseV21.db3 file first.
Solution: The MP distribution comes with a database utility for viewing/manipulating its internal databases. (MP uses the SQLite3 database.) The utility is named "SQLite Database Browser" and is in the /docs directory. (If not there, it is easily found and downloaded from the Internet.)
The database to be modified: TVDatabaseV21.db3
Prequisites: Everything should be setup and working in MP for you except for the actual channel changing. (You should at least setup a few channels manually for your external display to make sure things are working as expected.) You should have also imported your channels from a valid XMLTVGuide.xml file. This prequisite is very important, and you should make sure that your MP TVGuide display shows the correct information (even if it doesn't change channels correctly and is in the wrong order) before continuing. MP's tvguide import process can take a while to complete and runs in the background (I think?).
Don't forget to change "250000" in the examples below to whatever is appropriate for your setup!
Example Steps:
1) Using the SQL editor in the utility, first run this SQL statement, substituting your capture card ID as appropriate. This statement takes the XMLTVGuide supplied channel number and makes it the external settop channel number.
2) This statement tells MP that all of your channel numbers are actually sourced from your TV capture card's input.
3) This corrects the channel sort order according to the external channel numbers. (This makes sense to the American/Australian TV users.)
4) This simply updates the configuration flag used by MP to indicate that a given channel is from an external settop and that transmit commands should be issued appropriately.
That should be it. Doing the database manipulation saved me a few hours of tedious setup I think. (If I'm missing something obvious and this wasn't really necessary, PLEASE let me know. ) Otherwise, hope it helps someone.
Caveat: This tip/trick is not well tested, and I'm not an MP expert, but it has saved me a lot of time and seems to work. It is somewhat dependent on your own configuration and at a minimum you need to first determine the id value for your own settup tv capture/input card. My card's id in MP was 250000 for the S-Video input from my Hauppage PVR150MCE. Probably the easiest way for you to determine this id for yourself, is to use the MP configuration.exe to setup one external channel manually, and then use the SQLite Database Browser utility to examine that data for the capture card id. If you don't understand any of the SQL below, you probably shouldn't try doing this. At a minimum, shutdown MP and make a backup copy of the TVDatabaseV21.db3 file first.
Solution: The MP distribution comes with a database utility for viewing/manipulating its internal databases. (MP uses the SQLite3 database.) The utility is named "SQLite Database Browser" and is in the /docs directory. (If not there, it is easily found and downloaded from the Internet.)
The database to be modified: TVDatabaseV21.db3
Prequisites: Everything should be setup and working in MP for you except for the actual channel changing. (You should at least setup a few channels manually for your external display to make sure things are working as expected.) You should have also imported your channels from a valid XMLTVGuide.xml file. This prequisite is very important, and you should make sure that your MP TVGuide display shows the correct information (even if it doesn't change channels correctly and is in the wrong order) before continuing. MP's tvguide import process can take a while to complete and runs in the background (I think?).
Don't forget to change "250000" in the examples below to whatever is appropriate for your setup!
Example Steps:
1) Using the SQL editor in the utility, first run this SQL statement, substituting your capture card ID as appropriate. This statement takes the XMLTVGuide supplied channel number and makes it the external settop channel number.
Code:
UPDATE channel SET [ExternalChannel]=[iChannelNr] WHERE [ExternalChannel] Like 'Unknown' AND [iChannelNr]<250000;
2) This statement tells MP that all of your channel numbers are actually sourced from your TV capture card's input.
Code:
UPDATE channel SET iChannelNr=250000 WHERE iChannelNr<250000
3) This corrects the channel sort order according to the external channel numbers. (This makes sense to the American/Australian TV users.)
Code:
UPDATE channel SET [iSort]=[ExternalChannel]
4) This simply updates the configuration flag used by MP to indicate that a given channel is from an external settop and that transmit commands should be issued appropriately.
Code:
UPDATE channel SET [bExternal]=1
That should be it. Doing the database manipulation saved me a few hours of tedious setup I think. (If I'm missing something obvious and this wasn't really necessary, PLEASE let me know. ) Otherwise, hope it helps someone.