![]() |
|
SageTV United Kingdom SageTV and SageTV Recorder Users from the UK - This forum is for you to post about specific issues using SageTV software in the UK. |
![]() |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
XMLTV Channel Numbering
Hi,
I'm setting up a UK-based XMLTV Sage system for the first time, and I'm a bit puzzled about channel numbers. I'm trying to setup Sage with a Sky digibox, so am using an s-video connection into a PVR-150. I am using the XMLTV Radio Times program from birtles.org.uk for downloading the EPG data, and NielM's multi-lineup XMLTV plug-in (though using only one line-up for the moment). I got the importing working OK fairly easily. However, I wanted to rejig the channel numbers so they match the numbers used by Sky. I noticed that the channel number in the orginal XML data was used by Sage when the file was imported. EG BBC London was 94 in the 1.xml file, and this became channel 94 in Sage. I then tried using the 'AltChIds.txt' file to renumber channel 94 to 101 (the Sky channel for BBC London). This does correctly produce BBC London as 101 in the data file, but then Sage displays this channel as 2 in it's guide. There is no other channel 101 being used in the XML file. Does anyone know why this isn't working? Is there a better way to do this? I know that it's possible to use the Remap command to change channels, but I'm trying to find a quicker way to do this as I am planning to set up 3 other Sage systems and so I don't really want to have to go through this process (with some 100 channels) 3 times! Thanks for any suggestions. Regards, Ben |
#2
|
||||
|
||||
Quote:
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() |
#3
|
|||
|
|||
Duh....OK...thanks for the pointer. I fixed it.
The problem was that in the AltChIds file I had put "94 - 101" (in my defence...this seemed to be the recommended format in the file header!). However this meant that in the xml data file BBC1 was shown with id "- 101", and I did miss this when looking through the file afterwards to check it. Just putting "94 101" in the AltChIds file fixed it. Many thanks! Regards, Ben |
#4
|
|||
|
|||
Nielm,
How do you tell sage which channel number t is? what do i put in the xml? do i put a second channel name and sage will take that as the channel number? |
#5
|
||||
|
||||
Using the multi-lineup plugin I modified:
channel ID containing only a number, or channel name containing only a number (XMLTV supports multiple channel names) With others... I don't know...
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() |
#6
|
|||
|
|||
Out of interest, does anyone know what Sage uses to decide if two channels, on different tuners/line-ups, are the same?
Does it compare the display name, or the channel ID? If it's the channel ID, how do you deal with the problem of having two tuners with one connected to, for example, Sky and the other connected to Freeview? EG BBC1 on Sky is channel 101, but on Freeview it's channel 1. Can Sage be made to know that these are the same channel? Regards, Ben |
#7
|
||||
|
||||
it is a md5 hash on channel ID (which can be plain text), which gets converted into a numeric Station ID (which you then see in the .properties file).
What you want can only really happen if the channel ID is (eg) bbc1.bbc.co.uk in both lineups (which is actually the format specified by the XMLTV spec, and generated by the tv_grab_uk_rt grabber), and the channel name contains the different channel number (101 and 1)
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() |
#8
|
|||
|
|||
Thanks Nielm,
Looks like it might make life easier to switch to using tv_grab_uk_rt instead of the Birtles grabber. I'll have to play around with this a bit and see what I can get to work. Ben |
#9
|
||||
|
||||
then the problem you will have is that there is no way to specify channel numbers in the output of tv_grab_uk_rt
![]() In my xmltv setup I have several post-processors which take the output of tv_grab_uk_rt, tv_grab_be, tv_grab_fr and then post process them through tv_sort and multiple tv_greps (for clump removal and category replacement -- see the xmltv page in the wiki linked in my sig.) You may be able to post-process in a similar way by replacing the <channel> list from tv_grab_uk_rt with your own <channel> list that defines the same ID's but with the correct channel numbers.
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() Last edited by nielm; 07-28-2005 at 11:25 AM. |
#10
|
|||
|
|||
I have this working... basically I have a batch file that replaces the config files on Alan Birtles' app with two different sets of config files, one for analog RF tuning and one for Sky digibox tuning. So I get two separate XML files at the end, one of which is for the standard 5 UK channels and one for Sky. And Sage seems to know that BBC1 is BBC1 on both - so if I schedule a recording for BBC1 and BBC2 at the same time it can cope.
I'll try and post the setup at some point... |
#11
|
|||
|
|||
the laest version of my grabber has native support for multiple configs. it is also possible to get it to output the standard xmltv channel ids by using this file: http://www.birtles.org.uk/xmltv/xmltv_altchids.txt
|
#12
|
|||
|
|||
Thanks for all the feedback. I'm off on holiday but it looks like there will be plenty of things for me to try out when I get back!
Cheers, Ben |
#13
|
|||
|
|||
Hello again...
Back from hols and restarting my Sage setting up with XMLTV (and with new betas to try too!). I've now got the AltChids.txt file (mentioned above) downloaded with Alan Birtles Radio Time grabber, so that all the Channel IDs are the 'official' unquie names. However, this means I'm back to the original problem of having to remap all the channels manually. From looking at the files, it seems that XMLTV would need an additional 'channel number' attribute, in addition to the 'channel id' and 'display name' to get around this. From skimming through the XMLTV spec, it doesn't appear that a channel number attribute is actually built into it...but I could be missing it. I tried using the 'display name' attribute with the channel number, but this then causes only the number to be displayed in the Guide without the actual name of the channel. Has anyone else figured out a better way around this? Anyway, thanks for any comments. Regards, Ben |
#14
|
|||
|
|||
Quote:
You can have multiple "display-name" attributes for each channel in the xml file though. Wat if one like this could be added: <display-name>BBC 1</display-name> <display-name>ChannelNumber1</display-name> And someone was to modify the pluging to make it use a display-name starting with ChannelNumber as the channel number? |
#15
|
||||
|
||||
My multi lineup plugin mentioned above already handles this -- except the contents of the display-name must be purely numeric to be recognised as a channel number..
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() |
#16
|
|||
|
|||
Hi Nielm (and anyone else who's interested!),
I think I'm getting a bit confused here! Are you saying that with your multiple lineup plugin (which I'm using)...it can support having the multiple display-name idea (i.e. with one as the Sky channel number and the other as a 'user friendly' channel name) as suggested by KrisAcker...? If possible, I would be very grateful if you could you post an excerpt from your data.xml (or 1.xml) file so I can see what I should be aiming for? From what I can figure out, it seems I need to store three different bits of information for each channel in the XMLTV file: 1. The channel Id: the 'official' XMLTV channel name - used by Sage to spot duplicate channels in different line-ups and used within the XMLTV file to identify the channel that each programme appears on. (Stored in the XMLTV file under the attribute 'channel id') 2. The display name: a 'user friendly' name of the channel - used by Sage for the channel name displayed on the left in the TV Guide. (Stored in the XMLTV file under 'display name') 3. A channel number: the 'physical' number of the channel on the tuner/line-up covered by that XMLTV file - used by Sage for tuning. (No specific attribute, but could be stored in the XMLTV file under a second 'display name' attribute...?). At the moment, it seems that I can get items 1 and 2 in the file easily enough, using Alan Birtles Radio Times Grabber, but I'll need some post-processing to get the 3rd item in the file. Does this all sound about right? Regards, Ben |
#17
|
||||
|
||||
Quote:
Code:
<channel id="london.bbc1.bbc.co.uk"> <display-name>BBC1 London & South East</display-name> <display-name>1</display-name> </channel>
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() |
#18
|
|||
|
|||
I tried adding this to a few channels and it does work, in a way...but I'm not getting the channel name in the TV Guide, just the number is displayed - in fact it's displayed twice, one of top of the other (see attached screendump).
Channels 101-104 are the ones I added the extra 'display name' line to in the XML file. The '75 Discovery' is an unedited channel. Is this how it's supposed to look? Last edited by ben_gb; 08-24-2005 at 04:38 AM. |
#19
|
||||
|
||||
Nope! (looks at code)...
Ack... Sage suppors haing a long and a short channel name.. the long name is used in channel setup screen, the short name in tv guide... The plugin takes the longest display name as the long name, and the shortest as the short name, so it is giving the numeric displayname (the channel ID) as the short name... There is no workaround to this without modifying the plugin code... sorry for the bad info...
__________________
Check out my enhancements for Sage in the Sage Customisations and Sageplugins Wiki ![]() |
#20
|
|||
|
|||
I had a poke around the plugin code and tried a few things. In the end, I came up with a fairly simple 'hack' which got the guide showing what I want.
Basically I just changed a line in Channel.java: epg.addChannelPublic(this.shortname, this.longname, this.network, getChannelId(ProviderID)); became epg.addChannelPublic(this.longname, this.shortname, this.network, getChannelId(ProviderID)); This appears to work (after limited testing), and produces the Guide page as in the attached file. |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|