[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60190] trunk/blender/source/blender/ editors/space_clip/tracking_ops.c: Setting keyframe is now possible for tracks which doesn' t have marker at current frame

Sergey Sharybin sergey.vfx at gmail.com
Tue Sep 17 10:58:12 CEST 2013


Revision: 60190
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60190
Author:   nazgul
Date:     2013-09-17 08:58:12 +0000 (Tue, 17 Sep 2013)
Log Message:
-----------
Setting keyframe is now possible for tracks which doesn't have marker at current frame

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_clip/tracking_ops.c

Modified: trunk/blender/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/tracking_ops.c	2013-09-17 08:54:10 UTC (rev 60189)
+++ trunk/blender/source/blender/editors/space_clip/tracking_ops.c	2013-09-17 08:58:12 UTC (rev 60190)
@@ -4118,12 +4118,13 @@
 
 	for (track = tracks_base->first; track; track = track->next) {
 		if (TRACK_VIEW_SELECTED(sc, track)) {
-			MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(track, framenr);
-			if (marker) {
-				if (set) {
-					marker->flag &= ~MARKER_TRACKED;
-				}
-				else {
+			if (set) {
+				MovieTrackingMarker *marker = BKE_tracking_marker_ensure(track, framenr);
+				marker->flag &= ~MARKER_TRACKED;
+			}
+			else {
+				MovieTrackingMarker *marker = BKE_tracking_marker_get_exact(track, framenr);
+				if (marker) {
 					marker->flag |= MARKER_TRACKED;
 				}
 			}
@@ -4132,15 +4133,16 @@
 
 	for (plane_track = plane_tracks_base->first; plane_track; plane_track = plane_track->next) {
 		if (plane_track->flag & SELECT) {
-			MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_get_exact(plane_track, framenr);
-			if (plane_marker) {
-				if (set) {
-					if (plane_marker->flag & PLANE_MARKER_TRACKED) {
-						plane_marker->flag &= ~PLANE_MARKER_TRACKED;
-						BKE_tracking_track_plane_from_existing_motion(plane_track, plane_marker->framenr);
-					}
+			if (set) {
+				MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_ensure(plane_track, framenr);
+				if (plane_marker->flag & PLANE_MARKER_TRACKED) {
+					plane_marker->flag &= ~PLANE_MARKER_TRACKED;
+					BKE_tracking_track_plane_from_existing_motion(plane_track, plane_marker->framenr);
 				}
-				else {
+			}
+			else {
+				MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_get_exact(plane_track, framenr);
+				if (plane_marker) {
 					if ((plane_marker->flag & PLANE_MARKER_TRACKED) == 0) {
 						plane_marker->flag |= PLANE_MARKER_TRACKED;
 						BKE_tracking_retrack_plane_from_existing_motion_at_segment(plane_track, plane_marker->framenr);




More information about the Bf-blender-cvs mailing list