[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23393] trunk/blender/source/blender: 2. 5 - Keyframes can now be marked as 'extremes' in addition to 'breakdowns'

Joshua Leung aligorith at gmail.com
Mon Sep 21 14:29:53 CEST 2009


Revision: 23393
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23393
Author:   aligorith
Date:     2009-09-21 14:29:53 +0200 (Mon, 21 Sep 2009)

Log Message:
-----------
2.5 - Keyframes can now be marked as 'extremes' in addition to 'breakdowns'

* Extremes are shown as red/pink diamonds
* I've changed the order of extremes and breakdowns in the code to make for nicer sizing/ordering. This might break a couple of files out there, but it shouldn't be too many.

TODO:
Still on my todo is to make these tags more useful (i.e. less likely to be overwritten by keyframing)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/keyframes_draw.c
    trunk/blender/source/blender/editors/animation/keyframes_edit.c
    trunk/blender/source/blender/editors/space_action/action_header.c
    trunk/blender/source/blender/makesdna/DNA_curve_types.h
    trunk/blender/source/blender/makesrna/intern/rna_curve.c

Modified: trunk/blender/source/blender/editors/animation/keyframes_draw.c
===================================================================
--- trunk/blender/source/blender/editors/animation/keyframes_draw.c	2009-09-21 12:23:56 UTC (rev 23392)
+++ trunk/blender/source/blender/editors/animation/keyframes_draw.c	2009-09-21 12:29:53 UTC (rev 23393)
@@ -419,6 +419,13 @@
 			}
 				break;
 				
+			case BEZT_KEYTYPE_EXTREME: /* redish frames for now */
+			{
+				if (sel) glColor3f(95.0f, 0.5f, 0.5f);
+				else glColor3f(0.91f, 0.70f, 0.80f);
+			}
+				break;
+				
 			case BEZT_KEYTYPE_KEYFRAME: /* traditional yellowish frames for now */
 			default:
 			{

Modified: trunk/blender/source/blender/editors/animation/keyframes_edit.c
===================================================================
--- trunk/blender/source/blender/editors/animation/keyframes_edit.c	2009-09-21 12:23:56 UTC (rev 23392)
+++ trunk/blender/source/blender/editors/animation/keyframes_edit.c	2009-09-21 12:29:53 UTC (rev 23393)
@@ -685,6 +685,13 @@
 	return 0;
 }
 
+static short set_keytype_extreme(BeztEditData *bed, BezTriple *bezt) 
+{
+	if (bezt->f2 & SELECT) 
+		BEZKEYTYPE(bezt)= BEZT_KEYTYPE_EXTREME;
+	return 0;
+}
+
 /* Set the interpolation type of the selected BezTriples in each F-Curve to the specified one */
 BeztEditFunc ANIM_editkeyframes_keytype(short code)
 {
@@ -692,6 +699,9 @@
 		case BEZT_KEYTYPE_BREAKDOWN: /* breakdown */
 			return set_keytype_breakdown;
 			
+		case BEZT_KEYTYPE_EXTREME: /* extreme keyframe */
+			return set_keytype_extreme;
+			
 		case BEZT_KEYTYPE_KEYFRAME: /* proper keyframe */	
 		default:
 			return set_keytype_keyframe;

Modified: trunk/blender/source/blender/editors/space_action/action_header.c
===================================================================
--- trunk/blender/source/blender/editors/space_action/action_header.c	2009-09-21 12:23:56 UTC (rev 23392)
+++ trunk/blender/source/blender/editors/space_action/action_header.c	2009-09-21 12:29:53 UTC (rev 23393)
@@ -189,6 +189,7 @@
 	uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT);
 	uiItemEnumO(layout, NULL, 0, "ACT_OT_keyframe_type", "type", BEZT_KEYTYPE_KEYFRAME);
 	uiItemEnumO(layout, NULL, 0, "ACT_OT_keyframe_type", "type", BEZT_KEYTYPE_BREAKDOWN);
+	uiItemEnumO(layout, NULL, 0, "ACT_OT_keyframe_type", "type", BEZT_KEYTYPE_EXTREME);
 }
 
 static void act_edit_handlesmenu(bContext *C, uiLayout *layout, void *arg_unused)

Modified: trunk/blender/source/blender/makesdna/DNA_curve_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_curve_types.h	2009-09-21 12:23:56 UTC (rev 23392)
+++ trunk/blender/source/blender/makesdna/DNA_curve_types.h	2009-09-21 12:29:53 UTC (rev 23393)
@@ -310,6 +310,7 @@
 /* types of keyframe (used only for BezTriple->hide when BezTriple is used in F-Curves) */
 typedef enum eBezTriple_KeyframeType {
 	BEZT_KEYTYPE_KEYFRAME = 0,	/* default - 'proper' Keyframe */
+	BEZT_KEYTYPE_EXTREME,		/* 'extreme' keyframe */
 	BEZT_KEYTYPE_BREAKDOWN,		/* 'breakdown' keyframe */
 } eBezTriple_KeyframeType;
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_curve.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_curve.c	2009-09-21 12:23:56 UTC (rev 23392)
+++ trunk/blender/source/blender/makesrna/intern/rna_curve.c	2009-09-21 12:29:53 UTC (rev 23393)
@@ -54,6 +54,7 @@
 EnumPropertyItem beztriple_keyframe_type_items[] = {
 		{BEZT_KEYTYPE_KEYFRAME, "KEYFRAME", 0, "Keyframe", ""},
 		{BEZT_KEYTYPE_BREAKDOWN, "BREAKDOWN", 0, "Breakdown", ""},
+		{BEZT_KEYTYPE_EXTREME, "EXTREME", 0, "Extreme", ""},
 		{0, NULL, 0, NULL, NULL}};
 
 #ifdef RNA_RUNTIME





More information about the Bf-blender-cvs mailing list