Driver creation hack:
authorJoshua Leung <aligorith@gmail.com>
Fri, 14 Jan 2011 02:06:35 +0000 (02:06 +0000)
committerJoshua Leung <aligorith@gmail.com>
Fri, 14 Jan 2011 02:06:35 +0000 (02:06 +0000)
commit423fbcfa5c3674fcbd828f0b51de863cb74d6b9d
tree24cd206df391d85c4692882764d55f4833f5a0ac
parent3bf46c57c972598a17a0eddc8bc70ad3b20a95da
Driver creation hack:

Drivers created from the Properties Editor for Materials and Textures
will now be created on Object-level instead of on their owner
Material/Texture as for their keyframes.

The intention of this hack is to allow users to be able to easily set
up drivers for materials and textures. Without this hack, users would
have had to do this manually via the Datablocks editor (I've described
this method a few times in detail, though this still attracts
complaints), as the way the depsgraph works does not allow ID blocks
other than Objects and directly-linked Object data to be driven. As a
result, although this hack can be done for these two cases, there are
no workarounds possible for Scene and Scene-linked settings.

There are 2 issues that will be noticed with this approach:
1) There may be confusion over why the drivers are found under Object
level and not Material/Texture level.
2) Driver status will not be shown in the buttons, leading to attempts
to try to keyframe the properties directly later and subsequent
confusion when finding that that won't work.

However, these are the sacrifices we'll need to make to get easy-setup
working in the meantime until the proper fixes can be done.
source/blender/editors/animation/drivers.c
source/blender/editors/animation/keyframing.c