Tuesday, 24 July 2007

Clutter Foo

So Guadec went really well, for both me and everyone at OH. I got to meet lots of people, see all the cool things people have been working on, and everyone got a chance to see all the different things we have been working on at OH towers :-).

One of the coolest things was that everyone seemed to love the work we've been doing on Clutter, a lot of people spent time at our stand playing with the apps we have written, and generally asking questions on how to start developing with Clutter. Matthews presentation also went very well, and the audience seemed to enjoy seeing all the demos on the big screen.

So, for all those who missed the presentation, and those who just like to watch pretty videos, I'll do a quick recap of some of the example apps that we have in svn (http://svn.o-hand.com/repos/clutter/trunk/toys).

These should be a great place to start to get an idea of how clutter works, and how the animation framework works. If you are comfortable with Gtk, then it should be quite easy for you to get started with Clutter.


I'll start with this because it's probably the one I play around with the most :-D. It's basically a Surface-type app, written by Tomas. You point it to a directory, and it'll crawl it, putting all the pictures and videos it finds onto the screen for you to manipulate:


This is Matthew's really funky, stupendously cool, hotter than a hot cup of tea, movie player!It has a 'slider' menu for filtering your video collection, plus it'll do something clever with all those TV shows you've recorded (legally ;-) from the BBC, so you can easily see the episode number and season:

Hint: Press 'e' during playback for some fun during a boring video


Yay, my turn :-). This didn't work during the presentation as there wasn't an active internet connection, but its by far the coolest :-p! Coming back down to earth, it's a slideshow program, which has two backends, a directory one (which needs some work), and a Flickr one. The Flickr one is quite cool, you just provide a bunch of tag names when you start it, and its pull all photos matching the tags from Flickr, and continuously update the slideshow. It'll also show the title of the image and the authors name:

Hint: Press left and right arrows to rotate the entire stream of photos. Press up to flip them.


Last but not least, we have the flowers demo, which shows how you can use your cairo skills with clutter. It is a very simple app, but everyone likes it, so I thought I'd post a video anyway :-).

This really needs to be made into a screensaver...

Points To Note

These are in 'toys' for a reason :-). They are still rough around the edges, but they should provide a nice demo of what's possible, and where to start when you decide to create your 3-d masterpiece! All the demos require Clutter 0.3 (some may need clutter-trunk).

Also, please bare in mind that the performance is much better in real life. Capturing the screencast uses a lot of resources, and the conversion from the resulting video file to google video looses a lot of clarity!

Finally, the python bindings for 0.3 are coming, if you would like to help with them you can let someone know in #clutter on irc.gimp.net, or contact Rob, who is in charge of the python bindings (sorry Rob ;-).


mon said...


Anonymous said...

Of course all utterly awesome, I wonder which music is playing in the second demo, the neat video player so to say!

emil said...

yes awesome it is and ofcourse i have to try myself.

aaina is working great but is flickering alot., maybe something with compiz?

i try to compile the versions that is in the svn but all the time i get:
larsemil@aragorn:~/clutter/clutter/clutter$ ./autogen.sh
./autogen.sh: 2: gtkdocize: not found

larsemil@aragorn:~/clutter/clutter/clutter$ ./configure
./configure: line 1734: syntax error near unexpected token `config.h'
./configure: line 1734: `AM_CONFIG_HEADER(config.h)'

good job and keep it up!

Laterix said...

Nice stuff! I played around them and I can confirm that in real life those are fast and slick.

emil: you have to install gtk-doc-tools (or something like that) package to get gtkdocize.

emil said...

laterix: yes that solved all my problems. the only thing is that all the applications/toys are flickering a lot. otherwise they are working just fine.


Neil J. Patel said...

@emil: Do export CLUTTER_VBLANK=none before you run the programs, that should help :-).

Anonymous said...

Any news about AWN :D

Anonymous said...

Make the table clutter the desktop of gnome! Say I save a document to my desktop, I should be able to view it as a thumbnail and then scale it up to 100% original size so it is readable without opening a application.

If gnome could replace the static desktop it currently has with the table clutter concept it would be good. A few extra ideas for table clutter is:

- put a paper clip button to group certain documents together?

