Thursday, June 30, 2011

GSoC11 - Playing with the mute/visibility toggles...

By popular request, I've taken a look (but nothing committed yet) at swapping the icons for the Graph Editor visibility status and muting of channels.

Cue artifact 1:

GSoC11 - Small Usability Tweaks

Over the past day, I've been working on a bunch of smaller tweaks aimed at improving the animation-management workflow. Here are a few (most visible) highlights in quick rapid-fire fashion...

Animation Editor Header Cleanup
1) Icons for the Mode menus
2) Datablock filters now hidden behind a "show more" button. They still apply, but are just not shown in the header by default anymore, since most people didn't seem to be using them that often
3) Shuffled order of filtering options so that group and F-Curve name filters are now closer to the start, since they are used more often.

Wednesday, June 29, 2011

GSoC11 - Animation Channel Filtering Goodies 1

Refactoring nearly always make it possible for some additional features to get added quickly and easily, some of which might not have been possible in the past, and/or some which we hadn't thought of yet.

As a result of recent refactoring efforts on the animation channel filtering system, the backbone of the animation editors, which takes care of all the issues regarding what animation data exists in the scene, and of that data what do we want to see and to be able to edit, a number of features have now become possible.

Material and Texture Nodes Support

Tuesday, June 28, 2011

Wednesday, June 22, 2011

GSoC11 - Ancient Graph Editor/Anim Channel Filtering Bug Vanquished!

At long last, one of the major bugs which has been plaguing users of the Graph Editor, [27076] F-curve Editor: Properties display does not always match the current curve selection, which you may know by some other name, has finally been dealt to. Mwahahaha!

From my commit log...
Revision: 37728
Author:   aligorith
Date:     2011-06-22 11:41:26 +0000 (Wed, 22 Jun 2011)
Log Message:

Animation Channel Filtering Refactor - Part 3 (Visibility Flag Split)

* This (big) commit is aimed at cleaning up the filtering flags used
by the animation channel filtering code. The list of filtering flags
has been growing a bit "organically" since it's humble origins for use
in the Action Editor some 3 years (IIRC) ago now during a weekend
hackathon. Obviously, some things have ended up tacked on, while
others have been the product of other flag options. Nevertheless, it
was time for a bit of a spring clean!

To see more details, see the full log at:

Or download a test build to give things a spin.

Enjoy while I head back to the trenches and slay a few more of these!

Tuesday, June 21, 2011

The longest night of the year...

We just had another sizeable jolt here in Christchurch this evening - big enough to send some stuff falling off shelves or downright flying across the room (e.g. a vase flew across the room, landing inches from the fish tank), and certainly enough to fray nerves a bit. Apparently this was a 5.3 centered out in Akaroa (i.e. a little township in the middle of that knobby bit which sticks out of the South Island).

(Photo: sunset on a chilly evening last week. Taken using "sunny" WB to draw out the chilly blueness of the sky even more, though it looked practically like this!)

GSoC11 - Animator Poll #3 - Filtering Option Defaults

Here's yet another poll, this time for more animation-orientated matters. Please keep responses here about the questions for this poll only (i.e. don't reply to a previous poll here at the same time), to make it easier for me to keep track of where things are. Cheers!

GSoC11 - Animation Channel Refactor under way at last

The long-postponed animation channel filtering refactor is finally underway!

First up, some visible changes: as per this post, I've removed the list-expanders for materials/particles/textures, which should make it easier/less frustrating to get to the animation data for these entries.

Next up, will be a more radical internal cleanup of the general structure of the code to make it easier to maintain. At the same time, I'll also be looking at fixing some of the issues which had been leading to the infamous problems with "active" channels hiding in collapsed groups, etc. (*fun stuff* ;)

BTW, the eagle-eyed out there may notice that I'm currently experimenting with (local theme only) using red for the current-frame indicator vs green. This seems to be more common in other apps, though I'm not sure whether it really stands out that well. We'll see...

Saturday, June 18, 2011

GSoC11 - Text Strip Requirements Poll #2

My recent commit of an experimental feature for the sequencer, Simple Title Cards, has generated some interesting debate over this kind of basic functionality for the sequencer. From some responses so far, it sounds like a specific "title card" strip might be too specialised to have, but rather, we should have a more general "text" strip.

This begs the questions:
  1. What would you use such text strips for?
  2. How much control do you want over how the text is displayed for the uses you've specified?
    • a) Text placement... in just a few common places, or freely placed anywhere 
    • b) Font size/styling issues - what's needed here?
    • c) Text shadows/glow effects? Useful or not?
  3. Anything else?

Thursday, June 16, 2011

GSoC11 - Simple Title Cards

When putting together brief animation tests and/or feature demonstrations, it's often necessary to be able to include some brief clips/slides which simply show some text. For example, a title card showing summary info such as a short title and author, or perhaps section headings to guide the narrative (e.g. "before applying our amazing new technology" vs "here is what our stuff can do").

Today I present an experimental feature for doing so. Cue video...

Title Cards Demo from Joshua Leung on Vimeo.

Tuesday, June 14, 2011


Yet another crazy robot invention from the Japanese... pretty slick tech, though I'm not really that convinced about whether it's actually needed for the applications they show.

GSoC11 - "Local Space" for Transform Channel Drivers Rebooted

After much lobbying (in the form of countless bug reports and feature requests all over the place), I've taken a second look at the situation with the "local space" option for "Transform Channel" driver variables.

