MythStatusScreenlet 0.0.3 released (Hardy support)

Posted on Updated on

Announcing the long awaited update to the MythStatusScreenlet to support Ubuntu Hardy Heron.

After spending quite a lot of time trying to get ElementTree working, I gave up and just rewrote the XML parsing using simple regular expressions. I know it’s a hack, but at least I have something that should work in Hardy.

# RELEASE: 0.0.3
# – No longer uses xpath, so should now work in Hardy

You can download the latest file from gnome-look. As usual, let me know if you it doesn’t work for you.


MythStatusScreenlet 0.0.2 released (MythTV 0.21 support)

Posted on

I’ve released a new MythStatusScreenlet. The release notes are below.

# RELEASE: 0.0.2
# – Now supports MythTV 0.20 and 0.21 xml formats
# – Better handling when backend goes away/comes back

You can download the latest file from gnome-look.

The MythStatus Screenlet is now available

Posted on

As mentioned on the MythStatus screenlet page, I’ve tidied up some of the code and posted a tar on the Screenlets Website.

The MythStatus Screenlet polls the XML info page of MythTV’s backend (normally port 6544), and parses the XML information to display the status of your backend. It shows the next ten upcoming recordings, highlighting in red, any that are currently recording.

It also shows Last Guide Update status, a disk space graph, Load Average and Temperature as provided by MythTV’s XML status page.

Problems converting back to the RadioTimes grabber – solved

Posted on Updated on

I used to use the excellent RadioTimes XML data with the XMLTV grabber to get my listings for MythTV. When the RadioTimes data was a little slow in coming over Christmas and New Year, I gave the EIT listings data a try.

The EIT data (pulling the programme listings from out of the DVB signal) mostly worked, but I think my little argos indoor aerial is not quite reliable enough. I kept getting
Started PESPacket, but !payloadStart()
Error: offset>181, pes length & current can not be queried

and then the backend would crash. I can only assume that my DVB stream is too full of errors. I hope to get a proper loft aerial sometime, but generally recordings are “good enough” (as long as it’s not too windy).

The EIT grabber had run long enough to get a weeks worth of data, so I thought I’d turn it off and wait for the RT site to come back online. A few days later the wonderful people at the RT had their side all sorted, and I was in a position to re-instate the RT grabber. However, when I went back into mythtv-setup, XMLTV was not listed as an option when setting up the source. The mythtv-setup app would just spit out errors saying Failed to run tv_find_grabbers

Since I had it running in the past, I knew it worked, but I had upgraded Fedora and MythTV since I had set up Myth, so maybe that script is missing from my machine, and I had not noticed.

I started out by re-running tv_grab_uk_rt --configure as per the Myth XMLTV page, and that did what it was supposed to do. Then I ran a test tv_grab_uk_rt --config-file ~/.mythtv/Freeview.xmltv --output /tmp/freeview.xml and it pulled down the listings correctly and dumped them into the xml file. So I ran mythfilldatabase again, and it still did nothing much. Therefore, the xmltv grabber must need to be configured in the database somewhere.

I had a look in the database, and found the following line
mysql> select * from videosource\G
*************************** 1. row ***************************
sourceid: 1
name: Freeview
xmltvgrabber: /bin/true
freqtable: default
lineupid: NULL
password: NULL
useeit: 0
1 row in set (0.00 sec)

This looked promising, so I changed it to ‘/usr/bin/tv_grab_uk_rt’ and ran mythfilldatabase. However, it would complain that I was calling the grabber wrongly and the error was something like “You may need to upgrade your xmltv grabber”.

Then I changed it to just ‘tv_grab_uk_rt’ (because reading this post hinted at the fact that it might be hardcoded to the name, not the path) and it all started working again. Yey!

Don’t forget to check that all the channels are configured with the XMLTV IDs in the channel table, by looking at the Channel Info page in MythWeb (mine had all disappeared as part of the EIT change), and that your source has a corresponding xmltv file in ~/.mythtv/<sourcename>.xmltv

amaroK, two years on

Posted on Updated on

It’s over two years since I posted my experiences with amaroK. At the time I was impressed by the meta information like album grouping and album art lookups on Amazon.

