Previous section   Next section

Hack 78 Dropping New Extensions into TiVoWeb

figs/moderate.giffigs/hack78.gif

TiVoWeb is more than just a web server; it's an application server. Extending its functionality is as simple as dropping a module into the right directory.

One really great feature of TiVoWeb is the simplicity of adding more functionality. Think of this as "hacking the hack."

Every item you see on the main screen is actually linked to something called a module. If you meander over to /var/hack/tivoweb-tcl/modules on your TiVo, you should see itcl files, reminiscent of each of TiVoWeb's menu items: ui.itcl controls the User Interface, search.itcl administers requests to the Search page, and so on.

If you find a module that you want to load into TiVoWeb and run (unfortunately, there is no master list, so you'll just have to keep an eye on bulletin boards like http://www.tivocommunity.com), just drop the file into the /var/hack/tivoweb-tcl/modules directory and select Restart Quick Reload from TiVoWeb's main screen. This asks TiVoWeb to restart and load any new modules. Once that's done, you'll see any new menu item associated with the module among TiVoWeb's menus.

Personally, I really like the Now Playing with Sort and Folders and DisplayText modules, which we'll take a look at now.

Now Playing with Sort and Folders

One of the biggest problems associated with adding hard drive space to your TiVo (see Chapter 2) is that the Now Playing List quickly becomes unmanageable. The ability to sort the list on the television [Hack #10] or in the TiVoWeb helps, but sometimes it's just not general enough. This is where LJ's Now Playing with Sort and Folders TiVoWeb module (http://www.ljs.nildram.co.uk/tivo.html) comes in.

LJ's module allows you to create folders to sort your recorded shows into. By default, all episodes fall into an All Programs folder, in which you can not only sort as your TiVo does (all shows are sorted by recording date, with the recommended shows at the end), by expiration date, or alphabetically, but you can also sort by duration and genre.

Creating new folders is like adding your own custom genres to the television shows you record. What if you could bring up your TiVoWeb and ask it to display only shows that you classify as "Sunday morning favorites"? In the language of LJ's module, you just create a Sunday morning favorites folder and assign a couple of television shows to it. Later, when you come back to TiVoWeb, you can access the module to search and browse through that folder.

Installation of LJ's module shows just how easy it is to install TiVoWeb modules. Download folders.itcl from his site and upload it to your TiVo. I suggest you just use your web browser to get a copy of the itcl file, and then use the TiVo FTP server [Hack #55] to move the file to your /var/hack/tivoweb-tcl/modules directory on the TiVo. Restart Quick Reload will coerce the server to reload all its modules, and that's it!

Go to TiVoWeb's main screen, and you should see the new link in the menu and menu bar, as shown in Figure 5-29. Cool, huh?

Figure 5-29. TiVoWeb home page, with LJ's Now Playing with Sorts and Folders module installed
figs/tivo_0529.gif

DisplayText

What if you could have a really simple web interface for putting text on the screen? One DisplayText TiVoWeb module coming right up!

First, though, you'll need to be sure that you have installed newtext2osd [Hack #41]. Then, grab Gary Davis's DisplayText module from http://www.webguild.com/tivo/default.aspx, and extract the displaytext.itcl file into the /var/hack/tivoweb-tcl/modules directory, just as described for the Now Playing with Sorts and Folders module. Reload TiVoWeb to have the DisplayText item show up in the menus.

Select DisplayText from TiVoWeb's home page or menu bar, and you'll be presented the simple form shown in Figure 5-30. Fill out the form, click the Display Text button, and poof!�the text you typed pops up on your television set. Won't that be a surprise to your supposedly geek-worthy friends watching TV? The DisplayText module allows you to type in the text, positioning, and colors into a web page and then display it on the television, all with a press of a button.

Figure 5-30. The DisplayText module
figs/tivo_0530.gif

  Previous section   Next section
Top