Create a Custom Channel Order in Beyond TV with XMLTV
|
|
Article
|
| Create a Custom Channel Order in Beyond TV with XMLTV |
Posted:
September 24, 2003
|
By: Niel Markwick |
|
Intro
A common feature of TVs and Videos (at least in Europe!) is the ability to
re-order the TV channels to the user's favourite. For example, the user's 9
favourite channels could be defined to channels 1-9, or grouped by language,
etc.
A typical layout for the UK would be:
- BBC1
- BBC2
- ITV
- Channel4
- Channel5
SnapStream Beyond TV cannot do this (yet). The channel numbers are the frequency
indexes used by DirectX, so I have figured out a workaround.
DISCLAIMERS:
This involves hacking the registry to change the channel number/tuner
frequency assignments that are hard-coded into DirectX.
Do not do it if you are not familiar with regedit.
This may also affect SnapStream.Net subscriptions as channel numbers will changed.
As this may render your system inoperable, I disclaim all
responsability for any such damage. Windows XP users should take system checkpoints
before starting, other Windows users should do backups.
This will affect all TV viewing programs that use DirectX's tuner.
I have tested this on SnapStream Beyond TV 3.2 with a Hauppauge PVR-250 under
Windows 2000 SP4.
First, go to Microsoft's DirectX page on TV
Tuning and have a read about what we are trying to do in the "Frequency
Tables" and "Frequency Overrides" sections.
Basically, we are going to re-map the entire frequency-to-channel number layout
using the registry.
Next, go to the "Tables
and Assignments" page and select the frequency tables and channel
number assignments for your region and input type (Antenna/Cable).
Copy the frequency indexes to a text file (for Western European Cable, they
look like the following:)
code:
--------------------------------------------------------------------------
48250000L, // 1 E2
49750000L, // 2 E2A
55250000L, // 3 E3
62250000L, // 4 E4
69250000L, // 5 S01
76250000L, // 6 S02
83250000L, // 7 S03
90250000L, // 8 S04
97250000L, // 9 S05
105250000L, // 10 S1
--------------------------------------------------------------------------
Write down the channel order that you require, and the Beyond TV channel numbers
that these channels currently use.
If you have already labeled them in Beyond TV, the file LineupCollection.xml in "\Documents
and Settings\All Users\Application Data\SnapStream\Beyond TV" will
contain the current channel names/numbers and their mapping. (View it in IE)
Edit the frequencies_reg.txt file,
and enter the new channel number in the empty quotes, thus re-numbering the frequencies
to match the required layout for current layout.
For example, if BBC-1 is on original channel 29, and you want it on channel
1:
code:
--------------------------------------------------------------------------
;; 238250000 // 29 S12 BBC1
"1"=dword:e336810
--------------------------------------------------------------------------
Leave the unused frequencies blank for the moment.
Once you have done all of this, you can optionally go through and number all
the unused frequencies to high range numbers. I have channels 1-54 used; channels
70-123 are unused (you never know then you might need them), but you can just
delete the unused lines.
Add the following lines to the top of the file to make it a regedit import
file.
code:
--------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\TV System Services\TVAutoTune\TS0-1]
--------------------------------------------------------------------------
Note: At the end of the registry
key name, the TS0-1 is for cable; if you have used broadcast
TV mode, use TS0-0.
(Note: I have only tested TS0-1)
Save the file as, for example, "customchannels.reg"
Top of Example file follows:
code:
--------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\TV System Services\TVAutoTune\TS0-1]
;; 48250000 // 1 E2 NED1
"16"=dword:2e03c90
;; 49750000 // 2 E2A Unused
"70"=dword:2f71ff0
;; 55250000 // 3 E3 Canvas
"22"=dword:34b0c50
;; 62250000 // 4 E4 RTBF-1
"21"=dword:3b5dc10
;; 69250000 // 5 S01 Unused
"71"=dword:420abd0
;; 76250000 // 6 S02 KA2
"21"=dword:48b7b90
--------------------------------------------------------------------------
Run regedit, and go to
code:
--------------------------------------------------------------------------
HKEY_LOCAL_MACHINE\Software\Microsoft\TV System Services\TVAutoTune
--------------------------------------------------------------------------
and then Registry->Export the branch to another .reg file to back it up.
Finally, enter the new channel lineup in the registry, by double-clicking
the file you created: customchannels.reg -> Yes
-> OK
Re-start Beyond TV, and you have re-ordered channels. Check the layout (note
that the old channel names are still active, so some confusion may occur).
If it has all gone horribly wrong, delete the registry key:
code:
--------------------------------------------------------------------------
HKEY_LOCAL_MACHINE\Software\Microsoft\TV
System Services\TVAutoTune
--------------------------------------------------------------------------
and restore the backed up reg file (if you had one).
You now need to rename all the channels to your new order through the Beyond
TV web Admin, or by manually edit the LineupCollection.xml file
(location above) file while Beyond TV is shut down in the same way mentioned
previously. You can back up this same file to keep the old channel layout somewhere
safe.
Also, if you use the XMLTV Importer, then you need to clear the DB of the
old shows/mappings using Config->ClearDB. After this, you must then either
edit the chanlineup.txt file
to renumber the channels yet again, or delete this file; when you next import
the XML data, let XMLTV re-prompt you for the new channel lineup. Again, backup
this file to keep the old settings somewhere safe.
Restart Beyond TV and you now have a custom channel layout.
Talk about this article on our fourms.
Like this article? Want to see more?
Discuss it in our forums.
Back to Community Page |