Two years later, and I’m still using it. So obviously it’s stood the test of time. I’m using the Xine engine in amaroK, and have the multimedia keys on my M$ keyboard mapped using xbindkeys (config below) I am still on version 1.3.9, on Fedora Core 4, so some of the dcop stuff might now be redundant.

Some things I would recommend for listening to music on Linux

Use the Xine engine in amaroK
I think the sound quality is better than gStreamer, and file support is broader.
Rip to FLAC
amaroK/xine sounds great, so make sure you’re using a good source file. Disk is cheap these days.
Use replaygain to losslessly “normalise” your track volumes
replay gain uses tags to tell your player what volume to play your files at. There is a replay gain script for amaroK, which reads the replay gain comments out of the file, and adjusts your volume for you.
Rip with ABCDE
Add the following to your /etc/abcde.conf to tell flacenc to use add the replay gain comments to encoded music. FLACOPTS="--replay-gain"

As mentioned above, I use xbindkeys to bind commands to certain key presses. This is especially useful for making use off the multimedia keys on keyboards. My keys just call the DCOP commands in KDE to tell amaroK to stop/start/pause,adjust volume. I’m not sure if newer versions of amaroK still use DCOP, but for now, it works for me

from ~/.xbindkeys when using Microsoft multimedia split/ergo keyboard.

    "dcop amarok player stop"
    m:0x10 + c:164

    "dcop amarok player playPause"
    m:0x0 + c:162

    "dcop amarok player prev"
    m:0x0 + c:144

    "dcop amarok player next"
    m:0x0 + c:153

    "dcop amarok player volumeUp"
    m:0x10 + c:176

    "dcop amarok player volumeDown"
    m:0x10 + c:174

mythfilldatabase failing again

Posted on Updated on

A few weeks ago, I found that mythfilldatabase was failing every night. It looks like it’s failing again and I am getting the same error but it appears to be for a different reason. Code point \u0000 is not a valid character in XML at /usr/lib/perl5/vendor_perl/5.8.8/ line 1757
  2007-11-02 09:18:14.826 ------------------ End of XMLTV output ------------------
  2007-11-02 09:18:14.828 FAILED:  xmltv returned error code 65280.

I’ve downloaded the latest radio times channels file from CVS and I’ve upgraded perl-XMLTV and xmltv-grabbers from yum (FC6) as there were new ones available, but I am still getting the same thing.

I did get it to run once yesterday by commenting out of my .mythtv/Nova-T.xmltv channels file (as alluded to here), but it’s not really an ideal solution, since I do like to record movies on film4.

Someone on that thread seemed to think it might be a corrupted file cached somewhere, so as soon as I figure out what file it’s complaining about, I’ll try a wget --cache=no and see what happens.

MythTV XMLTV grabber errors after upgrade

Posted on

I recently yum’d my machine from FC5 to FC6, which went surprisingly well. Around the same time, MythTV 0.20.2 was released so I upgraded that as well.

However, at that point mythfilldatabase started erroring, and so my guide data was not updating. I did a few manual updates which would work fine, but the overnight job would always fail.

Looking through the logs I saw this message.

  [Mon Sep 10 02:06:50 2007] Retrieving listings: 100%
  [Mon Sep 10 02:06:50 2007] Retrieving listings: 100%
  progress bar already finished at /usr/lib/perl5/vendor_perl/5.8.8/XMLTV/ line 70
  2007-09-10 02:06:50.156 ------------------ End of XMLTV output -----------------
  2007-09-10 02:06:50.169 FAILED:  xmltv returned error code 65280.

It would never occur from an interactive shell, only from the overnight job, so I had a look at the options for the grabber to see if it would run silent, in the hope that it wouldn’t do the progress bar thingy, but the problem is that the grabber is a sub-process of mythfilldatabase.

After some delving I found that you can pass arguments to the grabber with –graboptions

So, my current config is a crontab like this, with the scheduled task in myth disabled.

  /usr/bin/mythfilldatabase --graboptions "--quiet"

That seems to have worked perfectly for nearly three weeks, so I’ll look at implementing that into the mythfill setup in myth rather than running it from crontab.

I just thought it might be of use to someone.