Tag Archives: Totem

Abigail's Party

We've now cleared away the set from another WHP production, this time of Abigail's Party (photos!). I can't say it was the best play I've ever done; it was a departure from the normal type of comedy play we do, and although change is nice, I wouldn't want to do another like this. I did not really find it funny, and while the five actors were doing phenomenally on stage, the script itself was what I didn't like. That said, the audiences on all three nights appeared to really enjoy it, so perhaps I'm being too critical.

I was quite disappointed with how the lighting came out, and that's entirely my fault. Having set it all up and gone through the dress rehearsal, I adjusted it to cover the few dark spots there were, and thought that was the end of it. However, by the time we were half-way through the first performance it was obvious to me that there were still some not-inconsiderable dark spots in a few areas which bugged me throughout. They weren't bad enough for the audience to notice (as far as I could tell), but were in no way dismissable.

In GNOME news, I've been unable to do anything except bug triaging for the past few weeks, due to a combination of exam revision and this play. Once my exams are over (in another couple of weeks), I hope to be back to working on Totem, ready for a GIO-filled 2.24 release.

Revamp, GTK+ apps on Windows and more documentation

I've just finished converting the site to use WordPress instead of the custom software I'd previously been using. It'd been getting too time-consuming to keep everything maintained and up-to-date with the latest things going on on the Internet, and I'd been reduced to making posts via phpMyAdmin due to various things breaking. Hopefully, this should be better, and a lot less hassle to keep running. I apologise if the transition has messed up the feed for anyone, but I've tried my hardest to redirect all the old URLs, so things should keep working as before.

Recently, I had to compile my computing coursework for Windows, as the person for whom it's written only uses Windows. Much to my delight, once I'd figured out the terminology and basic principles, getting it to cross-compile for Windows using MinGW was quite easy! Since I couldn't find much documentation on the process while doing it, I've written up the steps I took, and perhaps someone else will find them useful.

Last month, I also managed to write up some API documentation for totem-pl-parser, which has been on the to-do list for a little while. It was quite easy to get the hang of gtk-doc, too, and once I'd got started, the documentation got done quite quickly. If anyone's implementing anything using totem-pl-parser, I'd appreciate any feedback on the usefulness of the documentation, as it can always be improved.

Totem docs, go-karting and BIO

It's been a busy week, but things should now be winding down (or up) for Christmas.

To begin with, I've got an e-mail from Kirk Bridger sitting in my inbox with a usability review of Totem's Tracker plugin. I'm trying to find some time to go through it and deal with the five issues he brings up, since they're all problems on one level or another. I've just about missed the period before UI change announcement comes in, but I should be able to get it done before the UI freeze.

Another area Totem's getting some work done in is documentation. We've got two bugs open at the moment about it, and some other changes lying around in my local checkout. The current documentation for Totem ostensibly relates to version 1.6, but I suspect it's actually a mish-mash of documentation for several versions, with small areas changed as and when necessary. It might be an idea to set another GHOP task to update the documentation.

Away from GNOME, I went go-karting yesterday as an outing to celebrate my brother's birthday. Although it was freezing, we had fun, and my dad, brother and I all came very close together; if it wasn't for each others' mistakes, we wouldn't have got past anyone at all. The problem now is that I ache everywhere, due to the kart's seat being slightly too big, and the fuel tank being just a bit too wide to sit comfortably between my legs.

Moving back towards computing, I sat the British Informatics Olympiad again on Friday. I found it a lot easier this year than I previously have, as this year, VC++6 was available on the computers at school for me to use. In previous years I've been forced to use Visual Basic 6, and the lack of decent arrays makes taking the olympiad like swimming in treacle with your hands tied behind your back look easy.

Thanks to being able to use C, I managed to get complete solutions to the first two questions, and was half-way through a solution to the third (although I'm not sure I was taking the right approach) when the time ran out. Hopefully I'll have got more than half marks this year. :)

Totem YouTube plugin

Update (2011-08-27): A lot has happened to the Totem YouTube plugin since this blog post. It's been ported to C, extended to do HD videos, trimmed down to no longer do HD, and then moved to Grilo, where it now lives. It can be used in Totem from the Grilo plugin, which provides a unified UI for accessing video websites like YouTube from Totem. For more information on the history of the plugin, see my blog posts about Totem.

YouTube has come to Totem…

…in the form of a plugin I've written which allows you to browse YouTube from the comfort of everyone's favourite movie player. It allows searching for videos, and when you play a video, it displays its related videos.

The feature I'm most proud of though, is the fact that it automatically paginates when you scroll down the search results, loading more results as you go down. With a hint from Patrys in the comments in my blog post on it (and thanks to the other guys who left comments :)), it works by loading results immediately if you scroll 80% or more of the way down the treeview with the mouse or keyboard, or if you let go of the scrollbar handle more than 80% of the way down when moving it with the mouse. Query pages are loaded in a separate thread, and then the results are brought in with an idle function. This isn't quite as lag-free as I'd've wanted, but I can't see much more I can do to improve things.

