NOTE: This page contains stuff developed for MythTV 0.21. Some stuff might not be applicable for 0.22. Some patches have already been included in the main source, and some no longer cleanly apply. Some of the tools on this page may work in 0.22 or may require minor tweeks. Others may not work at all. I'm currently working on porting as much of this as I can to myth 0.22. Keep an eye on the Myth 0.22 Page for updates.


MePo Theme

I had a lot of trouble finding a theme I liked. Most I either found too plain and unstyled, or too flashy and distracting. I spent a lot of looking around and trying out various themes before finally finding one that I felt to be just right.

The MythTV
MePo Theme was designed by Zdzislaw Gorlicki. It was based on the work of a number of different theme designers and graphic artists (see the credits page on his website). He took the bits and pieces of some different MediaPortal themes and combined them into a very nice theme for MythTV. I felt he did a great job of creating something that has styling and personality, yet doesn't really distract you from the important parts of the UI. It's friendly and welcoming, but not overpowering.


MePo Patches

MePo Splashy theme

Splashy is a graphic boot splash screen utility that works on debian, ubuntu, and a variety of other linux distributions.

Since I was building a dedicated mythtv box, I thought it would be nice if I could carry the MePo theme through to the rest of the system. I designed a theme for splashy that had the same styling as the MePo mythtv theme.

Download the MePo Splashy theme

MC-Friendly menu theme



This is a script that was designed to monitor lirc for IR input and then perform actions when certain button combinations are performed. The types of events it can monitor for include:
  • Button sequences (ex: Play-Play-Enter)
  • Held button duration (ex: Play button held 1.5 seconds)
  • Repeat count (ex: Play button held for 5 repeats)
The responses to events can depend on the current state of mythfrontend. The script has the ability to connect to the Network Control Port (NCP), issue commands, and return responses. The script has built in functionality for quickly checking the frontend's location ('query location'), as well as special handling for a few special cases (playing anything, playing a recorded program, or playing live tv), however it can handle any command supported by the NCP.

The response taken to an event can include:
  • Sending a command to the NCP (ex: a key or a jumppoint)
  • Executing an external script (via perl's system command)
  • Any arbitrary perl code

This script can be used for many purposes. A few examples demonstrated in the script
  • Rebooting/halting the machine via secret key combination not likely to be hit on accident
  • A better guide button, which displays the appropriate guide depending on what you are doing, and also closes the guide if pressed again
  • Sending multiple commands at a time to load or unload the commercial cutlist with a single keypress
  • Skipping to the beginning/end of the recording if a skip button is held. This is somewhat similar to tivo's skip to end, but better since you can't easily do it by accident
  • Emulating the functionality of the tivo button on a tivo remote (which alternates between jumping to main menu and the now playing list)

Download IR Watch

MythTV Patches

Browsing Across Tuners

Configurable Seeking

Nonrepeating Playbackbox

In the PlaybackBox (ie: the Watch Recordings screen), one thing that really bugs me is the way the items on the left repeat. If you have lots of recordings from many shows, this may not be so noticable. However, if you only have a few shows, it can look very cluttered. For example, the menu might look like this:
  • Futurama
  • The Simpsons
  • All Programs
  • Futurama
  • The Simpsons
  • All Programs
  • Futurama
  • The Simpsons
  • All Programs
  • Futurama
  • The Simpsons
With all of the repeating entries, the menu looks very cluttered and maybe even confusing. I've created a patch that prevents the menu from repeating. I haven't yet made a GUI option to configure this, so for now you have to enabled it by going into the database in the Settings table and adding an entry for your host with value="PlaybackTitlesRepeat" and data="0". With the patch applied and enabled, the menu looks more comprehendable.

This patch can be applied to 0.21-fixes.

Download the Nonrepeating Playbackbox patch

MythMusic Exit Action


iMON LCD Tweaks

The iMON LCD that comes with a lot of HTPC cases has undergone some significant protocol changes. There is a new model with USB hardware ID 15c2:0038, and it is incompatible with the version of the lirc_imon driver currently available in CVS.

Thanks to the work of several people over at the forums (especially Dean Harding for the initial work on the iMON LCD, and madCoder for the 0038 patch) a lot of progress has been made on making the hardware functional, despite the lack of support the linux community has received from SoundGraph.

I've modified madCoder's patch to handle a few extra details with the new iMON model, and an extra detail the may be specific to the Thermaltake DH-101 case. The patch does the following:

Extended the LIRC code size to 8 bytes
Previously, the lirc driver only used the first 4 bytes of the 8 byte USB request buffer (URB). This was insufficient for the Thermaltake case, as the codes for its front panel buttons only varied in the 5th byte.

Normalized the URB data size
The driver was expecting all URBs to have 8 bytes of data, and ignoring everything else. However, the mouse functions on the pad remote only used 5 byte codes, and were thus getting ignored. I've extended all 5 byte codes to 8 bytes

Fixed handling for the pressure sensitive directional pad
The direction pad on the included pad remote was pressure sensitive, and thus (because of the way it was implemented) appeared to lirc as over 100 buttons instead of 4. I've added code to map all variations to just 4 directions, and handled a jitter problem when you are pressing too close to the diagonal and the direction keeps changing back and forth.

Also posted below is an updated lircd.conf file to deal with the 8 byte codes, as well as another lircd.conf file that handles the front panel buttons on the Thermaltake DH-101 case.

I also have a detailed posting on my blog dealing with
getting iMON 0038 LCD working with LIRC.

Updated patch for the iMON LCD 0038 model
Lircd.conf file for the iMON pad remote
Lircd.conf file for the Thermaltake DH-101

I've also added a followup post on my blog dealing with getting iMON 0038 LCD working with LCDproc. The patches used in that posting are linked below. They are basically the patches from the forums with a few tiny bug fixes and tweaks

Update version of Deans LCDproc patch for the iMON
Updated version of madCoder's LCDproc patch for the 0038 model iMON
patch for the LCDd.conf file

MythTV iMON Server