From de1c4fafc7ecd644dd9ba06dfc7a4f77b4d06683 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Mon, 4 Jul 2011 03:12:28 +0000 Subject: First stages of easier "expressions" creation... It is now possible to create "scripted expression" drivers by simply clicking on some property, and typing some short Python expression prefixed with a '#'. This will result in a scripted expression driver, with the typed-in text being created. For example, you can click on X-Location of the default cube, and type: #sin(frame) and a new driver will be created for the x-location of the cube. This will use the current frame value, and modulate this with a sine wave. Do note though, that the current frame is a special case here. In the current implementation, a special "frame" driver variable, which references the current scene frame is created automatically, so that this simple and (assumed) common case will work straight out of the box. Future improvements: - Explore possibilities of semi-automated extraction of variables from such expressions, resulting in automated variable extraction. (Doing away with variables completely is definitely 100% off the agenda though) - Look into some ways of defining some shorthands for referencing local data (possibly related to variable extraction?) --- source/blender/editors/interface/interface_intern.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/editors/interface/interface_intern.h') diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index 8475090b468..8194ad610f7 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -520,6 +520,7 @@ void ui_but_anim_add_keyingset(struct bContext *C); void ui_but_anim_remove_keyingset(struct bContext *C); int ui_but_anim_expression_get(uiBut *but, char *str, int maxlen); int ui_but_anim_expression_set(uiBut *but, const char *str); +int ui_but_anim_expression_create(uiBut *but, const char *str); void ui_but_anim_autokey(struct bContext *C, uiBut *but, struct Scene *scene, float cfra); #endif -- cgit v1.2.3