[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47791] trunk/blender: Some Clip Editor interface clean-ups:

Sergey Sharybin sergey.vfx at gmail.com
Tue Jun 12 19:11:01 CEST 2012


Revision: 47791
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47791
Author:   nazgul
Date:     2012-06-12 17:11:00 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
Some Clip Editor interface clean-ups:

- Display track's reprojection error in dopesheet
- Make sure track is selected when clicking on dopesheet channel
- Attempt to make headers a bit cleaner without long labels which
  doesn't actually make sense.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_clip.py
    trunk/blender/source/blender/blenkernel/intern/tracking.c
    trunk/blender/source/blender/editors/space_clip/clip_dopesheet_draw.c
    trunk/blender/source/blender/editors/space_clip/clip_dopesheet_ops.c
    trunk/blender/source/blender/makesdna/DNA_tracking_types.h

Modified: trunk/blender/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_clip.py	2012-06-12 17:10:47 UTC (rev 47790)
+++ trunk/blender/release/scripts/startup/bl_ui/space_clip.py	2012-06-12 17:11:00 UTC (rev 47791)
@@ -62,7 +62,7 @@
                 r = active_object.reconstruction
 
                 if r.is_valid and sc.view == 'CLIP':
-                    layout.label(text="Average solve error: %.4f" %
+                    layout.label(text="Solve error: %.4f" %
                                  (r.average_error))
             elif sc.view == 'GRAPH':
                 layout.prop(sc, "view", text="", expand=True)
@@ -89,9 +89,9 @@
                 row.prop(dopesheet, "show_only_selected", text="")
                 row.prop(dopesheet, "show_hidden", text="")
 
-                layout.label(text="Sort by:")
-                layout.prop(dopesheet, "sort_method", text="")
-                layout.prop(dopesheet, "use_invert_sort", text="Invert")
+                row = layout.row(align=True)
+                row.prop(dopesheet, "sort_method", text="")
+                row.prop(dopesheet, "use_invert_sort", text="Invert", toggle=True)
         else:
             layout.prop(sc, "view", text="", expand=True)
 

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2012-06-12 17:10:47 UTC (rev 47790)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2012-06-12 17:11:00 UTC (rev 47791)
@@ -3587,7 +3587,9 @@
 	MovieTrackingObject *object = BKE_tracking_active_object(tracking);
 	MovieTrackingDopesheet *dopesheet = &tracking->dopesheet;
 	MovieTrackingTrack *track;
+	MovieTrackingReconstruction *reconstruction;
 	ListBase *tracksbase = BKE_tracking_object_tracks(tracking, object);
+
 	short sort_method = dopesheet->sort_method;
 	short inverse = dopesheet->flag & TRACKING_DOPE_SORT_INVERSE;
 	short sel_only = dopesheet->flag & TRACKING_DOPE_SELECTED_ONLY;
@@ -3598,6 +3600,8 @@
 
 	tracking_dopesheet_free(dopesheet);
 
+	reconstruction = BKE_tracking_object_reconstruction(tracking, object);
+
 	for (track = tracksbase->first; track; track = track->next) {
 		MovieTrackingDopesheetChannel *channel;
 
@@ -3610,6 +3614,13 @@
 		channel = MEM_callocN(sizeof(MovieTrackingDopesheetChannel), "tracking dopesheet channel");
 		channel->track = track;
 
+		if (reconstruction->flag & TRACKING_RECONSTRUCTED) {
+			BLI_snprintf(channel->name, sizeof(channel->name), "%s (%.4f)", track->name, track->error);
+		}
+		else {
+			BLI_strncpy(channel->name, track->name, sizeof(channel->name));
+		}
+
 		channels_segments_calc(channel);
 
 		BLI_addtail(&dopesheet->channels, channel);

Modified: trunk/blender/source/blender/editors/space_clip/clip_dopesheet_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/clip_dopesheet_draw.c	2012-06-12 17:10:47 UTC (rev 47790)
+++ trunk/blender/source/blender/editors/space_clip/clip_dopesheet_draw.c	2012-06-12 17:11:00 UTC (rev 47791)
@@ -313,10 +313,10 @@
 			else
 				UI_ThemeColor(TH_TEXT);
 
-			font_height = BLF_height(fontid, track->name);
+			font_height = BLF_height(fontid, channel->name);
 			BLF_position(fontid, v2d->cur.xmin + CHANNEL_PAD,
 			             y - font_height / 2.0f, 0.0f);
-			BLF_draw(fontid, track->name, strlen(track->name));
+			BLF_draw(fontid, channel->name, strlen(channel->name));
 		}
 
 		/* adjust y-position for next one */

Modified: trunk/blender/source/blender/editors/space_clip/clip_dopesheet_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/clip_dopesheet_ops.c	2012-06-12 17:10:47 UTC (rev 47790)
+++ trunk/blender/source/blender/editors/space_clip/clip_dopesheet_ops.c	2012-06-12 17:11:00 UTC (rev 47791)
@@ -76,8 +76,10 @@
 	SpaceClip *sc = CTX_wm_space_clip(C);
 	MovieClip *clip = ED_space_clip(sc);
 	MovieTracking *tracking = &clip->tracking;
+	MovieTrackingObject *object = BKE_tracking_active_object(tracking);
 	MovieTrackingDopesheet *dopesheet = &tracking->dopesheet;
 	MovieTrackingDopesheetChannel *channel;
+	ListBase *tracksbase = BKE_tracking_object_tracks(tracking, object);
 	float location[2];
 	int extend = RNA_boolean_get(op->ptr, "extend");
 	int current_channel_index = 0, channel_index;
@@ -96,6 +98,7 @@
 
 			if (track->flag & TRACK_DOPE_SEL) {
 				tracking->act_track = track;
+				BKE_tracking_select_track(tracksbase, track, TRACK_AREA_ALL, TRUE);
 			}
 		}
 		else if (!extend)

Modified: trunk/blender/source/blender/makesdna/DNA_tracking_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_tracking_types.h	2012-06-12 17:10:47 UTC (rev 47790)
+++ trunk/blender/source/blender/makesdna/DNA_tracking_types.h	2012-06-12 17:11:00 UTC (rev 47791)
@@ -232,6 +232,8 @@
 	MovieTrackingTrack *track;  /* motion track for which channel is created */
 	int pad;
 
+	char name[64];          /* name of channel */
+
 	int tot_segment;        /* total number of segments */
 	int *segments;          /* tracked segments */
 	int max_segment, total_frames;  /* longest segment length and total number of tracked frames */




More information about the Bf-blender-cvs mailing list