It's been a long time since I have managed to update the blog, and that's mainly because I've not been doing much work on the TV Guide recently. Generally it works fine for my purposes now, so little has been updated.
One area I have made some small changes to is in permitting it to work in a more client-server fashion. One PC must be considered to be the server, and it is responsible for organising recordings and downloading the XMLTV data. Once the data has been downloaded however, other machines on the network can share that data as if it were local.
Of course, the remote TV Guides all talk to the server to coordinate and set their recordings, and the server will distribute those recording requests around the tuners on the network if set up to do so.
This is irrelevant if you're using the web interface as that is always server based, but for me my cross-platform Java implementation still does not have the polish of a locally installed version. Now the data is shared, you can run a full version on any PC you like just by copying the installation files over.
I've also updated the AutoConvert tool so that it can be set just to convert from DVR-MS to MPG and not to XVid if required. This is because some people don't care for XVid but still want to play the recorded files on their Mac for example. It's also been changed to copy the final files somewhere else on the network, again heading down the line of the central PC doing the processing locally, and then the files getting deposited on a NAS for example.
Finally, I fixed a bug in the XMLTV parsing which was struggling with odd characters in the XML feed. I'm using the .NET XMLTextReader now which is far more reliable than the old system. If your guide is not updating, you might need this fix.
Eee PC
I've had my eye on one of these for a while, as they seem to combine both the functionality, the extreme compactness and the price all together in one package. I wouldn't use it for serious work, but as a machine to take on holiday to process images, or browse the net, it's just about perfect.
Great news is that Asus are launching a 9" screen version later this year, which will put aside the only thing which has stopped me from picking one up already.
They also plan to create a desktop version, which if it's priced right could be a perfect low cost client for other rooms in the house.
Mono and GTK
One area of development I have been playing around with (once again) is Mono under Linux. I was both initially impressed and then disappointed with it's performance when moving the TV Guide as it stood to Linux but that turned out to be a problem with my expectation rather than with Mono. It's a lot to expect Windows.Forms to work well under Linux, and given the complexity of achieving this, actually it's no surprise.
Instead I've been playing with GTK# which is a .NET wrapper over the GTK+ UI which Gnome uses. This initially might seem like a step completely the other way, but the reason I've had success with it is because there's an excellent Windows port of GTK+ which performs as well as Windows.Forms on the Windows platform. Even the user-drawn parts of the TV Guide are no problem using a mixture Cairo and Gdk.
Finally it seems I could have a single code base which would look as good (and as native) on Windows as it will on Gnome Linux. That's serious credit to everyone behind Mono and Gtk#.
To credit Mono once again, it's also amazing that it's only the UI which needs to be updated for the whole of the TV Guide application to run on Linux. The core (probably 85-90% of the application) runs flawlessly on both Windows and Linux, even to the point of binary compatibility with serialised and deserialised objects for example. That's quite amazing technologically.
Anyway I hope to get some screen shots of the GTK# front end on the blog shortly, so you can see just how it looks on both platforms.
There's only one downside to GTK+ and that's that it does not look "native" on Mac OSX. That's a real shame, and I suspect that it's only a matter of time until someone works on that. There is another option with Cocoa#, but that will require me to write a separate UI just for the Mac. At present (as I don't have a Mac!) I'm not going to do that.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment