Revision: 41255
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41255
Author:   nazgul
Date:     2011-10-24 16:41:28 +0000 (Mon, 24 Oct 2011)
Log Message:
-----------
Camera tracking integration
===========================

Fixed issues pointed by Campbell in codereview.

Modified Paths:
--------------
    branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c
    
branches/soc-2011-tomato/source/blender/nodes/composite/node_composite_util.h
    
branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_image.c
    
branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_movieclip.c

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py       
2011-10-24 15:55:10 UTC (rev 41254)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py       
2011-10-24 16:41:28 UTC (rev 41255)
@@ -37,12 +37,12 @@
         sc = context.space_data
         clip = sc.clip
 
-        return clip and clip.tracking.active_track
+        return clip and clip.tracking.tracks.active
 
     def execute(self, context):
         sc = context.space_data
         clip = sc.clip
-        track = clip.tracking.active_track
+        track = clip.tracking.tracks.active
         constraint = None
         ob = None
 

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py        
2011-10-24 15:55:10 UTC (rev 41254)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py        
2011-10-24 16:41:28 UTC (rev 41255)
@@ -66,7 +66,7 @@
         if clip:
             r = clip.tracking.reconstruction
 
-            if r.is_reconstructed:
+            if r.is_valid:
                 layout.label(text="Average solve error: %.4f" %
                     (r.average_error))
 
@@ -281,7 +281,7 @@
         layout = self.layout
         sc = context.space_data
         clip = context.space_data.clip
-        act_track = clip.tracking.active_track
+        act_track = clip.tracking.tracks.active
 
         if not act_track:
             layout.active = False
@@ -433,10 +433,10 @@
 
         layout.prop(settings, "tracker")
 
-        layout.prop(settings, "adjust_frames")
+        layout.prop(settings, "frames_adjust")
 
         if settings.tracker == "SAD":
-            layout.prop(settings, "min_correlation")
+            layout.prop(settings, "correlation_min")
 
         layout.prop(settings, "speed")
         layout.prop(settings, "frames_limit")
@@ -488,7 +488,7 @@
         layout.prop(stab, "use_autoscale")
         col = layout.column()
         col.active = stab.use_autoscale
-        col.prop(stab, "max_scale")
+        col.prop(stab, "scale_max")
         col.prop(stab, "influence_scale")
 
         layout.separator()
@@ -521,7 +521,7 @@
         layout = self.layout
         sc = context.space_data
         clip = context.space_data.clip
-        act_track = clip.tracking.active_track
+        act_track = clip.tracking.tracks.active
 
         if act_track:
             layout.template_marker(sc, "clip", sc.clip_user, act_track, False)

Modified: branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c      
2011-10-24 15:55:10 UTC (rev 41254)
+++ branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c      
2011-10-24 16:41:28 UTC (rev 41255)
@@ -58,9 +58,13 @@
        rna_iterator_listbase_begin(iter, &clip->tracking.tracks, NULL);
 }
 
-static void rna_tracking_tracks_add(MovieTracking *tracking, int framenr, int 
number)
+static void rna_tracking_tracks_add(MovieTracking *tracking, int frame, int 
number)
 {
-       BKE_tracking_add_track(tracking, 0, 0, framenr, 1, 1);
+       int a;
+
+       for(a= 0; a<number; a++)
+               BKE_tracking_add_track(tracking, 0, 0, frame, 1, 1);
+
        WM_main_add_notifier(NC_MOVIECLIP|NA_EDITED, NULL);
 }
 
@@ -81,18 +85,6 @@
        else clip->tracking.act_track= NULL;
 }
 
