forked from bartvdbraak/blender
Movie clip editor: default tracking settings can be copied from active track now
This commit is contained in:
parent
2e9ae40aaf
commit
6eb3d5cb50
@ -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'}
|
||||
|
@ -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'
|
||||
|
Loading…
Reference in New Issue
Block a user