Clutter at OSCON

April 16th, 2008

Tomas got his ‘Clutter: Breathing Life into User Interfaces‘ talk accepted for this years O’Reilly OSCON Open Source convention.

OSCON 2008

See you there in July ?

Clutter + WebKit = ClubKit?

April 12th, 2008

A lot has changed since WebKit was last mentioned. The way it was being done a month ago was the GTK backend was used to create a widget that was then being redirected into a Clutter texture. This was such an ugly hack and the limitations of it were reached pretty quickly. Limitations such as no update notification and slow rendering speed meant that it was pretty useless for anything more than a simple static HTML page.

Since then, work has been directed into making a proper Clutter backend for WebKit, and that port has finally reached a usable state this week when ClutterCairo received the ability to update small regions of the texture. And so, I proudly present a quick demo of the WebKit Clutter backend.

As can be seen even complex sites such as GoogleMaps are working, although some sites still bring up bugs (GMail crashes for example).

Anyway, the code is available in a git repo at http://folks.o-hand.com/iain/git/WebKit and should be compiled with ./configure –disable-gtk –enable-clutter for now. The eventual plan is to have it be compilable alongside the GTK backend, but at the moment it can’t be. It will however install as libwebkit-clutter-1.0.so and so will not overwrite any WebKit-GTK installations you already have. Read the rest of this entry »

Clutter 0.6.2 released

April 3rd, 2008

hi everyone;

while trunk gets more and more features, here at the OH Towers we are still making the stable branch rock. Clutter 0.6.2 was released today with a set of bug fixes and improvements:

  • List of changes between 0.6.0 and 0.6.2
    • The EGL flavour will now install its backend-specific header.
    • The Stage in the X11 flavours will completely relinquish control over its position and size, if it is using a foreing window to draw its contents.
    • Small fixes in ClutterModel API.
  • List of bugs fixed
    • #358 - window resizing doesn’t show scaled stage
    • #800 - CLUTTER_ALPHA_EXP_INC overflows
    • #822 - Fix clutter_actor_lower()
    • #824 - ClutterEntry should handle its own key events
    • #831 - configure.ac missing osx flavour help
    • #839 - Crash if put cursor over topmost pixel
    • #860 - ClutterAlpha leaks

you can download the tarballs from here:

  http://www.clutter-project.org/sources/clutter/0.6/

as usual, many thanks to all the contributors:

  Johan Bilien
  Havoc Pennington
  Robert Bragg
  Neil Roberts
  Peter Enzerink
  Murray Cumming

Trunk happenings

March 28th, 2008

A quick report of current new Clutter developments happening in svn trunk on the road to 0.8:

Multiple Stage Support: The GLX backend now has initial support for multiple stages in a single application.

X11 Tweaks: X11 using backends (GLX & EGLX) now feature support for creating textures from pixmaps, external DISPLAYs and hooks for better integration into other X applications and toolkits. The current trunk GTK+ widget takes advantage of this (now avoiding XEMBED).

Native Win32 Backend: Neil Roberts recently committed a native WGL backend. This now avoids the need for SDL and should provide better intergrated experience on win32.

Timeline Improvements: Various edge case bugs have been fixed (thanks Robert!) and timelines now feature support for markers, allowing callbacks to be attached to specific points on a timeline.

COGL overhaul: Ivan Leben has been working on a much needed complete ground up overhaul of Clutters underlying GL/GL ES abstraction and utility layer - COGL. Work is happening in the clutter-ivan branch, expect a merge into trunk soon.

On top of all this of course numerous tweaks and bug fixes. For the brave, please checkout, play and report bugs.

Media Centers are the new Window Managers.

March 7th, 2008

Two Clutter based open source media center projects really beginning to take shape;

Gloss is Clutter based frontend to MythTV. Nice screencasts here and here (youtube).

Entertainer is a “simple and easy-to-use media center solution for Gnome and XFce desktop environments”.

Cool stuff!

More Clutter on Touch and Webkit

March 7th, 2008

An ‘enhanced’ foofone Clutter demo running on a jailbroken ipod touch’s OpenGL ES layer togeather with some basic UIKit integration for input events;

Highly experimental clutter webkit intergration;

Clutter 0.6.0

