I took this text from an archive of the original site which hosted this addin for DigiGuide:


DigiGuide is a smashing program. It's a television and radio listings guide for the UK and Ireland. It's got all you could require in such a utility - automatically updated listings, smart searches, favourites, reminders and more. It's free, it talks to you, it's great.

Get it today.

So, hands up all those who've spotted the oncoming "but"? Come on now, don't be shy. And yes, ten out of ten, it's to do with VideoPlus.

In an industry famed for it's rate of change, GemStar are dragging their heels. They currently refuse to license the VideoPlus codes for computer-based programme guides. Unless you happen to be the Radio Times. Fortunately for the average Joe in the street, provision has been made for a third party to provide these codes to DigiGuide.

Which is the cue for this little guy to step through the swing doors, squint, shift it's cigar to the other side of it's mouth and say, howdy.

Once installed, DigiGuide will display VideoPlus numbers.


To install this add-in, quit DigiGuide and copy the contents of the zip file into the main DigiGuide program directory. This will install the dgvplus add-in and the VPlus support program. Note that the dgvplus.ini file described in the configuration section is not included in the zip.

Before DigiGuide will display VideoPlus codes, each channel must have a channel number assigned. This is usually the channel number you use on the television or satellite/cable box (see the configuration page to map this channel number to the channel number the VideoPlus code uses, so that your video recorder can use a different channel number than that displayed by DigiGuide). This step is very important and easily missed; if a channel does not have a channel number assigned, no VideoPlus codes will be displayed.

To tell if a channel has a number assigned, check the channel's logo in DigiGuide's standard planner view. The channel number should be displayed in the lower right of the logo, like this:

If it doesn't, go to the "Select channels" option in the toolbox. On the "Order channels" page, select the channel, and enter the channel number in the provided box on the right (option 3 in the screen shot below). Remember to click "assign channel number" before returning.

DigiGuide should now display VideoPlus codes in CoolTips and in the InfoPane, as shown below. Digiguide Version 5 also allows you to add a VideoPlus column to the Daily View, What's On View, and the Finder and Show Me windows.

Please note, however, that the add-in can only create VideoPlus codes of up to 6 digits. This means there are some programmes which won't get a VideoPlus code displayed at all. The programmes most likely to be missed out are those on channels with higher channel numbers, and with unusual start and end times. For more information, see known issues. If a programme doesn't have a VideoPlus code, nothing is displayed.


For most people, this little util will work perfectly well out-of-the box. But that doesn't mean us habitual tweakers need be left high and dry.

So, what needs tweaking, I hear you ask. Well, to answer that, let's have a quick look at the state of play. Before the advent of satellite and cable boxes, watching and videoing television was easy. The aerial plugged into the back of the video, the back of the video connected to the back of the tele, and you could tape one channel and watch another.


Then along came that extra little black box and made a right mess of everything. These new boxes replaced the aerial in the back of the video, and added more channels. For some incomprehensible reason (probably to do with marketing, the root of all evil) these new channels did not come through to the TV and video as separate channels, but as one channel, a 6th channel. So now, we have to use one remote control and change the television to channel 6, and then, using yet another remote control, change the satellite/cable box to the correct channel.

And you thought remote controls were there to make life easier.

But, and we finally reach the point of this meandering nonsense, you cannot tape and watch different satellite/cable channels at once. Actually, that wasn't the point I was aiming for, but it's a good one all the same.

The real point was that the video uses just one channel to record satellite/cable programmes, but Digiguide lists the channel number the satellite/cable box uses. This is the number used to generate the VideoPlus code.

Bottom line: the VideoPlus number is incorrect.

So we finally introduce the dgvplus.ini file. This file sits in the Digiguide directory and allows you to remap the channel numbers used to create the VideoPlus code. This means that when DigiGuide requests a VideoPlus number, the code is not created using the passed in channel number, but a corresponding channel number read from the dgvplus.ini file.

