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
|
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):
|
class CLIP_OT_track_to_empty(Operator):
|
||||||
"""Create an Empty object which will be copying movement of active track"""
|
"""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)
|
self._setupObjects(context)
|
||||||
|
|
||||||
return {'FINISHED'}
|
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.label(text="Match:")
|
||||||
col.prop(settings, "default_pattern_match", text="")
|
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):
|
class CLIP_PT_tools_tracking(Panel):
|
||||||
bl_space_type = 'CLIP_EDITOR'
|
bl_space_type = 'CLIP_EDITOR'
|
||||||
|
Loading…
Reference in New Issue
Block a user