- introduce physics to move items and bounce of screen edges, items should interact with one another (ie throw, not drag and drop, files to a folder and it will automatically move it there)

I can't see myself really launching the clutter app every time I want to use the interface, really just ditch the current desktop interface in gnome and replace it with this table concept and the desktop will be used _a lot_ more often instead of ignored.

Anonymous said...

Brilliant Stuff by everyone @ OH.
Love the flicker app :)

- Varun R

Anonymous said...

really cool! those kind of things make vista seem like prehistoric!

Meatcart said...

I really wanna tryoout these, on Fedora 7.

I've tried compiling clutter 0.3.1 because F7 only has 0.2.something. And after installing I tried to compile the cairo tarball and it's like :

checking for DEPS… configure: error: Package requirements (clutter-0.3, cairo >= 1.4) were not met:

No package ‘clutter-0.3′ found

When I do ‘pkg-config –list-all’ it’s not listed as well, while the install seemed succesfull without any errors..

When I try to make Table as it is, it throws out alot of errors so I figure I gotta have these installed properly first..

Any help? Thanks :) I really wanna try em out, they look awesome! Especially Table.

Neil J. Patel said...

@meatcart: You need the unstable (by name not nature) clutter libs, which you can get from http://svn.o-hand.com/repos/clutter/trunk. You should build clutter/ clutter-gst/ and clutter-cairo. I hope that helps :-)! Also, these can be install along side 0.2, so they won't overwrite anything.

Meatcart said...


I've downloaded the tarballs first, but now I've got them compiled from svn.

I asked on the clutter blog too, and I got a reaction about /usr/lib/pkg-config, only I've got /usr/lib/pkgconfig instead. So I figure that's causing the problems..? ./autogen.sh, make and make install go just fine for the first clutter package, the other cannot find clutter after I did make install.

I've tried to copy the .cp files manually to /usr/lib/pkgconfig/ which made the others compile and install too. But that isn't a good solution either I reckon, since Table for example still won't compile..

I figure I'll need to change var or give an extra option to ./configure, only I don't know which ones?

Thanks alot :) And sorry for the trouble.

Meatcart said...

Now I can finally say, Table is great!

I've just got them working now here :)

I had to copy all the files from /usr/local/lib to /usr/lib (since in /usr/lib all my other stuff was and in the other only the clutter ones, so I figured they belong elsewhere.)

And now Table compiles and the rest too, yay! *off to try the rest* I'm sure they rock as much as the rest :)

Can't wait to see what else pops up in the future =p


plagiats said...

Hi. Trying to compile from svn, I fail at launching clutter.

clutter, clutter-gst, and clutter-cairo seem to have been compiled successfully (./autogen.sh && make && sudo make install) but then...

how do I launch clutter? there's no /usr/bin/clutter , no clutter in my gnome menu, and a locate clutter just gives me the list of the files gotten from the SVN.

I don't get it, what am I supposed to do now ?

Thank you for your help.

Neil J. Patel said...

@plagiats: Clutter is a library, so you need to install some apps that make use of it. The apps I have mentioned are available under the toys/ directory from the same place as clutter, clutter-gst and clutter-cairo. Once you can install those apps, starting them will give you an idea of what you can do with clutter :-).

plagiats said...

neil : thanks, that wasn't easy to figure out. :) I'm playing with table right now, and it's really hard to manipulate at first. I either can't rotate or can't resize pictures : it does one but not the other.

That's really frustrating :) Wouldn't it be easier to just bind some keys like R+click = rotate, E+click = expand, click = move ?

BTW, I'll keep playing. Clutter seems really promising. And thank you for your quick answer, I'm sure it might help someone else. :)

Neil J. Patel said...

@plagiats: No probs :-).

It does take some time to get used to table, the way it works is corners = rotate, and edges = scale, center = move.

Reagrding further development...it's up to tomas :-)!

Mr Frosti said...

Awesome tech videos! Wanted to point out that the Waahoo movie player is MIA - but I would love to see it.

Web Tasarım said...

Sorry my english firstly, i read well but i cant write :), So its useful post for me and i bookmarked your blog.

warez indir, oyun indir, dizi indir, program indir, photoshop indir

web tasarımpremium wordpress themesfotokopi, dijital cikis, ozalit, kirtasiyesesli chat