Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-06-12 21:10:47 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-06-12 21:10:47 +0400
commit37612200fd6ce86dcece90c491238b4d6bd0d662 (patch)
treebc9095e24309cbaafe5d55ad8555bd1bd83be674 /source/blender/blenkernel/intern/tracking.c
parent55ca0e7636b77a408ea70bf3117eff569e49954b (diff)
Added options to display only selected tracks and show hidden tracks
in motion tracking dopesheet view. By default all channels are displaying now.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking.c')
-rw-r--r--source/blender/blenkernel/intern/tracking.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c
index 33f7b22f64a..f1b251f54dd 100644
--- a/source/blender/blenkernel/intern/tracking.c
+++ b/source/blender/blenkernel/intern/tracking.c
@@ -3590,6 +3590,8 @@ void BKE_tracking_dopesheet_update(MovieTracking *tracking)
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 @@ void BKE_tracking_dopesheet_update(MovieTracking *tracking)
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);