Anyway, try things out by downloading and compiling SVN Totem, then enabling the "YouTube browser" plugin. You'll need the GData Python library (that's what the YouTube API uses, PyGTK 2.12 and Python 2.5. Before anyone asks, there's no way to sanely support video uploading yet, as Google unfortunately haven't yet exposed a public upload API. :(

Oh, and the cake is a lie.

Adding to a GtkTreeView as you scroll?

I'm writing something for Totem, and I want a GtkTreeView to have more rows added to it as you scroll down.

So far I've got it adding more rows nicely when you get to about 80% of the way down the GtkAdjustment, by listening to the adjustment's "changed" signal, but then it keeps on adding rows (ideally it should only add 20 at a time then stop), and the handle of the scrollbar screws up. I presume this is something to do with the fact that the handle is grabbed at the time, and so probably can't resize, or something.

Anyway, has anybody implemented anything similar before (or seen such a feature somewhere) so that I can see where I'm going wrong? I could've sworn I'd seen something similar before (I'm not original enough to think up such features myself :D), but I can't find it. Answers on a postcard, please. :)

Hello Planet!

Hello Planet GNOME!

I'm Philip, 16-year-old programmer and GNOME user from England. Although I've been using GNOME for a while, I think it's only been a year I've been helping out. I've mostly been dealing with Totem bugs, and doing various other things to Totem; probably the most notable things I've done is adding Python and Vala support to Totem's plugin system, and convert the whole of Totem to use GtkBuilder, both of which are changes debuting in 2.20. :D

Some of you may have seen me at GUADEC; I was the lost-looking one without a laptop. ;) I was there for the full duration of the event, and enjoyed it a lot, even if I didn't manage to take full opportunity to make more friends.

As far as personal life goes, I do a lot of web development (probably evident if you look at my previous posts. I've just finished the compulsory part of my education, gaining these grades, and I've now got two more years in full-time education before I hopefully go off to university, probably to study computer science. Away from school and computers I'm into hockey and model making.

Finally, if anybody manages to break anything on this site, please tell me, as I've only just upgraded the site, so there are probably still a few kinks to work out (Jeff noticed my feeds were slightly broken when he added me to planet, for example). :)

GUADEC post-mortem

GUADEC is over, and I'm back home. A lot went on at GUADEC, and I'm quite pleased to have been able to get there and be part of it.

I met loads of people I'd previously only known online, as well as seeing quite a few of the more (in)famous ones, such as the Internet's Jono Bacon and Federico.

The beginning of the conference was a bit marred for me by the lack of a laptop, so I was unable to join in the hacking. A few days in though, and I managed to get hold of one, which I ran off a LiveCD (and then a LiveUSB once they arrived) for the rest of the conference. Because of this, I should soon have a patch to convert Totem's UIManager stuff to GtkBuilder.

One of the highlights of the conference was the swag. I think I managed to get quite a lot, but other people still went away with more. The only stuff left at the end was the black T-shirts by Access, which didn't really look that nice. As someone said: If I want to be an advertisement, I want to at least be stylish.

'Allo 'Allo and Totem

After a slow start, my local drama group's production of 'Allo 'Allo turned out spectacularly well, but it's all over now, and I'm into exams.

My local drama group has been rehearsing its production of 'Allo 'Allo for the past few months, and, as usual, I've been doing the sound and lights.

There wasn't much to do in the sound department this time, apart from a distorted voice coming over a radio, for which I built a distortion and clipping box specially. Unfortunately, we had to scrap using it, as the person doing the voice couldn't hear himself come out of the speakers, and thus wasn't confident about whether it was working (which it was, but he couldn't know that every time).

The lighting was more interesting initially, as the plan was to split the stage into three distinct columns, and have the "scenelets" played out in different areas, with hard-edged lighting on them, and the rest of the stage in darkness. Unfortunately, when it came to the first rehearsal on the actual set, it was found that set changes with this setup took almost five minutes each, which was unacceptable. We then changed it so that most scenelets were in the middle of the stage, which skewed my lighting a bit, but it seemed to work.

As all three performances were completely sold out, we allowed people to come to the dress rehearsal (in return for a donation towards this year's charity). This performance wasn't bad by any account, but wasn't quite as polished as I believe our performance of such a great play should be. Thankfully, everything improved in the dress rehearsal, and by the second performance, everything was going rather nicely.

The final performance, however, was a tour de force, and possibly the best performance I've seen in my numerous years with the group. The audience were as good as one could hope for, laughing at everything and anything, and appreciating every joke to its fullest. The actors were full of energy (probably because it was the last night, and they knew there was a big party awaiting them afterwards), which showed in the performance.

So that's what I've spent the last few weeks doing, and now I'm diving headfirst into some pretty important exams, which are unfortunately going to occupy my life for the next month or so. :(

In the interim, my GNOME SVN commit account has been activated, and I made my first commit to Totem, which was a simple patch to clean up the po/POTFILES.skip file. Since then, I've committed a large patch to move the Totem "skip to" dialog to a plugin, which had been my main bit of Totem hacking for a few weeks. I'm quite pleased with it. :D