Lancelot - PVR/Home Automation





To-Do List




Command Protocol

12. June 2005:

It is now possible to select your tuner card from a list of capture cards on your machine. It is done from the control panel applet.

A new main module has been added: The player module!! :-) This means that you no longer are required to have a tv tuner card installed in order to run Lancelot and that Lancelot now incorpartes playback of multimedia files.

29. March 2005:

The control panel has been refined, so it is now possible to change the preset names to something of your liking. You can also delete and rearrange channels. For that purpose an extended version of the CListCtrl class was developed which supports editing of subitems - grap it if you should need such one. :-)

Sound support for non-mpeg2 cards has been added also, though not tested.

The command protocol has been updated and revised.

21. November 2004:

The tuner is coming along fine and is now so far that I dare actually calling it a tv tuner. :-) The main new things in this release 0.03 are:

  • Resize window
  • Full screen mode
  • Preset channels are stored in the registry
  • State change messages
  • More client commands

The startup procedure of the service (Lancelot itself) has been changed so now it will start without opening a window. That must be done explicitly from the client (See the readme file for details).

24. October 2004:

The Lancelot development team has doubled its size. :-) Filosmith has joined and has started on writing a GUI client.

14. October 2004:

The summer is over and it's back to the keyboard. The main new thing is the control panel applet. In order for the applet to communicate with the server, a pair of client/server classes was made. The communication is done via named pipes. For now, the only thing you can do from the applet is scan for channels. Later all settings and preferences will be accessed from here.

The tuner now supports mpeg2 as well as YUY encoded frames. The boards used are Hauppauge WinTV-Radio and Hauppauge WinTV-PVR-350.

A small command parser was made to help deciphering command requests both from the applet and from clients. The protocol for client commands will be available soon - I hope. ;-)

Client and main module developers are still welcome!

A release 0.02 is available from the Source Forge project page.

18. June 2004:

The structure of the Control Center has been revised (revised schematics). All main and sub modules are dlls that are dynamically loaded at run-time. This means that the functionallity of the Control Center can easily be expanded without restarting the service. Though, this run-time reloading of dlls has not yet been implemented.

A skelton control panel applet has been added to the cvs tree as well. The next task will be to add some basic configuration of the Control Center via this applet.

I have released some binary files for anyone to try out the control center. This way it's a lot easier to get an idea of what the final application will be like.

The files released are:

  • The service exe (lancelot.exe)
  • A service (un)installer (installLS.exe)
  • A tuner module dll (Tuner.dll)
  • A test command line client (CommTestClient.exe)

24. May 2004:

We are still seeking interested developers to this project, but that does not mean the project has been idle allthough this page has...

The development on the tuner class (CTuner) has started a while ago, and a small win32 test applikation has been made. Since the server/engine is supposed to be running at all times a service application (an exe designed to run as a background service) has been developed. I was excited to see if it was possible for the service to open a window for displaying the video signal. It was! At least while a user is logged in, but now it will be interesting to see what happens when the user logs out :-). Obviously the window will not show, but other than that I don't know, yet...

The server part of the API is done, as is a C++ version of the client part of the API. Both are implemented as generic multithreaded, event driven classes. The server forks a thread that listens to a specified port. On incoming connections a communicator thread is forked which handles the actual communication with the client.

The source will be availble soon to anybody who's interested.

19. April 2003:

The CVS repository has been updated with the source files for these web pages and a simple Visual Studio tuner project. The tuner project will be the base of the tuner module.

15. April 2003:

The project has started!!

The first job is to get some developers to join. WE ARE SEEKING DEVELOPERS! :-)

Since this project is so ambitious, the next job is to analyze the project and divide it into smaller parts. That has already been done to some extent. Here's a schematic of the project.