diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-01-26 19:04:25 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-01-26 19:04:25 +0400 |
commit | 6eb3d5cb50b3ca542b4705a41dbecd47d53d64f9 (patch) | |
tree | 21c3859714efd7349ea03037309cb6eec048f980 /release | |
parent | 2e9ae40aafd26da9376983cc73e17b4f1274b0ad (diff) |
Movie clip editor: default tracking settings can be copied from active track now
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/startup/bl_operators/clip.py | 51 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_clip.py | 3 |
2 files changed, 54 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py index ac82ffbf48f..c5ea8176691 100644 --- a/release/scripts/startup/bl_operators/clip.py +++ b/release/scripts/startup/bl_operators/clip.py @@ -90,6 +90,31 @@ def CLIP_track_view_selected(sc, track): return False +def CLIP_default_settings_from_track(clip, track): + settings = clip.tracking.settings + + width = clip.size[0] + height = clip.size[1] + + pattern = track.pattern_max - track.pattern_min + search = track.search_max - track.search_min + + pattern[0] = pattern[0] * clip.size[0] + pattern[1] = pattern[1] * clip.size[1] + + search[0] = search[0] * clip.size[0] + search[1] = search[1] * clip.size[1] + + settings.default_tracker = track.tracker + settings.default_pyramid_levels = track.pyramid_levels + settings.default_correlation_min = track.correlation_min + settings.default_pattern_size = max(pattern[0], pattern[1]) + settings.default_search_size = max(search[0], search[1]) + settings.default_frames_limit = track.frames_limit + settings.default_pattern_match = track.pattern_match + settings.default_margin = track.margin + + class CLIP_OT_track_to_empty(Operator): """Create an Empty object which will be copying movement of active track""" @@ -805,3 +830,29 @@ class CLIP_OT_setup_tracking_scene(Operator): self._setupObjects(context) return {'FINISHED'} + +class CLIP_OT_track_settings_as_default(Operator): + """Copy trackign settings from active track to default settings""" + + bl_idname = "clip.track_settings_as_default" + bl_label = "Track Settings As Default" + bl_options = {'UNDO', 'REGISTER'} + + @classmethod + def poll(cls, context): + sc = context.space_data + + if sc.type != 'CLIP_EDITOR': + return False + + clip = sc.clip + + return clip and clip.tracking.tracks.active + + def execute(self, context): + sc = context.space_data + clip = sc.clip + + CLIP_default_settings_from_track(clip, clip.tracking.tracks.active) + + return {'FINISHED'} diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index c179342bc44..7c2e1a2007c 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -147,6 +147,9 @@ class CLIP_PT_tools_marker(Panel): col.label(text="Match:") col.prop(settings, "default_pattern_match", text="") + col.separator() + col.operator('clip.track_settings_as_default', text="Copy From Active Track") + class CLIP_PT_tools_tracking(Panel): bl_space_type = 'CLIP_EDITOR' |