Developer Documentation

Last Updated: 9/25/03

PVRBOT is an open source project.  Anybody with modest Java programming ability will be able to add support for additional Personal Video Recorders, IR devices and web TV guide sources. 

Most of the documentation is in the source code comments.  This document will cover the major rules of engagement.

For instructions on using PVRBOT please see the User Documentation.

Extension Points

There are three extensions points in PVRBOT

1)      ITVGuideReader

2)      IPVRController

3)      PVR

These allow you to write support for alternate TV guide web sources, Infrared control devices and personal video recorders, respectively.

PVRBOT is implemented using reflection, so support for additional items can be compiled into their own .jar files without having to recompile PVRBOT itself.  The user would download PVRBOT and the appropriate support jar files.  Properties in the pvrbot.properties tell PVRBOT which support files to use.

PVRBOT ships with integrated support for the Bell ExpressVu 5100 PVR, IRLinc 1623PC infrared controller and a guide parser for www.globeandmail.com.

Exactly how additional support files will be build, and distributed will be hammered out as people come forward to develop plug-ins.



This interface defines methods that must be implemented by a TV Guide Reader. This interface has become largely redundant since I have written an XMLTV implementation of it. This means PVRBOT can consume XMLTV listing files. You are better off using the various XMLTV grabber programs to scrape the tv guide web pages. The XMLTV folks do a great job of providing lots of different grabbers and keeping them up to date.


This interface defines methods that must be implemented to support a computer controlled infrared remote device.

PVR Abstract Superclass

This is an abstract super class of all sub classes that control a hardware PVR.  You must implement subclasses of this to control new PVRs

Contributing to PVRBOT

Please use the developers forum at http://pvrbot.sourceforget.net to discuss issues relating to PVRBOT development.  I would really like to incorporate new hardware support for PVRBOT.  Also, there is lots of room for improvements and new features in PVRBOT itself.