-void rna_trackingTrack_name_get(PointerRNA *ptr, char *value)
-{
-       MovieTrackingTrack *track= (MovieTrackingTrack *)ptr->data;
-       BLI_strncpy(value, track->name, sizeof(track->name));
-}
-
-int rna_trackingTrack_name_length(PointerRNA *ptr)
-{
-       MovieTrackingTrack *track= (MovieTrackingTrack *)ptr->data;
-       return strlen(track->name);
-}
-
 void rna_trackingTrack_name_set(PointerRNA *ptr, const char *value)
 {
        MovieClip *clip= (MovieClip *)ptr->id.data;
@@ -207,7 +199,7 @@
 
 /* API */
 
-static MovieTrackingMarker *rna_trackingTrack_marker_get(MovieTrackingTrack 
*track, int framenr)
+static MovieTrackingMarker 
*rna_trackingTrack_marker_find_frame(MovieTrackingTrack *track, int framenr)
 {
        return BKE_tracking_get_marker(track, framenr);
 }
@@ -264,7 +256,7 @@
        RNA_def_property_ui_text(prop, "Frames Limit", "Amount of frames to be 
tracked during single tracking operation");
 
        /* adjust frames */
-       prop= RNA_def_property(srna, "adjust_frames", PROP_INT, PROP_NONE);
+       prop= RNA_def_property(srna, "frames_adjust", PROP_INT, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_int_sdna(prop, NULL, "adjframes");
        RNA_def_property_range(prop, 0, INT_MAX);
@@ -290,7 +282,7 @@
        RNA_def_property_ui_text(prop, "Keyframe B", "Second keyframe used for 
reconstruction initialization");
 
        /* minmal correlation */
-       prop= RNA_def_property(srna, "min_correlation", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "correlation_min", PROP_FLOAT, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_float_sdna(prop, NULL, "corr");
        RNA_def_property_range(prop, -1.0f, 1.0f);
@@ -420,10 +412,10 @@
        RNA_def_property_ui_text(prop, "Frame", "Frame number marker is 
keyframed on");
        RNA_def_property_update(prop, NC_MOVIECLIP|NA_EDITED, NULL);
 
-       /* enabled */
-       prop= RNA_def_property(srna, "enabled", PROP_BOOLEAN, PROP_NONE);
+       /* enable */
+       prop= RNA_def_property(srna, "enable", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", 
MARKER_DISABLED);
-       RNA_def_property_ui_text(prop, "Enabled", "Is marker enabled for 
current frame");
+       RNA_def_property_ui_text(prop, "Enable", "Is marker enabled for current 
frame");
        RNA_def_property_update(prop, NC_MOVIECLIP|NA_EDITED, NULL);
 }
 
@@ -444,7 +436,7 @@
        /* name */
        prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
        RNA_def_property_ui_text(prop, "Name", "Unique name of track");
-       RNA_def_property_string_funcs(prop, "rna_trackingTrack_name_get", 
"rna_trackingTrack_name_length", "rna_trackingTrack_name_set");
+       RNA_def_property_string_funcs(prop, NULL, NULL, 
"rna_trackingTrack_name_set");
        RNA_def_property_string_maxlength(prop, MAX_ID_NAME);
        RNA_def_property_update(prop, NC_MOVIECLIP|NA_EDITED, NULL);
        RNA_def_struct_name_property(srna, prop);
@@ -479,12 +471,6 @@
        RNA_def_property_ui_text(prop, "Search Max", "Right-bottom corner of 
search area in normalized coordinates relative to marker position");
        RNA_def_property_update(prop, NC_MOVIECLIP|NA_EDITED, 
"rna_tracking_trackerSearch_update");
 
-       /* markers_count */
-       prop= RNA_def_property(srna, "markers_count", PROP_INT, PROP_NONE);
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
-       RNA_def_property_int_sdna(prop, NULL, "markersnr");
-       RNA_def_property_ui_text(prop, "Markers Count", "Total number of 
markers in track");
-
        /* markers */
        prop= RNA_def_property(srna, "markers", PROP_COLLECTION, PROP_NONE);
        RNA_def_property_struct_type(prop, "MovieTrackingMarker");
@@ -557,7 +543,7 @@
 
        /* ** api ** */
 
-       func= RNA_def_function(srna, "get_marker", 
"rna_trackingTrack_marker_get");
+       func= RNA_def_function(srna, "marker_find_frame", 
"rna_trackingTrack_marker_find_frame");
        RNA_def_function_ui_description(func, "Get marker for specified frame");
        parm= RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame", "type 
for the new spline", MINFRAME, MAXFRAME);
        RNA_def_property_flag(parm, PROP_REQUIRED);
@@ -606,7 +592,7 @@
        RNA_def_property_update(prop, NC_MOVIECLIP|ND_DISPLAY, 
"rna_tracking_flushUpdate");
 
        /* max scale */
-       prop= RNA_def_property(srna, "max_scale", PROP_FLOAT, PROP_FACTOR);
+       prop= RNA_def_property(srna, "scale_max", PROP_FLOAT, PROP_FACTOR);
        RNA_def_property_float_sdna(prop, NULL, "maxscale");
        RNA_def_property_range(prop, 0.f, 10.f);
        RNA_def_property_ui_text(prop, "Miximal Scale", "Maximal value for 
scale factor");
@@ -672,8 +658,8 @@
        srna= RNA_def_struct(brna, "MovieTrackingReconstruction", NULL);
        RNA_def_struct_ui_text(srna, "Movie tracking reconstruction data", 
"Match-moving reconstruction data from tracker");
 
-       /* is_reconstructed */
-       prop= RNA_def_property(srna, "is_reconstructed", PROP_BOOLEAN, 
PROP_NONE);
+       /* is_valid */
+       prop= RNA_def_property(srna, "is_valid", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", 
TRACKING_RECONSTRUCTED);
        RNA_def_property_ui_text(prop, "Reconstructed", "Is tracking data 
contains valid reconstruction information");
@@ -695,6 +681,7 @@
 {
        StructRNA *srna;
        FunctionRNA *func;
+       PropertyRNA *prop;
 
        RNA_def_property_srna(cprop, "MovieTrackingTracks");
        srna= RNA_def_struct(brna, "MovieTrackingTracks", NULL);
@@ -703,8 +690,15 @@
 
        func= RNA_def_function(srna, "add", "rna_tracking_tracks_add");
        RNA_def_function_ui_description(func, "Add a number of tracks to this 
movie clip");
-       RNA_def_int(func, "framenr", 1, MINFRAME, MAXFRAME, "Frame", "Frame 
number to add tracks on", MINFRAME, MAXFRAME);
+       RNA_def_int(func, "frame", 1, MINFRAME, MAXFRAME, "Frame", "Frame 
number to add tracks on", MINFRAME, MAXFRAME);
        RNA_def_int(func, "count", 1, 0, INT_MAX, "Number", "Number of tracks 
to add to the movie clip", 0, INT_MAX);
+
+       /* active track */
+       prop= RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
+       RNA_def_property_struct_type(prop, "MovieTrackingTrack");
+       RNA_def_property_pointer_funcs(prop, "rna_tracking_active_track_get", 
"rna_tracking_active_track_set", NULL, NULL);
+       RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_UNLINK);
+       RNA_def_property_ui_text(prop, "Active Track", "Active track in this 
tracking data object");
 }
 
 static void rna_def_tracking(BlenderRNA *brna)
@@ -736,13 +730,6 @@
        RNA_def_property_ui_text(prop, "Tracks", "Collection of tracks in this 
tracking data object");
        rna_def_trackingTracks(brna, prop);
 
-       /* active track */
-       prop= RNA_def_property(srna, "active_track", PROP_POINTER, PROP_NONE);
-       RNA_def_property_struct_type(prop, "MovieTrackingTrack");
-       RNA_def_property_pointer_funcs(prop, "rna_tracking_active_track_get", 
"rna_tracking_active_track_set", NULL, NULL);
-       RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_UNLINK);
-       RNA_def_property_ui_text(prop, "Active Track", "Active track in this 
tracking data object");
-

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to