<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Experiments with clutter</title>
	<atom:link href="http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/</link>
	<description>Cool links and commentary</description>
	<lastBuildDate>Tue, 07 Feb 2012 16:04:15 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: alexl</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-197</link>
		<dc:creator>alexl</dc:creator>
		<pubDate>Wed, 25 Jul 2007 07:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-197</guid>
		<description>What i want is that the time to go to the final state is always 3 seconds after the last keypress.

Hmm, i was thinking you could just get the timeline from the actor, rather than keeping around a bunch of behavior objects (or other kinds of non-actor objects). This way the &quot;target&quot; state would be more related to the object its getting set on than some timeline object that isn&#039;t really part of the &quot;physical&quot; model of what is displayed. I dunno if that actually helps make things easier though... I haven&#039;t thought much on this.</description>
		<content:encoded><![CDATA[<p>What i want is that the time to go to the final state is always 3 seconds after the last keypress.</p>
<p>Hmm, i was thinking you could just get the timeline from the actor, rather than keeping around a bunch of behavior objects (or other kinds of non-actor objects). This way the &#8220;target&#8221; state would be more related to the object its getting set on than some timeline object that isn&#8217;t really part of the &#8220;physical&#8221; model of what is displayed. I dunno if that actually helps make things easier though&#8230; I haven&#8217;t thought much on this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mallum</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-195</link>
		<dc:creator>mallum</dc:creator>
		<pubDate>Tue, 24 Jul 2007 16:07:01 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-195</guid>
		<description>Assuming you want the total time of the animation to stay the same you shouldn&#039;t need to change the timelines length (but you could change it on the fly if you want it, its another prop).

You can get the actors a behaviour is applied to via clutter_behaviour_actors_foreach () or  clutter_behaviour_get_actors () . You can get a timeline from a behaviour via getting the alpha -  clutter_behaviour_get_alpha() and then the timeline from that - clutter_alpha_get_timeline (). I know this seems a bit convoluted but it seems mostly the timelines get kept around anyway and it does give a lot of flexibility - i.e a single timeline driving many different behaviours mixed and stacked kept in sync.

Im working on a blog entry which explains all this and hopefully will server as documentation until we get the time to sort the app dev manual more.</description>
		<content:encoded><![CDATA[<p>Assuming you want the total time of the animation to stay the same you shouldn&#8217;t need to change the timelines length (but you could change it on the fly if you want it, its another prop).</p>
<p>You can get the actors a behaviour is applied to via clutter_behaviour_actors_foreach () or  clutter_behaviour_get_actors () . You can get a timeline from a behaviour via getting the alpha &#8211;  clutter_behaviour_get_alpha() and then the timeline from that &#8211; clutter_alpha_get_timeline (). I know this seems a bit convoluted but it seems mostly the timelines get kept around anyway and it does give a lot of flexibility &#8211; i.e a single timeline driving many different behaviours mixed and stacked kept in sync.</p>
<p>Im working on a blog entry which explains all this and hopefully will server as documentation until we get the time to sort the app dev manual more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexl</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-194</link>
		<dc:creator>alexl</dc:creator>
		<pubDate>Tue, 24 Jul 2007 14:40:28 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-194</guid>
		<description>Don&#039;t you also need to change the end time of the timeline?
And can you get the timeline from the actor, or do i have to keep it around myself?</description>
		<content:encoded><![CDATA[<p>Don&#8217;t you also need to change the end time of the timeline?<br />
And can you get the timeline from the actor, or do i have to keep it around myself?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mallum</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-193</link>
		<dc:creator>mallum</dc:creator>
		<pubDate>Tue, 24 Jul 2007 14:27:13 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-193</guid>
		<description>okeys, so something like:

create a timeline, a ramp like alpha and then a rotation behaviour with 
this timeline and alpha. This behaviour would have a start angle of 0 degrees and an end angle of 45 degrees. You&#039;d then apply this behaviour to the menu actor and start the timeline (which starts the behaviour) on a button press. This would then start the animation.

If the button is hit again, you can check if the animation is running (clutter_timeline_is_playing ()) and if so just set the rotation behaviours &#039;angle-end&#039; prop to 90 degrees. Thats it, the timeline and behaviour machinery will deal with it then rotating faster to reach 90 degrees in remaining frames. 

If this doesn&#039;t work its a bug in the rotation behaviour which will be quickly fixed :)</description>
		<content:encoded><![CDATA[<p>okeys, so something like:</p>
<p>create a timeline, a ramp like alpha and then a rotation behaviour with<br />
this timeline and alpha. This behaviour would have a start angle of 0 degrees and an end angle of 45 degrees. You&#8217;d then apply this behaviour to the menu actor and start the timeline (which starts the behaviour) on a button press. This would then start the animation.</p>
<p>If the button is hit again, you can check if the animation is running (clutter_timeline_is_playing ()) and if so just set the rotation behaviours &#8216;angle-end&#8217; prop to 90 degrees. Thats it, the timeline and behaviour machinery will deal with it then rotating faster to reach 90 degrees in remaining frames. </p>
<p>If this doesn&#8217;t work its a bug in the rotation behaviour which will be quickly fixed <img src='http://blogs.gnome.org/alexl/wp-content/mu-plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexl</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-191</link>
		<dc:creator>alexl</dc:creator>
		<pubDate>Tue, 24 Jul 2007 07:01:29 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-191</guid>
		<description>Ok, say I&#039;m rotating a menu. Its currently at 0 degrees.
When I press the button I want to start a rotation that (with a smoth framerate) ends up at 45 degrees after 3 seconds. 
However, before the animation is done (say after one second, with angle now being 15 degrees) the use presses the key again. The target is now the target is 90 degrees, in 3 seconds (i.e. 4 seconds after the initial key hit). This means the rotation needs to speed up to keep up. It should not first finish the first animation and then do the second, nor should it drop the first, start at 45 degrees and then continue to 90.

So, how would I do this in clutter?</description>
		<content:encoded><![CDATA[<p>Ok, say I&#8217;m rotating a menu. Its currently at 0 degrees.<br />
When I press the button I want to start a rotation that (with a smoth framerate) ends up at 45 degrees after 3 seconds.<br />
However, before the animation is done (say after one second, with angle now being 15 degrees) the use presses the key again. The target is now the target is 90 degrees, in 3 seconds (i.e. 4 seconds after the initial key hit). This means the rotation needs to speed up to keep up. It should not first finish the first animation and then do the second, nor should it drop the first, start at 45 degrees and then continue to 90.</p>
<p>So, how would I do this in clutter?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mallum</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-190</link>
		<dc:creator>mallum</dc:creator>
		<pubDate>Mon, 23 Jul 2007 16:19:35 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-190</guid>
		<description>hmm, I think we need documentation as iirc what you describe you can already do. i.e; transition time -&gt; timeline, how animation works -&gt; alpha, what state it affects and its start/end state -&gt; behaviour. You can of course change any of the following on the fly (via props on behaviour/alpha/timeline objects).</description>
		<content:encoded><![CDATA[<p>hmm, I think we need documentation as iirc what you describe you can already do. i.e; transition time -&gt; timeline, how animation works -&gt; alpha, what state it affects and its start/end state -&gt; behaviour. You can of course change any of the following on the fly (via props on behaviour/alpha/timeline objects).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emmanuele</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-189</link>
		<dc:creator>Emmanuele</dc:creator>
		<pubDate>Mon, 23 Jul 2007 15:04:01 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-189</guid>
		<description>alexl: what you want are behaviours or, if you just need to animate a single actor once, the clutter-effect API. the former is more complex but gives you a great deal of control on how the animation should look and behave; the latter are dead simple and useful for one-shot effects. those are the implicit animation facilities that clutter has.</description>
		<content:encoded><![CDATA[<p>alexl: what you want are behaviours or, if you just need to animate a single actor once, the clutter-effect API. the former is more complex but gives you a great deal of control on how the animation should look and behave; the latter are dead simple and useful for one-shot effects. those are the implicit animation facilities that clutter has.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alexl</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-188</link>
		<dc:creator>alexl</dc:creator>
		<pubDate>Mon, 23 Jul 2007 14:30:26 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-188</guid>
		<description>I think the implicit animation work MacSlow was talking about sounded better.
Essentially you give the target state, how long the transition should take, and then some sort of description of how the transition should work (ramp, sine, damped, etc). Then the animation framework handles the rest for you.

Where this is nicer is when you have a current animation already happening, and you set a new target state and time for that to be done. The animation system can then automatically handle this, even though the first animation isn&#039;t done, and the fact that the two animations overlap (partiallyI) in time.

But i haven&#039;t given this any deeper thought.</description>
		<content:encoded><![CDATA[<p>I think the implicit animation work MacSlow was talking about sounded better.<br />
Essentially you give the target state, how long the transition should take, and then some sort of description of how the transition should work (ramp, sine, damped, etc). Then the animation framework handles the rest for you.</p>
<p>Where this is nicer is when you have a current animation already happening, and you set a new target state and time for that to be done. The animation system can then automatically handle this, even though the first animation isn&#8217;t done, and the fact that the two animations overlap (partiallyI) in time.</p>
<p>But i haven&#8217;t given this any deeper thought.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mallum</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-187</link>
		<dc:creator>mallum</dc:creator>
		<pubDate>Mon, 23 Jul 2007 14:19:31 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-187</guid>
		<description>Cool stuff, thanks for taking the time to play with clutter and for filing bugs.

Re the animation framework, do you have any thoughts or ideas here on what could work better ? I agree the current stuff is a little complex in getting to grips with initially but once learnt it should be pretty powerful. Maybe just better documentation is whats needed here ?</description>
		<content:encoded><![CDATA[<p>Cool stuff, thanks for taking the time to play with clutter and for filing bugs.</p>
<p>Re the animation framework, do you have any thoughts or ideas here on what could work better ? I agree the current stuff is a little complex in getting to grips with initially but once learnt it should be pretty powerful. Maybe just better documentation is whats needed here ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ross Burton</title>
		<link>http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/comment-page-1/#comment-186</link>
		<dc:creator>Ross Burton</dc:creator>
		<pubDate>Mon, 23 Jul 2007 09:05:26 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/#comment-186</guid>
		<description>Go Alex go!

Go and file a bug for the GL warnings, so we don&#039;t forget to look at that (bugzilla.openedhand.com).  

Your next mission is to make the fancy-greeter use the new gdm3 dbus api. ;)</description>
		<content:encoded><![CDATA[<p>Go Alex go!</p>
<p>Go and file a bug for the GL warnings, so we don&#8217;t forget to look at that (bugzilla.openedhand.com).  </p>
<p>Your next mission is to make the fancy-greeter use the new gdm3 dbus api. <img src='http://blogs.gnome.org/alexl/wp-content/mu-plugins/tango-smilies/tango/face-wink.png' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/alexl/2007/07/23/experiments-with-clutter/feed/ ) in 1.19983 seconds, on Feb 10th, 2012 at 10:20 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 10th, 2012 at 11:20 pm UTC -->
