East of the Sun, West of the Moon

2005/7/10

Mythical fun (2)

Filed under: Projects,Software — Erwin @ 9:52 pm

A follow-up then, now that everything seems to be working smoothly.

The lirc packages that are available under Debian do the job, after some reading of the fine manuals and polishing the configuration a little bit. As said I’m using the serial-based remote control that came with the Pinnacle PCTV, the one that came with the Hauppauge PVR-350 needs to be connected to the card with some custom connection so is not useful elsewhere, alas.

The polishing involved switching the meaning of the redo and undo buttons (which act as zap forward and zap backward — 10 minutes each), and assigning the unused L button to the S key, so that it will take us straight the TV guide listings while watching TV.

With that working the need for a cordless keyboard basically went away.

Other improvements involve fixing the timezone and installing NTP client software (so that MythTV can present us with the right tv guide information when watching live TV), making sure the email software only listens locally and sends email out correctly (should that ever be necessary), uninstalling pointless things like at, xprint and xdm and adjusting /etc/inittab to fire up the X11 server directly to the MythTV frontend without the need for an account name and password.

There are several ways to do that, the way I chose was to add this line in /etc/inittab:

x:23:respawn:/root/bin/run-mythtv

Then /root/bin/run-mythtv contains:

#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
export PATH

HOME=/root
export HOME

/usr/bin/X11/startx -- vt7 -dpi 100 -nolisten tcp

You need the HOME setup because otherwise startx will look for .xsession in / instead of /root, a side-effect of running a script straight from the init process. And finally in /root/.xsession you find:

#!/bin/bash

xsetroot -solid black

while true; do
    xset s noblank
    xset s off
    irxevent &
    mythfrontend
    kill $!
done

The xset bits prevent the screen from being blanked and the screensaver from kicking in. Both rather annoying when you’re trying to watch TV. 😉 The irxevent is to relay lirc input into Xevents. MythTV is supposed to have built-in lirc support but I either misunderstood something or that was not compiled in apparently. Either way, this works. The while loop makes it easier to test but isn’t strictly necessary. The kill statement is there for similar reasons, it kills the irxevent background process, so that we don’t end up with multiple instances and get a fresh one with the most recent configuration file each time. The xsetroot invocation is used because the default grey mesh that X11 starts with is quite annoying on a TV screen. Yes, I realize I will typically only see this for the few seconds it takes the MythTV frontend to start, but still!

I’m getting a bit more familiar with the programming approach by now and have set a few titles to keep a maximum of 10 around so that I don’t end up with 50 M*A*S*H episodes that I have all seen already anyway, as opposed to new episodes of Battlestar Galactica coming up on Friday.

One of the few things to figure out now is why it seems to be losing its information on where the commercial breaks are while it claims to have it. Fast-forwarding over them is still sufficiently easy that it’s no great loss but since it used to work, I want it back eventually!

Other TODO items:

  • See if there are more optimal resolutions for the combination of the tv-out card and TV used. Right now 640×480 seems to work pretty nicely, but there is room for improvement.
  • Find out if there is a way to skip the nvidia logo that is on screen for a few seconds. I don’t know if that is just there to be obnoxious, or that the software is actually doing something useful in the meantime
  • Check if there is a better way to power down and if Linux 2.4.x can be convinced to turn off the PC entirely instead of just sitting there.
  • As far as I know Debian has no nvidia packages yet for the 2.6.x kernel, at least not in Sarge. It would be nice to upgrade, at some point, to try the suspend/resume support in the kernel.

And on that note, goodnight!

Update: Yes, I did find the Option "NoLogo" "true" magic.

Update 2: Turned out one of the MySQL tables had been damaged which caused the commercial begin/end-marks to be detected but never actually stored. Table repaired, MythTV and its local users are rejoicing!

Linkage (8)

Filed under: Linkage,News,Technology — Erwin @ 8:17 pm

Interesting website, where they experiment with browser navigation that does not involve clicking buttons on your mouse. (Link from Dan Gillmor.)

Cringely changed his mind about (pod|video)casting and is extending his video effort (NerdTV) from 20 minutes to an hour (although apparently without an RSS feed) but then is also going to make audio-only feeds of the shows available.

More interesting news in the CIA undercover case, documenting that Rove’s hands may not have been as clean as he’s implied in the past.

Napster doesn’t seem to be doing so well at the University of Rochester where students preferred iTunes and MusicMatch. I can’t blame them, when I buy music (whether that’s on vinyl, cassette, CD, or online) I expect to be able to continue using it, and not have to pay a monthly fee until death do us part.

Now playing: Tracy Chapman – She’s got her ticket

Powered by WordPress