The good news is that I have been able to find an alternative solution for this, which means that we now have:
The "local space" implementation that most people have been expecting all along, which includes constraints but not parent/restpose info.

Monday, June 13, 2011

Double-whammy - Shaken Silent

They say lightning doesn't strike twice, but apparently that doesn't hold for those blasted earthquakes.

Today, we in Christchurch experienced two large earthquakes, a 5.5 followed just over an hour later by a 6.0. It ain't nice. One large quake a day may be just barely admissible (though preferably none at all), but two, and the second LARGER than the first is just madness.

Both times I was sitting at my computer desk - the first time, checking the news (ironically, reading about a the fate of a building that today got a demolition order from the new earthquake recovery agency, CERA) about to head off for lunch, and the second time when I got back from lunch.

Thursday, June 9, 2011

Flower Dump

Playing with exposures, bokeh, and interesting patterns...

GSoC11 - Pondering the channels hierarchy (1 - Top Level Stuff)

It's now been over 2 years ago (!) since I first put into place the current way that the channel lists are organised. Having used it a bit, and listening to people using it, it seems that some things aren't quite right.

To keep things manageable, for now I'll just focus on more top level stuff - like how Objects, Materials, Lights, Textures, etc. - are arranged in the list relative to each other, since this does affect how much of the old structure I'll need to port over to the cleaned up filtering code I'm currently working on (main targets for that are splitting up visibility filters, and replacing the "check then do" with "grab to temp then bundle up").

Dealing with F-Curve Groups stuff is NOT a priority/focus/goal at this point, though I will address this LATER. +1 comments hounding about this will be removed.

Wednesday, June 8, 2011

Camellia in Full Bloom

IMO the camellias in my garden are prime photogenic subjects, especially when the sunlight hits them in just the right way.

So long Asha

Over the weekend, I found out that one of my favourite restaurants had recently closed down. While this probably shouldn't be too much of a surprise in post-quake Christchurch, with many central city businesses out of action for the conceivable future, the chain of events which have lead to this are regrettable.

Saturday, June 4, 2011

Re: GSoC11 Poll #1

Thanks for all the responses!

It seems that we have some a consensus on many of the issues already:
1) Fake Users are now GONE (as default for newly created actions)!

3) It sounds like the current mapping (keyframes only on normal BKEY select) is the favoured option. So, no changes there.

4) Wow! It's great to hear that it is actually in widespread use. Don't worry, I won't be removing it. Instead, I think I might need to post some docs on it sometime soon, since when I checked a few days ago, there were no results for it anywhere.

It also seems that there are mixed opinions about the pasting behaviour (2). From the responses so far, there are 3 main points:
  • There are basically too camps: "Frame Start + Overwrite Range" and "Mix"/Default
  • The fact that this operator has such options needs to be made more obvious in some way
  • We could do with some way of specifying default preset that you can configure locally

GSoC11 - FModifier Range Masks

I've just committed an experimental feature in my SoC branch which let's you specify the frame ranges which F-Modifiers are applied for. This allows for interesting effects such as:
What you're seeing here are two Noise F-Modifiers on a single F-Curve. The first is an amplified high frequency one, and the second, a low frequency one.

Getting a rangehood installed...

So, after many years of not having had/used a rangehood in our kitchen, we finally decided to have one installed. Which leads to the following shot...

I never realised until now how noisy these things are. It's like standing in front of jet engine, and that's standing behind a closed door on the opposite end of the room! Oh well, I guess there has to be some price to pay for eliminating steam, preventing it from condensing on the windows and walls and running down to eventually start causing damage to something.

Friday, June 3, 2011

One year on...

Amazingly, it's now been a year since I started this blog around the same time that I started working on my GSoC project last year.

And what a 12 months it's been:
  • Two destructive earthquakes here at home, laying to waste many buildings I've grown up with (some with some very fond memories, and others which admittedly were run-down or IMO not that fancy to start with)
  • Getting a third consecutive GSoC project. Thanks Google!
  • Learning more about photography, and finally getting a DSLR
  • Working on an increasing number of really really fun projects :-D
  • ...

GSoC11 - ANIMATOR ALERT - Small tweaks poll #1

This is just a small poll regarding a few tweaks I'm considering making as part of my GSoC work.

DISCLAIMER: Don't be disappointed and/or start lobbying for some pet peeves just because they aren't on this list yet, as those will come later.

Ok, with that out of the way, here are the proposed changes:
  1. Actions should NOT get "Fake Users" by default. If you want to create actions that have fake users (namely for creating libraries of actions in a file), then you can manually enable fake users on those actions as necessary. But for the majority of users, this will mean fewer problems with heaps of empty actions dangling around in a file.
  2. Is the default behaviour of pasting keyframes in Animation Editors right? Check out the various options you have for this via Operator Properties (F6), and get back to me on which set of settings is preferred most. Hopefully there'll be a consensus on this that I can use.
  3. Should borderselect select keyframe handles too in the default keymap? The current keymap assigns keyframe-only selection to BKEY (for consistency with Action Editor), and keyframe/handles selection to Ctrl-BKEY. The two different selection schemes are in place, as it's all to easy to accidentally catch overlapping handles while trying to select keyframes (using the old-style Ctrl-BKEY), hence the two different options. So, this question asks whether these hotkeys should be swapped for convenience for most animators.
  4. Does anyone actually use the Time-Slide transform tool in DopeSheet (currently Shift-T in my branch, TKEY in trunk)?  Would anyone seriously miss it if I removed it, and if so, what's the man use of it?
This should be enough for one poll. More polls coming soon as necessary :)