For example, if you assign the number "404" to a channel in Digiguide, and the video records satellite/cable channels on video channel "6", the VideoPlus code generated with this number wrongly instructs the video to record on channel "404". So, we need to tell the VideoPlus generator that what Digiguide thinks of as channel "404" actually refers to channel "6"; the channel is mapped from a Digiguide channel to the video channel.

Those of you familiar with Windows configuration files will feel right at home with the dgvplus.ini file - it uses the standard ini file format, which means the file is separated into sections, and each section contains a series of name/value pairs. A section is denoted by the section's title surrounded in square brackets, like so: "[DGVPlus]". The name/value pair is marked up as "name=value". There is only one name/value pair per line. [dgvplus] section: This section recognises two values:
DefaultChannel - This channel number will be used to generate the VideoPlus code for all channels that are not overridden in the ChannelMapping section described below.
MaxChannels - by default, only 999 channels can be mapped. If you need more channels (and we all need more channels) just up this figure. Without this, any large value listed in the ChannelMapping section below will be ignored.

[ChannelMapping] section: Contains the actual channel mappings, in the format "DGChannel=VPChannel", where DGChannel is the number of the channel passed in by DigiGuide, and VPChannel is the channel number actually used to calculate the VideoPlus number.

As an example, if your video understands channels one to five, expects channel six to be the satellite/cable channel, and chokes when you try to give it a channel number it doesn't have explicitly set up (say Sky One set to channel seven) then you need to set up dgvplus.ini like this:

; Map all channels to the satellite/cable channel

; Override any known channels