February 18th, 2008

good news, everyone!

after six months of development cycle, here’s the brand new Clutter 0.6.0 stable release. this release is the first stable release of the 0.6 cycle, which will be fully API and ABI compatible.

you can download the 0.6.0 tarball from here.

the list of new features is quite long:

New event handling system
Every actor with the CLUTTER_ACTOR_REACTIVE flag set will be able to receive events. The event propagation chain will be walked in two directions (from the top-level to the actor and back), with the ability to stop the propagation in any handler. With the new event handling it is also possible to acquire explicit grabs and to set the key focus on every actor.
Abstraction over GL shaders
It is possible to override the OpenGL programmable drawing pipeline by using the ClutterShader object and attaching it to a ClutterActor. Support for this feature depends on the graphics hardware.
Interface definition
ClutterScript can generate user interfaces from a JSON dialect. Every object known to the GObject type system can be constructed by using its type name and by setting its properties. It is also possible to override the parsing mechanism and handle custom properties for complex types.
Timelines API
The ClutterScore class has been added to help managing multiple timelines. A ClutterScore can start multiple timelines at the same time or in series. Timelines duration can now be set using a time interval (in milliseconds); it is also possible to define the direction (forward and backward).
New backends
The OSX backend has been added and it’s marked as experimental. The SDL backend is now buildable under MingW and under Visual Studio 2005.
High-precision units API
Every API dealing with positioning and sizing has a variant, marked with the ‘-u’ suffix, which accepts ClutterUnits, to allow sub-pixel positioning. A set of conversion macros can be used to transform pixels, font sizes, millimeters and percentages of a parent actor into ClutterUnits.
Anchor point
Each actor has the ability to change its anchor point from the top left corner to any point expressed in coordinates relative to the actor itself. The anchor point is used as the origin when positioning, scaling and rotating an actor.
Generic List model
ClutterModel is a generic model API which can be used to implement an actor with the Model-Viewer-Controller design pattern. Clutter provides a list implementation, called ClutterListModel.
Initial FBOs support
Clutter supports Frame Buffer Objects in ClutterTexture, where the drivers and the hardware support them. Using FBOs it is possible to create a ClutterTexture from any actor.

as well as the list of bugs fixed.

this release has been possible thanks to everybody who has contributed to Clutter 0.5/0.6:

Tommi Komulainen, Josh Stewart, Gwenole Beauchesne, Havoc Pennington, Jaap A. Haitsma, Johan Bilien, Neil Roberts, Murray Cumming

if you want to read the full announcement, you can do it on the mailing list. Also see the NEWS and README files in the source tarball.

make sure to drop by in the #clutter channel, on irc.gnome.org, and as always: have fun with Clutter!

More Movies.

February 16th, 2008

A couple of new Clutter vids made today at the OH-Plex;

Clutter on iPhone (Well actually a IPod Touch…)

Now done, thanks to pippin, with a very experimental UIKit backend which supports events, avoids flicker (a problem with older raw EGL build) and renders via accelerated OpenGL ES. Its running on top of a regular jailbroken touch - its not Linux running on a touch.

Clutter Launcher on Moblin

Moblin with the Clutter based launcher running on a 600Mhz Samsung Q1 Ultra UMPC thingy…. `and stop.’

Spotted at MWC

February 14th, 2008

A Clutter based demo spotted on the Freescale stand (on an MX31 Board) at this years Mobile World Congress.

Final Snapshots

February 11th, 2008

good news everyone!

we’ve just released Clutter core 0.5.6, the (hopefully) final developers snapshot for the 0.6 stable release. it’s been a long, six months development cycle started right after the last 0.4 release, but Clutter definitely gained a lot of features, got a lot of bug fixes and, more importantly, attracted a lot of interest.

for more information about the list of changes and bug fixes, please read the announcement email on the clutter-list.

along with Clutter core there’s the PyClutter 0.5.2 release, which brings the Python bindings up to speed with the C API and also marks the arrival of an API reference, thanks to Daniel Schierbeck who did the initial work on the documentation build. the reference is still growing, and it needs contributions from Python and Clutter users, so please: grab a class and start documenting it today, using the docbook templates already in SVN.

have fun with Clutter!