[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47790] trunk/blender: Added options to display only selected tracks and show hidden tracks
Sergey Sharybin
sergey.vfx at gmail.com
Tue Jun 12 19:10:48 CEST 2012
Revision: 47790
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47790
Author: nazgul
Date: 2012-06-12 17:10:47 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
Added options to display only selected tracks and show hidden tracks
in motion tracking dopesheet view.
By default all channels are displaying now.
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_ui/space_clip.py
trunk/blender/source/blender/blenkernel/intern/tracking.c
trunk/blender/source/blender/makesdna/DNA_tracking_types.h
trunk/blender/source/blender/makesrna/intern/rna_tracking.c
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:24 UTC (rev 47789)
+++ trunk/blender/release/scripts/startup/bl_ui/space_clip.py 2012-06-12 17:10:47 UTC (rev 47790)
@@ -85,6 +85,10 @@
dopesheet = tracking.dopesheet
layout.prop(sc, "view", text="", expand=True)
+ row = layout.row(align=True)
+ 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")
Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c 2012-06-12 17:10:24 UTC (rev 47789)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c 2012-06-12 17:10:47 UTC (rev 47790)
@@ -3590,6 +3590,8 @@
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;
+ short show_hidden = dopesheet->flag & TRACKING_DOPE_SHOW_HIDDEN;
if (dopesheet->ok)
return;
@@ -3597,17 +3599,21 @@
tracking_dopesheet_free(dopesheet);
for (track = tracksbase->first; track; track = track->next) {
- if (TRACK_SELECTED(track) && (track->flag & TRACK_HIDDEN) == 0) {
- MovieTrackingDopesheetChannel *channel;
+ MovieTrackingDopesheetChannel *channel;
- channel = MEM_callocN(sizeof(MovieTrackingDopesheetChannel), "tracking dopesheet channel");
- channel->track = track;
+ if (!show_hidden && (track->flag & TRACK_HIDDEN) != 0)
+ continue;
- channels_segments_calc(channel);
+ if (sel_only && !TRACK_SELECTED(track))
+ continue;
- BLI_addtail(&dopesheet->channels, channel);
- dopesheet->tot_channel++;
- }
+ channel = MEM_callocN(sizeof(MovieTrackingDopesheetChannel), "tracking dopesheet channel");
+ channel->track = track;
+
+ channels_segments_calc(channel);
+
+ BLI_addtail(&dopesheet->channels, channel);
+ dopesheet->tot_channel++;
}
tracking_dopesheet_sort(tracking, sort_method, inverse);
Modified: trunk/blender/source/blender/makesdna/DNA_tracking_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_tracking_types.h 2012-06-12 17:10:24 UTC (rev 47789)
+++ trunk/blender/source/blender/makesdna/DNA_tracking_types.h 2012-06-12 17:10:47 UTC (rev 47790)
@@ -358,5 +358,7 @@
/* MovieTrackingDopesheet->flag */
#define TRACKING_DOPE_SORT_INVERSE (1 << 0)
+#define TRACKING_DOPE_SELECTED_ONLY (1 << 1)
+#define TRACKING_DOPE_SHOW_HIDDEN (1 << 2)
#endif
Modified: trunk/blender/source/blender/makesrna/intern/rna_tracking.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_tracking.c 2012-06-12 17:10:24 UTC (rev 47789)
+++ trunk/blender/source/blender/makesrna/intern/rna_tracking.c 2012-06-12 17:10:47 UTC (rev 47790)
@@ -1432,6 +1432,20 @@
RNA_def_property_boolean_sdna(prop, NULL, "flag", TRACKING_DOPE_SORT_INVERSE);
RNA_def_property_ui_text(prop, "Invert Dopesheet Sort", "Invert sort order of dopesheet channels");
RNA_def_property_update(prop, NC_MOVIECLIP | NA_EDITED, "rna_trackingDopesheet_tagUpdate");
+
+ /* show_only_selected */
+ prop = RNA_def_property(srna, "show_only_selected", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", TRACKING_DOPE_SELECTED_ONLY);
+ RNA_def_property_ui_text(prop, "Only Selected", "Only include channels relating to selected objects and data");
+ RNA_def_property_ui_icon(prop, ICON_RESTRICT_SELECT_OFF, 0);
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, "rna_trackingDopesheet_tagUpdate");
+
+ /* show_hidden */
+ prop = RNA_def_property(srna, "show_hidden", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", TRACKING_DOPE_SHOW_HIDDEN);
+ RNA_def_property_ui_text(prop, "Display Hidden", "Include channels from objects/bone that aren't visible");
+ RNA_def_property_ui_icon(prop, ICON_GHOST_ENABLED, 0);
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, "rna_trackingDopesheet_tagUpdate");
}
static void rna_def_tracking(BlenderRNA *brna)
More information about the Bf-blender-cvs
mailing list