Or, if you have Sky Digital, and watch the usual terrestrial channels (1-5) through the Sky box (101-105), but want to tape them using the standard channel numbers (so you don't tie up the Sky box) and all other Sky channels are recorded on video channel 6, then you'd want something like this:

; Map all channels to the satellite/cable channel

; Override any known channels

Please note that the dgvplus.ini file is not included in the download. This is simply because each person's configuration requirements will be different. If you wish to use the mapping, just fire up notepad and create a new file.

VPlus Support Program

The VPlus support program included in the zip file was really just a very handy tool to help me debug the code. However, it's nice and useful, and has a pretty little interface, so I've added it to the zip.

One thing to note - the window is always the topmost window, so that I could see all the info while running the debugger.

Decoding a VideoPlus number

Simply enter the number in the VideoPlus field. As you type, the interface is updated to show the actual details. VideoPlus codes do not contain the actual date of the programme; all VideoPlus codes are expected to be in the future. The decoder must therefore use the current date to calculate the correct date. While debugging, it was very useful to be able to set the date the decoder uses, which is what the "Today" date control does. This helped by allowing me to use my out-of-date listings magazine for testing.

Encoding a VideoPlus number

Enter the channel, day and start and end times of the programme. As you type, the interface is updated, and the VideoPlus number is displayed in the VideoPlus field. Note that programmes must start and end on five minute boundaries; anything other than that will not produce a code.

Error messages

If VPlus cannot encode or decode a VideoPlus number, an error message is displayed at the bottom of the window. These are the messages you can expect, and why they appear:
Invalid time: All times must start on a five minute boundary. 12.05 is fine, 12.03 is not.
Invalid duration: The duration must be positive (you can't have a programme end before it begins!) and cannot be too large - VideoPlus only supports "sensible" durations, up to about three hours.
Invalid channel: VideoPlus only supports 999 channels. Anything higher is invalid.
VideoPlus code too small: The VideoPlus number to decode must be greater than 1.
VideoPlus code too large: The VideoPlus number is larger than 8 digits, which is the maximum number of digits allowed.
Requires 7 or 8 digit code: The current implementation of the VideoPlus codec can only cope with codes of up to 6 digits. See the known issues section for more information.

There are also a number of "Internal" messages. These are intended to shed some light on where the VideoPlus codec is failing, such as being unable to expand the VideoPlus number, or not being able to find the time and date in the lookup table. Generally, don't worry about what these mean - they are only useful from a debugging point of view, and indicate that while all the data coming into the codec is valid, the codec itself is failing.

A couple of other messages exist, but shouldn't be displayed. Hopefully.


Problem: Digiguide doesn't display any VideoPlus codes.

Solution 1: Once you've copied the dgvplus.dll file to the Digiguide directory, you must restart Digiguide; the .dll is only loaded when Digiguide first starts up.

Solution 2: You must have at least version 4 of Digiguide. Versions prior to this don't support the add-in. This shouldn't be a problem, though. Digiguide will automatically update itself when a new version is available, and version 4 has been out for a while now.

Solution 3: Check the dg.log file in the Digiguide directory.

Very near the bottom, you should see a line like:

[23:14:31 08-01-2001] Loaded Video Plus DLL

This means everything is going well so far, check out solution 4. If you see:

[23:14:31 08-01-2001] Failed to load Video Plus DLL

then Digiguide hasn't been able to load the addin, probably because it can't find the file. Make sure that the dgvplus.dll file is in the Digiguide directory (usually C:\Program Files\Digiguide).

Solution 4: Each channel must have a channel number assigned to it. Without this number, dgvplus cannot calculate a VideoPlus code. To quickly see if a number has been assigned to a channel, check the standard planner view. The channel number is displayed in the lower right of the logo, like this:

You can assign a number on the "Order Channels" tab of the "Select Channels" page. For more information, see installation.

Solution 5: VideoPlus codes are only displayed in CoolTips (the little window that pops up with the programme synopsis when the mouse is hovered over a programme) or the InfoPane (the small window at the bottom of the planner view - note that this can be turned off in the options, so may not be visible) Version 5 of Digiguide allows a VideoPlus column to be added to the Daily View, the What's On View and the Finder and Show Me windows.

Problem: Digiguide only displays VideoPlus codes for some programmes. Solution: This is a known problem. There is currently no fix or workaround.

Problem: Unable to copy dgvplus.dll into DigiGuide directory. Solution: This will happen if there is already a dgvplus.dll file in the DigiGuide directory and DigiGuide is running. To replace the file, simply quit out of DigiGuide first.

Problem: The video channel mapping doesn't work for large channel numbers. Solution: By default, the channel mapping only works up to channel 999. If you need more channels than that (and let's face it, who doesn't) add the "MaxChannels=x" value to the "DGVPlus" section of the dgvplus.ini file, where "x" is the maximum channel number. See configuration for more details on the dgvplus.ini file.

Problem: The VPlus support program doesn't display the date controls as shown in the screenshot. Solution: The VPlus program requires at least version 4.70 of the common controls, which you will have if you have Internet Explorer 4.0 or later.

Known Issues

There is currently only one known problem with this utility, but unfortunately, it's quite a big one. Essentially, it means that some programs will not have a VideoPlus number. This is because the add-in can only cope with codes of up to six digits; Seven and eight digit codes cannot be calculated. Due to the nature of the VideoPlus encoding scheme, these large codes are more likely to occur on the higher numbered channels or on programmes which start or end at odd times.

If a VideoPlus code cannot be created, DigiGuide doesn't display anything.

There is no workaround for this, nor plans to get this working. It's a pain, but some VideoPlus support is better than none, right?


This add-in is based on the source code freely available from Steve Hosgood's web site. Other names mentioned on Steve's site include Ken Shirriff and Curt Welch who partly broke the VCRPlus, the US version of VideoPlus, and Douggie McClaggan, who worked with Steve on VideoPlus.

Other kudos go to Philip Cunningham and Colin Turner for independently suggesting the channel mapping, Paul Lautman for a nice bug report, and my brother, for pointing out how rubbish my original documentation was. Thanks guys!

And I'm still debating whether it would be too sycophantic to thank the DigiGuide team...