Tomas Frydrych [Thu, 18 Jan 2007 07:21:41 +0000 (07:21 +0000)]
fixed bug in clutter_color_darken/lighten()
Matthew Allum [Wed, 17 Jan 2007 19:16:52 +0000 (19:16 +0000)]
2007-01-17 Matthew Allum <mallum@openedhand.com>
* configure.ac:
Bump up version to 0.2.0
Tomas Frydrych [Wed, 17 Jan 2007 16:00:00 +0000 (16:00 +0000)]
documentation for fixed point API
Emmanuele Bassi [Wed, 17 Jan 2007 13:51:14 +0000 (13:51 +0000)]
2007-01-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-feature.h:
* clutter/clutter-feature.c: Move the GL headers from the
header file to the body.
* clutter/clutter-fixed.h:
* clutter/clutter-fixed.c: Fix apidoc.
* clutter/clutter-color.h:
* clutter/clutter-color.c: Ditto.
Tomas Frydrych [Wed, 17 Jan 2007 13:25:51 +0000 (13:25 +0000)]
float -> fixed point
Tomas Frydrych [Wed, 17 Jan 2007 13:03:52 +0000 (13:03 +0000)]
fixed point sqrt
Emmanuele Bassi [Tue, 16 Jan 2007 18:13:57 +0000 (18:13 +0000)]
2007-01-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Remove clutter_vblank_method(): it's
private.
Emmanuele Bassi [Tue, 16 Jan 2007 15:03:29 +0000 (15:03 +0000)]
update NEWS with latest bug fixed
Emmanuele Bassi [Tue, 16 Jan 2007 14:37:54 +0000 (14:37 +0000)]
2007-01-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-feature.c: Use clutter_vblank_method() to
get the VBlank method name from the environment variable OR
the command line switch.
(clutter_feature_do_init): Move the check on the features
state here, to avoid an expensive function call, and inline
the function.
* clutter/clutter-fixed.c: Fix gtk-doc.
* clutter/clutter-main.c: Add a --clutter-vblank command line
switch controlling the VBlank method to be used: it overrides
the CLUTTER_VBLANK environment variable.
(pre_parse_hook), (clutter_init),
(clutter_init_with_args): Move thread initialisation before
type init, to avoid the warning that comes with newer GLib
versions.
* clutter/clutter-group.h:
* clutter/clutter-group.c: Mark clutter_group_show_all() and
clutter_group_hide_all() as deprecated.
Matthew Allum [Tue, 16 Jan 2007 14:19:39 +0000 (14:19 +0000)]
2007-01-16 Matthew Allum <mallum@openedhand.com>
* NEWS:
Minor tweaks
* TODO:
Sync up, mainly with 0.3 todo items
* clutter/clutter-behaviour.c:
* clutter/clutter-behaviour.h:
clutter_behaviour_get_n_actors() / clutter_behaviour_get_nth_actor()
Additions.
* clutter/clutter-stage.c: (clutter_stage_realize):
Experimental (disabled) visual setting code.
* clutter/clutter-feature.c:
Check for GL_EXT_texture_rectangle (#198 - Frederick Riss)
* clutter/clutter-group.c: (clutter_group_allocate_coords):
Fix for group size allocation (#199 - Frederick Riss)
* clutter/clutter-texture.c: (texture_upload_data):
Fix texture unpacking row length (#197 Frederick Riss)
* examples/Makefile.am:
Fix LDADD in build (#196 - Frederick Riss)
Tomas Frydrych [Tue, 16 Jan 2007 10:39:18 +0000 (10:39 +0000)]
replacement of floating point ops with fixed point
Tomas Frydrych [Tue, 16 Jan 2007 08:14:53 +0000 (08:14 +0000)]
added ClutterAngle type and fast clutter_angle_sin() function; fixed clutter_fixed to work for negative angles; added convenience macros clutter_fixex_cos and clutter_angle_cos
Tomas Frydrych [Mon, 15 Jan 2007 19:43:09 +0000 (19:43 +0000)]
pluged clutter_fixed_sin into clutter-alpha; updated change log
Tomas Frydrych [Mon, 15 Jan 2007 18:37:12 +0000 (18:37 +0000)]
implemented fixed point sin(); fixed CLUTTER_FIXED_TO_FLOAT/DOUBLE macros
Matthew Allum [Sun, 7 Jan 2007 00:36:41 +0000 (00:36 +0000)]
2007-01-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_allocate_coords):
Fix an amazingly not noticed until now typo.
Minor doc tweaks.
* clutter/clutter-behaviour-opacity.c:
(clutter_behaviour_alpha_notify):
Take into account initial opacity value when calculating from alpha.
* clutter/clutter-group.c:
Add new get_nth_child() and get_n_children() api calls.
Matthew Allum [Thu, 4 Jan 2007 19:56:01 +0000 (19:56 +0000)]
2007-01-04 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-actor.h:
Add new set_width/height API calls.
Tweak scaling by reseting matrix.
Make set_opactiy() take parent opacity into account.
Fix clipping.
* clutter/clutter-alpha.c:
Add more sine functionality.
* clutter/clutter-behaviour-opacity.c:
Dont make a copy of all applied actors but use a foreach()
* clutter/clutter-behaviour-scale.c:
Give correct limits to propertys.
Tweak gravity a little more.
Update docs.
:
* clutter/clutter-behaviour.c: (clutter_behaviour_remove):
Minor warning text change.
* clutter/clutter-feature.c: (clutter_feature_wait_for_vblank):
Minor dri ioctl tweak.
* clutter/clutter-label.c:
* clutter/clutter-label.h:
Add new label_full api call.
Emmanuele Bassi [Wed, 27 Dec 2006 18:42:31 +0000 (18:42 +0000)]
update NEWS
Emmanuele Bassi [Wed, 27 Dec 2006 18:25:43 +0000 (18:25 +0000)]
2006-12-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.[ch]:
* clutter/clutter-event.[ch]: Revert changes; this is what
happens when you keep old tree around.
Emmanuele Bassi [Wed, 27 Dec 2006 18:19:34 +0000 (18:19 +0000)]
2006-12-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.h:
* clutter/clutter-color.c: Add clutter_color_to_string(),
which creates a hex-encoded color string from a ClutterColor.
Matthew Allum [Wed, 20 Dec 2006 00:59:07 +0000 (00:59 +0000)]
2006-12-20 Matthew Allum <mallum@openedhand.com>
* NEWS:
Add some missing improvements.
Emmanuele Bassi [Sun, 17 Dec 2006 16:52:40 +0000 (16:52 +0000)]
2006-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c: Remove some gtk-isms; always take
a reference before calling g_object_notify(), as the object
might get disposed while calling the closures inside the
notify queue; notify the changes of the ellipsize property.
Emmanuele Bassi [Sun, 17 Dec 2006 16:01:42 +0000 (16:01 +0000)]
update TODO list
Emmanuele Bassi [Sun, 17 Dec 2006 15:18:58 +0000 (15:18 +0000)]
update TODO list
Emmanuele Bassi [Thu, 14 Dec 2006 22:19:08 +0000 (22:19 +0000)]
2006-12-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.h:
* clutter/clutter-color.c: Expose clutter_color_copy()
and clutter_color_free() for the python bindings, so that
they can manager the conversion automatically; use the
slice allocator when copying/freeing a ClutterColor.
Emmanuele Bassi [Wed, 13 Dec 2006 18:12:09 +0000 (18:12 +0000)]
2006-12-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-event.h:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/clutter-timeline.c: Update the inline apidoc.
Emmanuele Bassi [Wed, 13 Dec 2006 18:11:50 +0000 (18:11 +0000)]
2006-12-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Update.
* tmpl/*.sgml: Update the templates.
Matthew Allum [Wed, 13 Dec 2006 09:44:05 +0000 (09:44 +0000)]
2006-12-13 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_class_init):
Allow actor x,y props to be negative.
Emmanuele Bassi [Tue, 12 Dec 2006 20:20:04 +0000 (20:20 +0000)]
2006-12-12 Emmanuele Bassi <ebassi@openedhand.com>
Rework part of the show/hide machinery. Allow groups sub-classes
and composite actors to override show_all/hide_all in order to
decide which children they wish to show/hide. This means that
if an actor overrides the default show/hide virtual methods, it'll
have to chain up to the parent class show/hide. While we're at it,
provide the fully recursive clutter_actor_show_all() and
clutter_actor_hide_all() methods.
* clutter/clutter-behaviour-path.c: Add apidoc for the ClutterKnot
functions; add pathological equality case for clutter_knot_equal().
* clutter/clutter-event.h:
* clutter/clutter-feature.h:
* clutter/clutter-behaviour.c:
* clutter/clutter-behaviour-scale.c:Fix parameters name so that
gtk-doc doesn't complain.
* clutter/clutter-actor.c:
* clutter/clutter-event.c: Add apidoc
* clutter/clutter-actor.h:
* clutter/clutter-actor.c: Add a clutter_actor_show_all() and a
clutter_actor_hide_all() functions; provide a mechanism for
groups and composited actors to programmatically select what to
show/hide when clutter_actor_show_all() and clutter_actor_hide_all()
are called. If you are overriding the ClutterActor::show or
the ClutterActor::hide virtual methods you should chain up with
the parent class.
* clutter/clutter-group.c: Override show_all and hide_all and
recursively show/hide every child inside the group;
clutter_group_show_all() and clutter_group_hide_all() remain as non
recursive versions of clutter_actor_show_all() and
clutter_actor_hide_all() (maybe we should rename them in order
to avoid name clashes with the bindings).
* clutter/clutter-stage.c:
* clutter/clutter-texture.c: Chain up with parent class show
and hide vfuncs.
* clutter/clutter-clone-texture.h:
* clutter/clutter-clone-texture.c: Provide API for changing the
parent texture of a clone texture actor.
* examples/behave.c:
* examples/super-oh.c:
* examples/test.c: Use clutter_actor_show_all() instead of
clutter_group_show_all().
Matthew Allum [Fri, 8 Dec 2006 16:47:20 +0000 (16:47 +0000)]
2006-12-08 Matthew Allum <mallum@openedhand.com>
* clutter.doap:
Put release date in correct format.
Emmanuele Bassi [Fri, 8 Dec 2006 16:12:52 +0000 (16:12 +0000)]
2006-12-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.h: Add a function prototype
for the foreach function: we need something more specific
than GFunc; add clutter_behaviour_get_actors(), used to
get a list of the actors.
* clutter/clutter-behaviour.c: Add debugging notes; add
a warning for behaviour implementations missing the
alpha_notify vfunc; add api documentation
* clutter/clutter-behaviour-opacity.c:
* clutter/clutter-behaviour-path.c:
* clutter/clutter-behaviour-scale.c: Reimplement the
alpha_notify functions using the new foreach function
and, where possible, by directly iterating on the
actors: this shaves off the number of recalculations
of the property/alpha values, and the number of
functions.
Emmanuele Bassi [Tue, 5 Dec 2006 13:15:25 +0000 (13:15 +0000)]
2006-12-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.c: Forgot to set the
pencil color.
Emmanuele Bassi [Tue, 5 Dec 2006 06:05:37 +0000 (06:05 +0000)]
begin updating the NEWS
Emmanuele Bassi [Tue, 5 Dec 2006 05:42:47 +0000 (05:42 +0000)]
fix and clean up
Emmanuele Bassi [Tue, 5 Dec 2006 05:20:39 +0000 (05:20 +0000)]
2006-12-05 Emmanuele Bassi <ebassi@openedhand.com>
* behave.c: Add test for clutter_color_parse().
Emmanuele Bassi [Tue, 5 Dec 2006 05:16:52 +0000 (05:16 +0000)]
2006-12-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.c: Move the apidoc out.
Emmanuele Bassi [Tue, 5 Dec 2006 05:16:03 +0000 (05:16 +0000)]
2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Update with the newly added API.
* tmpl/clutter-event.sgml:
* tmpl/clutter-fixed.sgml: Provide short and long descriptions.
* tmpl/clutter-actor.sgml:
* tmpl/clutter-alpha.sgml:
* tmpl/clutter-behaviour-path.sgml:
* tmpl/clutter-behaviour-scale.sgml:
* tmpl/clutter-color.sgml:
* tmpl/clutter-feature.sgml:
* tmpl/clutter-main.sgml: Update templates.
Emmanuele Bassi [Tue, 5 Dec 2006 04:56:24 +0000 (04:56 +0000)]
2006-12-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.h:
* clutter/clutter-color.c: Add clutter_color_parse(),
which parses a string containing a color definition as
understood by XParseColor() (or pango_color_parse()).
Emmanuele Bassi [Mon, 4 Dec 2006 19:19:53 +0000 (19:19 +0000)]
2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>
Avoid clutter segfaulting when used without invoking
clutter_init(). This is needed when using api documentation
tools and every other tool relying on the GObject
introspection API (esp. on a headless box). see the
note in clutter/clutter-feature.c:clutter_feature_init
for a full explanation.
* clutter/clutter-feature.c: Call clutter_feature_init()
when needed by one of the accessors of the features
structure.
* clutter/clutter-main.c:
* clutter/clutter-private.h: Remove clutter_feature_init()
public declaration: the features support check is done the
first time a feature is needed.
* clutter/clutter-main.c: Do not ever access the clutter
main context pointer directly; instead, obtain a pointer
to it via clutter_context_get_default(), which will always
return something valid.
Emmanuele Bassi [Mon, 4 Dec 2006 16:26:35 +0000 (16:26 +0000)]
2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-private.h: Add our own READABLE,
WRITABLE and READWRITE paramspec flags, declaring the
string components of the properties GParamSpec as static;
this should shave off some bytes in the memory footprint
and avoid relocations.
* clutter/clutter-actor.c:
* clutter/clutter-behaviour.c:
* clutter/clutter-behaviour-opacity.c:
* clutter/clutter-behaviour-path.c:
* clutter/clutter-behavuour-scale.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-label.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/clutter-timeline.c: Use the CLUTTER_PARAM_*
macros we just added.
* clutter/clutter-behaviour-scale.c: Add properties for
the scale begin, scale end and gravity parameters.
* clutter/clutter-behaviour-path.h: Mark the ClutterKnot
memory management functions as public (for the bindings),
since we use the slice allocator for copying knots around;
add a clutter_knot_equal() function.
* clutter/clutter-behaviour-path.c:
(node_distance): Use clutter_knot_equal() as a fast path
to avoid the sqrt() in case the nodes we are using are
at the same position.
(path_total_length): Additional check on the existence
of the next node.
* examples/behave.c: Do not leak the ClutterBehaviour
objects around.
Emmanuele Bassi [Sun, 3 Dec 2006 18:34:41 +0000 (18:34 +0000)]
2006-12-03 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.h: Clean up.
* clutter/clutter-texture.c: Typo fix in the name
of ClutterTextureTileDimension.
* clutter/clutter-behaviour.c: Allow passing NULL
to clutter_behaviour_set_alpha() (as we pass NULL
in the finalize process).
Emmanuele Bassi [Sat, 2 Dec 2006 22:54:58 +0000 (22:54 +0000)]
2006-12-02 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-version.h.in: Fix a stupid logic
error in the CHECK_VERSION macro.
Matthew Allum [Thu, 30 Nov 2006 15:34:46 +0000 (15:34 +0000)]
2006-11-30 Matthew Allum <mallum@openedhand.com>
* clutter.doap:
Updates
Emmanuele Bassi [Thu, 30 Nov 2006 14:45:19 +0000 (14:45 +0000)]
2006-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.h:
* clutter/clutter-stage.c:
(clutter_stage_swap_buffers): Remove, as the same is done
via clutter_redraw() and clutter_actor_queue_redraw().
(clutter_stage_unrealize), (clutter_stage_init),
(clutter_stage_set_xwindow_foreign): Do not call
XDestroyWindow() on the stage Window if we are using a
foreign Window, as we don't control its lifetime.
Emmanuele Bassi [Thu, 30 Nov 2006 11:08:54 +0000 (11:08 +0000)]
2006-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Remove the gtk directory from the SUBDIRS.
* clutter/clutter-stage.h:
* clutter/clutter-stage.c: Add clutter_stage_swap_buffers(),
which swaps the GL buffers. This fixes the redraw in the
GTK widget.
Emmanuele Bassi [Wed, 29 Nov 2006 22:55:23 +0000 (22:55 +0000)]
2006-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.c:
(clutter_stage_set_xwindow_foreign): Add checks;
remove an indirection to the private data.
Emmanuele Bassi [Wed, 29 Nov 2006 22:07:38 +0000 (22:07 +0000)]
remove the old python example
Emmanuele Bassi [Wed, 29 Nov 2006 22:05:33 +0000 (22:05 +0000)]
2006-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* gtk/*
* configure.ac:
* Makfile.am: Remove the GTK+ widget from the
main tree; now Clutter depends just on GLib,
XLibs, GdkPixbuf and OpenGL.
Matthew Allum [Wed, 29 Nov 2006 12:14:41 +0000 (12:14 +0000)]
2006-11-29 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-stage.c: (clutter_stage_realize):
Set colormap on stage window - should fix issues
with indirect rendering.
Matthew Allum [Thu, 23 Nov 2006 21:36:45 +0000 (21:36 +0000)]
2006-11-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-debug.h:
Fix small macro typo.
Matthew Allum [Wed, 22 Nov 2006 20:52:27 +0000 (20:52 +0000)]
2006-11-22 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-alpha.c:
* clutter/clutter-behaviour-opacity.c:
* clutter/clutter-behaviour-scale.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-feature.c:
* clutter/clutter-label.c:
* clutter/clutter-main.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c
* clutter/clutter-timeline.c:
* clutter/clutter-debug.h:
Make CLUTTER_NOTE() just take a string rather than a func.
Add more default context to output.
* configure.ac:
Fix flag and add more help docs for --ebable-debug option.
Emmanuele Bassi [Tue, 21 Nov 2006 22:35:48 +0000 (22:35 +0000)]
2006-11-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c: Add a --g-fatal-warnings switch
for abort()-ing on warnings and criticals.
Emmanuele Bassi [Tue, 21 Nov 2006 21:27:53 +0000 (21:27 +0000)]
2006-11-21 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Enable debug messages also when
--enable-debug is set to "minimum".
* clutter/Makefile.am:
* clutter/clutter-debug.h: Move all debugging macros inside
this private header; make all debug macros depend on the
CLUTTER_ENABLE_DEBUG compile time define, controlled by
the --enable-debug configure switch; add G_LOG_DOMAIN define.
* clutter/clutter-main.c: Clean up the debug stuff; add
command line argument parsing using GOption; the debug
messages now are triggered like this:
CLUTTER_DEBUG=section:section:... clutter-app
or like this:
clutter-app --clutter-debug=section:section:...
where "section" is one of the sections listed in clutter-main.c,
or "all", for all sections; each section is bound to a flag,
which can be used to define a domain when adding a debug note
using the CLUTTER_NOTE() macro; the old CLUTTER_DBG() macro is
just a wrapper around that, under the CLUTTER_DEBUG_MISC domain;
CLUTTER_NOTE() is used like this:
CLUTTER_NOTE (DOMAIN, log-function);
where log function is g_printerr(), g_message(), g_warning(),
g_critical() or directly g_log() - for instance:
CLUTTER_NOTE (PANGO, g_warning ("Cache miss: %d", glyph));
will print the warning only if the "pango" flag has been
set to the CLUTTER_DEBUG envvar or passed to the --clutter-debug
command line argument.
similar to CLUTTER_SHOW_FPS, there's also the --clutter-show-fps
command line switch; also, the --display and --screen command
line switches have been added: the first overrides the DISPLAY
envvar and the second controls the X screen used by Clutter to
get the root window on the display.
* clutter/clutter-main.h:
* clutter/clutter-main.c: Add extended support for GOption
in Clutter; use clutter_init_with_args() to let Clutter
parse your own command line arguments; use instead
clutter_get_option_group() to get the GOptionGroup used by
Clutter if you want to do the parsing yourself with
g_option_context_parse(). The init sequence has been verified,
updated and moved into common functions where possible.
* clutter/pango/pangoclutter-render.c:
* clutter/*.c: Include "clutter-debug.h" where needed; use
CLUTTER_NOTE() instead of CLUTTER_DBG().
* examples/super-oh.c: Use the new clutter_init_with_args()
function, and add a --num-hands command line switch to
the SuperOH example code controlling the number of hands at
runtime.
Emmanuele Bassi [Tue, 21 Nov 2006 09:18:40 +0000 (09:18 +0000)]
2006-11-21 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Rename G_ENABLE_DEBUG to CLUTTER_ENABLE_DEBUG.
Emmanuele Bassi [Mon, 20 Nov 2006 22:20:48 +0000 (22:20 +0000)]
2006-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.h:
* clutter/clutter-rectangle.c: Add border to the ClutterRectangle
actor; add "border-width", "border-color" and "has-border"
properties, plus their accessors. The border generation code is
pretty lame, at the moment.
* examples/behave.c: Add code to test the new rectangle properties.
Matthew Allum [Mon, 20 Nov 2006 20:29:57 +0000 (20:29 +0000)]
2006-11-20 Matthew Allum <mallum@openedhand.com>
* clutter.doap:
Add an initial DOAP file to project
Emmanuele Bassi [Mon, 20 Nov 2006 12:02:24 +0000 (12:02 +0000)]
2006-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter.h:
* clutter/clutter-version.h.in: Auto-generated versioning macros.
* clutter/clutter-actor.h:
* clutter/clutter-actor.c: Add a ClutterActor::parent-set signal,
for notificating changes of an actor's parent; add api-doc for
the actor's properties; add the ClutterActor "name" property; clean
up a bit some functions; emit the "parent-set" signal when setting
te parent and when unparenting; better warnings when lowering
and raising an actor.
* configure.ac:
* clutter/Makefile.am: Add a --enable-debug configure option,
with three levels of debugging: no, minimum and yes; default
for development releases (odd minor version) is "yes"; update
the version m4 defines; update the libtool macros: now just
changed the clutter_interface_age when releasing will update
everything else.
Emmanuele Bassi [Fri, 17 Nov 2006 19:17:40 +0000 (19:17 +0000)]
2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.h:
* clutter/clutter-behaviour-path.c: Add "since" strings; add
a "knot" property which can be used to append a knot to the path;
fix apidoc.
* clutter/clutter-alpha.c: Add "since" strings.
* clutter/clutter-feature.c: Add apidoc.
* clutter/clutter-behaviour-opacity.c: Add the "opacity-start"
and "opacity-end" properties; rewrite constructor to use them.
Emmanuele Bassi [Fri, 17 Nov 2006 18:45:31 +0000 (18:45 +0000)]
2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.h:
* clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
which is emitted when the path reaches a node in the nodes list;
flesh out the documentation a bit; sync the parameters names
so that gtk-doc doesn't complain about missing stuff.
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviour.c: Add the alpha value to the
ClutterBehaviour::alpha_notify vfunc, so you don't have to
get the value from the alpha inside the behaviour implementations;
add more documentation.
* clutter/clutter-alpha.c: Flesh out the description.
* clutter/clutter-actor.h: Update the header.
* clutter/clutter-behaviour-opacity.c:
* clutter/clutter-behaviour-scale.c: Update docs.
Matthew Allum [Fri, 17 Nov 2006 18:24:28 +0000 (18:24 +0000)]
2006-11-17 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-alpha.c:
* clutter/clutter-behaviour-opacity.c:
More docs.
* clutter/clutter-behaviour-path.h:
* clutter/clutter-behaviour-path.c:
More docs, add clutter_behaviour_path_insert_knot(),
clutter_behaviour_path_remove_knot()
* clutter/clutter-behaviour-scale.h:
* clutter/clutter-behaviour-scale.c:
More docs, add clutter_behaviour_scale_newx() taking fixed values.
* clutter/Makefile.am:
* clutter/pango/Makefile.am:
Fix linking warning.
Emmanuele Bassi [Thu, 16 Nov 2006 00:24:23 +0000 (00:24 +0000)]
2006-11-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-private.h:
* clutter/clutter-actor.c: Implement the defined
clutter_actor_reparent() method; call unrealize
when unparenting an actor.
Emmanuele Bassi [Wed, 15 Nov 2006 23:37:53 +0000 (23:37 +0000)]
2006-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.h:
* clutter/clutter-alpha.c: Add a data parameter to
the ClutterAlphaFunc; add a data+destroy parameter
to clutter_alpha_set_func() and to clutter_alpha_new(),
and turned the latter into clutter_alpha_new_full();
add a simple, empty constructor clutter_alpha_new().
These changes makes writing bindings a tad more easy,
as bindings require passing their own functions in
order to call the real alpha function.
* clutter/clutter-behaviour.h: Clean up the header.
* clutter/clutter-behaviours.[ch]:
* clutter/clutter-behaviour-opacity.[ch]:
* clutter/clutter-behaviour-path.[ch]:
* clutter/clutter-behaviour-scale.[ch]: Split the
ClutterBehaviourPath, ClutterBehaviourOpacity and
ClutterBehaviourScale into their own files as they
have been growing a bit. Fix ClutterBehaviourPath
API.
* clutter/clutter-media.h: Remove the commented
"metadata_available" signal: gtk-doc chokes up on that.
* clutter/clutter-timeline.h:
* clutter/clutter-timeline.c: Remove the useless
ClutterTimelineAlphaFunc signature; add missing accessor
methods for the properties; clean up a bit.
* clutter/clutter-util.h:
* clutter/clutter-util.c: Remove unneeded function
clutter_util_can_create_texture().
* clutter/clutter-feature.h: Sync the name of
clutter_feature_get_all() with the name declared
in clutter-feature.h.
* clutter/Makefile.am:
* clutter/clutter.h: Update.
* examples/behave.c: Update to the new ClutterAlpha
constructor.
* examples/super-oh.c: Use the right pointer and avoid
the compiler making a fuss about it.
Matthew Allum [Wed, 15 Nov 2006 21:19:01 +0000 (21:19 +0000)]
2006-11-15 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
Add new API clutter_actor_move_by(), clutter_actor_get_size()
* clutter/clutter-alpha.c:
* clutter/clutter-alpha.h:
Add clutter alpha sine func
* clutter/clutter-behaviours.h:
* clutter/clutter-behaviours.c:
Add a basic scale behaviour (needs work)
* examples/behave.c: (main):
More playing with new behaviour functionality
* clutter/clutter-feature.c:
* clutter/clutter-feature.h:
* clutter/clutter-main.c:
Add new experimental sync to vblank code
Set env CLUTTER_VBLANK=none to disable.
Emmanuele Bassi [Tue, 14 Nov 2006 14:12:56 +0000 (14:12 +0000)]
2006-11-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.h:
* clutter/clutter-alpha.c: ClutterAlpha is an initially
floating object, as it makes sense only when bound to
a ClutterBehaviour; add checks for public API.
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviour.c: Remove the ClutterBehaviour
constructor: ClutterBehaviour is an abstract class which
must be implemented by subclassing; add checks for public
API; unref the actors on finalize; sink the ClutterAlpha
object.
* clutter/clutter-behaviours.h: ClutterKnot is a boxed
type: add the _get_type() function declaration and the
type macro.
Matthew Allum [Sun, 22 Oct 2006 23:33:14 +0000 (23:33 +0000)]
2006-10-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-alpha.h:
* clutter/clutter-behaviour.c:
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviours.c:
* clutter/clutter-behaviours.h:
* examples/behave.c:
Behaviours now only 'driven' by ClutterAlpha, not any object/prop.
Add simple Clutter path behaviour.
Matthew Allum [Tue, 3 Oct 2006 21:59:30 +0000 (21:59 +0000)]
2006-10-03 Matthew Allum <mallum@openedhand.com>
* configure.ac:
* clutter/Makefile.am:
* clutter/clutter-actor.c:
* clutter/clutter-label.c:
* clutter/clutter-label.h:
* clutter/pango/Makefile.am:
* clutter/pango/pangoclutter-font.c:
* clutter/pango/pangoclutter-fontmap.c:
* clutter/pango/pangoclutter-private.h:
* clutter/pango/pangoclutter-render.c:
* clutter/pango/pangoclutter.h:
Add initial rough new pango renderer and clutter-label.
* examples/super-oh.c:
* examples/test.c:
Minor fixups
Matthew Allum [Wed, 20 Sep 2006 18:38:08 +0000 (18:38 +0000)]
2006-09-20 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_paint):
* clutter/clutter-clone-texture.c: (clutter_clone_texture_paint):
* clutter/clutter-group.c: (clutter_group_paint):
* clutter/clutter-rectangle.c: (clutter_rectangle_paint):
* clutter/clutter-texture.c: (clutter_texture_paint):
Fix for #156.
clutter_actor_paint() now translates to actor position as
to not fix scaled groups positioning. Sub classes now paint
at 0,0.
Matthew Allum [Tue, 19 Sep 2006 19:27:16 +0000 (19:27 +0000)]
2006-09-19 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (redraw_update_idle),
(clutter_actor_queue_redraw):
* clutter/clutter-main.c: (clutter_redraw):
Remove now uneeded locks
( new gst and texture code makes redundant )
* clutter/clutter-texture.c:
* clutter/clutter-texture.h:
Redo clutter texture as to not keep a reference
to underlying texture.
Matthew Allum [Fri, 15 Sep 2006 12:30:15 +0000 (12:30 +0000)]
2006-09-15 Matthew Allum <mallum@openedhand.com>
More fixes from Bastien Nocera (#155):
* clutter/clutter-main.c: (clutter_init):
* clutter/clutter-main.h:
Add an enum for clutter init to return an error code.
* configure.ac:
Dont check for XInitThreads, there is no need, its part of xlib.
Emmanuele Bassi [Thu, 14 Sep 2006 17:34:59 +0000 (17:34 +0000)]
2006-09-14 Emmanuele Bassi <ebassi@openedhand.com>
D tmpl/clutter-video-texture.sgml
* clutter-sections.txt:
* clutter.types: Remove ClutterVideoTexture.
Matthew Allum [Thu, 14 Sep 2006 17:18:54 +0000 (17:18 +0000)]
2006-09-14 Matthew Allum <mallum@openedhand.com>
Various fixes from Bastien Nocera:
* clutter/clutter-event.h:
* clutter/clutter-stage.c: (clutter_stage_unrealize),
(clutter_stage_realize), (clutter_stage_request_coords),
(clutter_stage_dispose), (clutter_stage_init):
* clutter/clutter-stage.h:
* gtk/gtk-clutter-test.c: (input_cb), (frame_cb), (main):
* gtk/gtk-clutter.c: (realize):
Misc fixes (#152)
* clutter/clutter-group.c: (clutter_group_remove):
Remove uneeded ref count (#143)
* examples/super-oh.c: (input_cb):
Handle key release rather than presses (#154)
* configure.ac:
Add old style X libs check when x11.pc unavailable (#101)
Emmanuele Bassi [Fri, 8 Sep 2006 20:57:31 +0000 (20:57 +0000)]
revert changes
Emmanuele Bassi [Fri, 8 Sep 2006 20:52:38 +0000 (20:52 +0000)]
creating a branch for experimenting with the behaviour API
Matthew Allum [Fri, 1 Sep 2006 17:26:47 +0000 (17:26 +0000)]
2006-09-01 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter-media.c:
* clutter/clutter-media.h:
* clutter/clutter.h:
Re-add clutter media.
Matthew Allum [Thu, 31 Aug 2006 18:54:51 +0000 (18:54 +0000)]
2006-08-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-group.c: (clutter_group_paint),
(clutter_group_request_coords), (clutter_group_allocate_coords),
(clutter_group_add):
Fix some group sizing/positioning issues.
Jorn Baayen [Wed, 30 Aug 2006 13:57:03 +0000 (13:57 +0000)]
2006-08-30 Jorn Baayen <jorn@openedhand.com>
* clutter.pc.in:
Remove gstreamer deps.
Jorn Baayen [Wed, 30 Aug 2006 13:48:48 +0000 (13:48 +0000)]
2006-08-30 Jorn Baayen <jorn@openedhand.com>
* README:
* clutter/Makefile.am:
* clutter/clutter-audio.c:
* clutter/clutter-audio.h:
* clutter/clutter-main.c: (clutter_init):
* clutter/clutter-media.c:
* clutter/clutter-media.h:
* clutter/clutter-video-texture.c:
* clutter/clutter-video-texture.h:
* clutter/clutter.h:
* configure.ac:
* examples/Makefile.am:
* examples/README:
* examples/video-cube.c:
* examples/video-player.c:
* gst/Makefile.am:
* gst/clutterimagesink.:
* gst/clutterimagesink.c:
* gst/clutterimagesink.h:
* gtk/Makefile.am:
Remove gstreamer bits. There live in clutter-gst now.
Jorn Baayen [Wed, 30 Aug 2006 09:06:35 +0000 (09:06 +0000)]
2006-08-30 Jorn Baayen <jorn@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter-audio.c:
* clutter/clutter-audio.h:
* clutter/clutter.h:
Added ClutterAudio audio playback object.
Matthew Allum [Tue, 29 Aug 2006 19:09:43 +0000 (19:09 +0000)]
2006-08-29 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-fixed.h:
Add basic fixed point utility defines and type.
* clutter/Makefile.am:
* clutter/clutter-actor.c:
* clutter/clutter-actor.h:
* clutter/clutter-group.c:
* clutter/clutter-stage.c:
* examples/super-oh.c: (main):
Add scale API and functionality.
Rework group sizing. Now group size requests have no effect
but can be scaled.
Jorn Baayen [Tue, 29 Aug 2006 13:20:29 +0000 (13:20 +0000)]
2006-08-29 Jorn Baayen <jorn@openedhand.com>
* clutter/clutter-behaviour.c: (_clutter_behaviour_finalize),
(_clutter_behaviour_set_property),
(_clutter_behaviour_get_property), (clutter_behaviour_class_init),
(clutter_behaviour_init), (clutter_behaviour_apply),
(clutter_behaviour_remove), (clutter_behaviour_remove_all),
(clutter_behaviour_actors_foreach):
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviours.c:
(clutter_behaviour_property_change),
(clutter_behaviour_opacity_dispose),
(clutter_behaviour_opacity_finalize),
(clutter_behaviour_opacity_class_init),
(clutter_behaviour_opacity_init):
* clutter/clutter-behaviours.h:
* clutter/clutter-marshal.list:
* examples/behave.c: (main):
Behaviours track generic GObject properties.
* clutter/clutter-video-texture.h:
Remove signal prototypes - they are already specified in
clutter-media.h.
Jorn Baayen [Mon, 28 Aug 2006 17:11:15 +0000 (17:11 +0000)]
2006-08-28 Jorn Baayen <jorn@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter-alpha.c:
* clutter/clutter-alpha.h:
* clutter/clutter-behaviours.c:
(clutter_behaviour_opacity_dispose),
(clutter_behaviour_opacity_init),
(clutter_behaviour_opacity_frame_foreach),
(clutter_behaviour_opacity_frame):
* clutter/clutter-behaviours.h:
* clutter/clutter-timeline.c: (clutter_timeline_class_init):
* clutter/clutter-timeline.h:
* clutter/clutter.h:
* examples/behave.c: (main):
Separate alpha calculation into its own class.
* clutter/clutter-behaviour.c: (clutter_behaviour_set_timelime):
Correct NULL check.
Matthew Allum [Tue, 15 Aug 2006 20:38:25 +0000 (20:38 +0000)]
2006-08-15 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour.h:
Behaviours shouldn't subclass timelines.
Matthew Allum [Tue, 15 Aug 2006 20:28:41 +0000 (20:28 +0000)]
2006-08-15 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour.c:
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviours.c:
* clutter/clutter-timeline.c:
* clutter/clutter-timeline.h:
* clutter/clutter.h:
Make basic behaviour infrastructure actually work.
* examples/Makefile.am:
* examples/behave.c:
Add a simple behaviour demo/test
* clutter/clutter-media.c: (clutter_media_set_volume):
Actuall set volume rather than position.. (Fixes #141)
Matthew Allum [Sun, 13 Aug 2006 23:55:52 +0000 (23:55 +0000)]
2006-08-14 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter-behaviour.c:
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviours.c:
* clutter/clutter-behaviours.h:
* clutter/clutter-timeline.c:
* clutter/clutter-timeline.h:
Add very initial new behaviour functionality.
* clutter/clutter-stage.c:
* clutter/clutter-main.c:
* clutter/clutter-actor.c:
Improve clipping using stencil test rather than scissor check.
( Should now handle rotated clips etc ).
* clutter/clutter-group.c: (clutter_group_paint):
Fix typo on position check.
Matthew Allum [Mon, 7 Aug 2006 22:04:29 +0000 (22:04 +0000)]
2006-08-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-video-texture.c: (lay_pipeline):
Set quality of service prop on fakesink to TRUE.
Matthew Allum [Mon, 7 Aug 2006 21:27:11 +0000 (21:27 +0000)]
2006-08-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_paint):
Remove relic from old stage behaviour - dont unref
it during a clip.
Emmanuele Bassi [Thu, 27 Jul 2006 17:10:33 +0000 (17:10 +0000)]
2006-07-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-feature.c: No need to call clutter_feature_init()
each time: it's private and should never be seen from the outside;
add a warning, just in case something screws up and calls it more
than once.
Emmanuele Bassi [Thu, 27 Jul 2006 16:09:25 +0000 (16:09 +0000)]
2006-07-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-private.h: Move clutter_feature_init()
declaration here: you shouldn't even need to initialise
features yourself.
* clutter/clutter-feature.c: call clutter_feature_init()
each time you try to access the feature list; add a static
lock around the feature flags container; add api documentation.
* clutter/clutter-feature.h: Add a type for the feature flags
to make bindings happy.
Matthew Allum [Mon, 24 Jul 2006 21:15:19 +0000 (21:15 +0000)]
2006-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter-feature.c:
* clutter/clutter-feature.h:
Add new funcs for checking for available runtime GL
extensions.
* clutter/clutter-clone-texture.c:
* clutter/clutter-texture.c:
Add support for non power of two textures
if GL_TEXTURE_RECTANGLE_ARB extension available ( at runtime ).
Should lower texture memory needs a little.
Emmanuele Bassi [Mon, 17 Jul 2006 09:10:08 +0000 (09:10 +0000)]
2006-07-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.c (clutter_stage_get_default): Fix
api documentation.
Emmanuele Bassi [Sat, 15 Jul 2006 22:47:37 +0000 (22:47 +0000)]
2006-07-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c:
(clutter_main): Destroy the main stage, instead of unreffing it.
(clutter_init): Ref and sink the main stage, as it is a top
level actor.
* clutter/clutter-stage.c (clutter_stage_unrealize): Access
the Window private member directly, instead of calling the
get_xwindow method.
* examples/test.c (main): Quit on button press.
Emmanuele Bassi [Mon, 10 Jul 2006 10:52:04 +0000 (10:52 +0000)]
2006-07-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.h: Change the name of the
ClutterEvent union members to something a little shorter.
Emmanuele Bassi [Thu, 6 Jul 2006 22:28:35 +0000 (22:28 +0000)]
2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Remove the python stuff, now that the bindings
are out of tree.
Emmanuele Bassi [Thu, 6 Jul 2006 18:55:46 +0000 (18:55 +0000)]
2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Mark this as 0.1.1, and change the version info
of the library.
* clutter/clutter-actor.c:
* clutter/clutter-group.c: Fix documentation.
Emmanuele Bassi [Thu, 6 Jul 2006 18:55:25 +0000 (18:55 +0000)]
2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Add clutter_actor_has_clip() and
clutter_actor_unparent().
Emmanuele Bassi [Thu, 6 Jul 2006 18:12:19 +0000 (18:12 +0000)]
2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_class_init), (clutter_actor_set_property),
(clutter_actor_get_property): Add the "clip" and "has-clip"
properties.
(clutter_actor_set_clip), (clutter_actor_remove_clip): Emit
the notification for the changed properties.
(clutter_actor_has_clip): Simple accessor to the "has-clip"
property.
Emmanuele Bassi [Thu, 6 Jul 2006 17:52:57 +0000 (17:52 +0000)]
2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
Big rework of the actor management semantics: now ClutterActor
objects behave like GtkObjects - that is they have an initial
"floating" reference that gets "sunk" when they are added to
a ClutterGroup. This makes a group responsible of de-allocating
each actor inside it, so you just have to destroy the group to
get every child actor destroyed. Also, now you can do:
clutter_group_add (group, clutter_video_texture_new ());
without having to care about reference counting and explicit
unreffing.
* clutter/clutter-private.h: Add private flags setter and
getter macros.
* clutter/clutter-actor.h:
* clutter/clutter-actor.c: Clean up; inherit from GInitiallyUnowned;
add a "visible" property; add the "destroy", "show" and "hide"
signals to ClutterActorClass.
(clutter_actor_show), (clutter_actor_hide): Refactor a bit; emit
the "show" and "hide" signals.
(clutter_actor_set_property), (clutter_actor_get_property),
(clutter_actor_class_init): Implement the "visible" property; add
signals.
(clutter_actor_finalize): Do not leak the actor's name, if it is
set.
(clutter_actor_dispose): Emit the "destroy" signal here.
(clutter_actor_init): Sink the initial floating flag if needed.
(clutter_actor_destroy): Add a function to explicitely destroy
a ClutterActor.
(clutter_actor_set_parent), (clutter_actor_get_parent),
(clutter_actor_unparent): Make set_parent require a valid parent;
add unparent; check on get_parent; ref_sink the actor when
setting its parent and unref it when unsetting it. Probably we'll
need a function that does reparenting as unparent+set_parent in
a single shot.
* clutter/clutter-group.h:
* clutter/clutter-group.c (clutter_group_dispose),
(clutter_group_finalize), (clutter_group_add),
(clutter_group_remove): Make the group destroy its children when
disposing it; clean up, and use the newly-available
clutter_actor_unparent().
* clutter/clutter-stage.h:
* clutter/clutter-stage.c (clutter_stage_init): ClutterStage is
a top-level actor; clean up.
* clutter/clutter-video-texture.h:
* clutter/clutter-video-texture.c: Clean up.
* examples/super-oh.c:
* examples/test.c:
* examples/video-player.c:
* examples/test-text.c:
* examples/video-cube.c: Remove the g_object_unref() call, as the
ClutterStage object is destroyed on clutter_main_quit().
Iain Holmes [Fri, 23 Jun 2006 18:18:56 +0000 (18:18 +0000)]
Fix typo
Matthew Allum [Fri, 23 Jun 2006 16:29:11 +0000 (16:29 +0000)]
2006-06-23 Matthew Allum <mallum@openedhand.com>
* examples/super-oh.c:
Remove random stage unref fixing trails. Fixes #98
Matthew Allum [Fri, 23 Jun 2006 16:21:13 +0000 (16:21 +0000)]
2006-06-23 Matthew Allum <mallum@openedhand.com>
* examples/video-player.c: (size_change):
cast stage height to gint avoiding wierdness for when
video height greater than half display height. Fixed #99
Matthew Allum [Fri, 23 Jun 2006 15:26:43 +0000 (15:26 +0000)]
2006-06-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-video-texture.c: (clutter_video_texture_new):
Small fix for video playback on Big Endian. See #99