Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 # ##### BEGIN GPL LICENSE BLOCK ##### | 1 # ##### BEGIN GPL LICENSE BLOCK ##### |
2 # | 2 # |
3 # This program is free software; you can redistribute it and/or | 3 # This program is free software; you can redistribute it and/or |
4 # modify it under the terms of the GNU General Public License | 4 # modify it under the terms of the GNU General Public License |
5 # as published by the Free Software Foundation; either version 2 | 5 # as published by the Free Software Foundation; either version 2 |
6 # of the License, or (at your option) any later version. | 6 # of the License, or (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
(...skipping 30 matching lines...) Expand all Loading... | |
41 sub.menu("CLIP_MT_select") | 41 sub.menu("CLIP_MT_select") |
42 | 42 |
43 sub.menu("CLIP_MT_clip") | 43 sub.menu("CLIP_MT_clip") |
44 | 44 |
45 if clip: | 45 if clip: |
46 sub.menu("CLIP_MT_track") | 46 sub.menu("CLIP_MT_track") |
47 sub.menu("CLIP_MT_reconstruction") | 47 sub.menu("CLIP_MT_reconstruction") |
48 | 48 |
49 if clip: | 49 if clip: |
50 layout.prop(sc, "mode", text="") | 50 layout.prop(sc, "mode", text="") |
51 layout.prop(sc, "view", text="", expand=True) | |
52 | |
53 if sc.view == 'GRAPH': | |
54 row = layout.row(align=True) | |
55 | |
56 if sc.show_filters: | |
57 row.prop(sc, "show_filters", icon='DISCLOSURE_TRI_DOWN', tex t="Filters") | |
58 row.prop(sc, "show_graph_frames", icon='SEQUENCE', text="") | |
59 row.prop(sc, "show_graph_tracks", icon='ANIM', text="") | |
60 else: | |
61 row.prop(sc, "show_filters", icon='DISCLOSURE_TRI_RIGHT', te xt="Filters") | |
51 | 62 |
52 row = layout.row() | 63 row = layout.row() |
53 row.template_ID(sc, "clip", open='clip.open') | 64 row.template_ID(sc, "clip", open='clip.open') |
54 | 65 |
55 if clip: | 66 if clip: |
56 r = clip.tracking.reconstruction | 67 r = clip.tracking.reconstruction |
57 | 68 |
58 if r.is_reconstructed: | 69 if r.is_valid: |
59 layout.label(text="Average solve error: %.4f" % \ | 70 layout.label(text="Average solve error: %.4f" % |
60 (r.average_error)) | 71 (r.average_error)) |
61 | 72 |
62 layout.template_running_jobs() | 73 layout.template_running_jobs() |
63 | 74 |
64 | 75 |
65 class CLIP_PT_tools_marker(Panel): | 76 class CLIP_PT_tools_marker(Panel): |
66 bl_space_type = 'CLIP_EDITOR' | 77 bl_space_type = 'CLIP_EDITOR' |
67 bl_region_type = 'TOOLS' | 78 bl_region_type = 'TOOLS' |
68 bl_label = "Marker" | 79 bl_label = "Marker" |
69 | 80 |
(...skipping 25 matching lines...) Expand all Loading... | |
95 | 106 |
96 return clip and sc.mode == 'TRACKING' | 107 return clip and sc.mode == 'TRACKING' |
97 | 108 |
98 def draw(self, context): | 109 def draw(self, context): |
99 layout = self.layout | 110 layout = self.layout |
100 clip = context.space_data.clip | 111 clip = context.space_data.clip |
101 settings = clip.tracking.settings | 112 settings = clip.tracking.settings |
102 | 113 |
103 row = layout.row(align=True) | 114 row = layout.row(align=True) |
104 | 115 |
105 op = row.operator("clip.track_markers", text="", icon='FRAME_PREV') | 116 props = row.operator("clip.track_markers", text="", icon='FRAME_PREV') |
106 op.backwards = True | 117 props.backwards = True |
107 op = row.operator("clip.track_markers", text="", \ | 118 props = row.operator("clip.track_markers", text="", |
108 icon='PLAY_REVERSE') | 119 icon='PLAY_REVERSE') |
109 op.backwards = True | 120 props.backwards = True |
110 op.sequence = True | 121 props.sequence = True |
111 op = row.operator("clip.track_markers", text="", icon='PLAY') | 122 props = row.operator("clip.track_markers", text="", icon='PLAY') |
112 op.sequence = True | 123 props.sequence = True |
113 row.operator("clip.track_markers", text="", icon='FRAME_NEXT') | 124 row.operator("clip.track_markers", text="", icon='FRAME_NEXT') |
114 | 125 |
115 col = layout.column(align=True) | 126 col = layout.column(align=True) |
116 op = col.operator("clip.clear_track_path", text="Clear After") | 127 props = col.operator("clip.clear_track_path", text="Clear After") |
117 op.action = 'REMAINED' | 128 props.action = 'REMAINED' |
118 | 129 |
119 op = col.operator("clip.clear_track_path", text="Clear Before") | 130 props = col.operator("clip.clear_track_path", text="Clear Before") |
120 op.action = 'UPTO' | 131 props.action = 'UPTO' |
121 | 132 |
122 op = col.operator("clip.clear_track_path", text="Clear Track Path") | 133 props = col.operator("clip.clear_track_path", text="Clear Track Path") |
123 op.action = 'ALL' | 134 props.action = 'ALL' |
124 | 135 |
125 layout.operator("clip.join_tracks") | 136 layout.operator("clip.join_tracks") |
126 | 137 |
127 | 138 |
128 class CLIP_PT_tools_solving(Panel): | 139 class CLIP_PT_tools_solving(Panel): |
129 bl_space_type = 'CLIP_EDITOR' | 140 bl_space_type = 'CLIP_EDITOR' |
130 bl_region_type = 'TOOLS' | 141 bl_region_type = 'TOOLS' |
131 bl_label = "Solving" | 142 bl_label = "Solving" |
132 | 143 |
133 @classmethod | 144 @classmethod |
134 def poll(cls, context): | 145 def poll(cls, context): |
135 sc = context.space_data | 146 sc = context.space_data |
136 clip = sc.clip | 147 clip = sc.clip |
137 | 148 |
138 return clip and sc.mode == 'TRACKING' | 149 return clip and sc.mode == 'TRACKING' |
139 | 150 |
140 def draw(self, context): | 151 def draw(self, context): |
141 layout = self.layout | 152 layout = self.layout |
142 clip = context.space_data.clip | 153 clip = context.space_data.clip |
143 settings = clip.tracking.settings | 154 settings = clip.tracking.settings |
144 | 155 |
145 col = layout.column(align=True) | 156 col = layout.column(align=True) |
146 col.prop(settings, "keyframe_a") | 157 col.prop(settings, "keyframe_a") |
147 col.prop(settings, "keyframe_b") | 158 col.prop(settings, "keyframe_b") |
148 | 159 |
149 col = layout.column(align=True) | 160 col = layout.column(align=True) |
150 col.operator("clip.solve_camera") | 161 col.operator("clip.solve_camera") |
151 col.operator("clip.clear_solution") | 162 col.operator("clip.clear_solution") |
brechtvl
2011/10/25 20:03:01
For consistency, put the operator buttons at the t
nazgul
2011/10/26 07:47:48
I'm not sure about this. That two keyframes are pr
| |
152 | 163 |
153 | 164 |
154 class CLIP_PT_tools_cleanup(Panel): | 165 class CLIP_PT_tools_cleanup(Panel): |
155 bl_space_type = 'CLIP_EDITOR' | 166 bl_space_type = 'CLIP_EDITOR' |
156 bl_region_type = 'TOOLS' | 167 bl_region_type = 'TOOLS' |
157 bl_label = "Clean up" | 168 bl_label = "Clean up" |
158 | 169 |
159 @classmethod | 170 @classmethod |
160 def poll(cls, context): | 171 def poll(cls, context): |
161 sc = context.space_data | 172 sc = context.space_data |
162 clip = sc.clip | 173 clip = sc.clip |
163 | 174 |
164 return clip and sc.mode == 'TRACKING' | 175 return clip and sc.mode == 'TRACKING' |
165 | 176 |
166 def draw(self, context): | 177 def draw(self, context): |
167 layout = self.layout | 178 layout = self.layout |
168 clip = context.space_data.clip | 179 clip = context.space_data.clip |
169 settings = clip.tracking.settings | 180 settings = clip.tracking.settings |
170 | 181 |
171 layout.prop(settings, 'clean_frames', text="Frames") | 182 layout.prop(settings, 'clean_frames', text="Frames") |
172 layout.prop(settings, 'clean_error', text="Error") | 183 layout.prop(settings, 'clean_error', text="Error") |
173 layout.prop(settings, 'clean_action', text="") | 184 layout.prop(settings, 'clean_action', text="") |
174 | 185 |
175 layout.operator("clip.clean_tracks") | 186 layout.operator("clip.clean_tracks") |
brechtvl
2011/10/25 20:03:01
For consistency, put the operator button at the to
nazgul
2011/10/26 07:47:48
The same thing as above.
| |
176 | 187 |
177 | 188 |
178 class CLIP_PT_tools_geometry(Panel): | 189 class CLIP_PT_tools_geometry(Panel): |
179 bl_space_type = 'CLIP_EDITOR' | 190 bl_space_type = 'CLIP_EDITOR' |
180 bl_region_type = 'TOOLS' | 191 bl_region_type = 'TOOLS' |
181 bl_label = "Geometry" | 192 bl_label = "Geometry" |
182 | 193 |
183 @classmethod | 194 @classmethod |
184 def poll(cls, context): | 195 def poll(cls, context): |
185 sc = context.space_data | 196 sc = context.space_data |
(...skipping 28 matching lines...) Expand all Loading... | |
214 col = layout.column(align=True) | 225 col = layout.column(align=True) |
215 col.label(text="Scene Orientation:") | 226 col.label(text="Scene Orientation:") |
216 col.operator("clip.set_floor") | 227 col.operator("clip.set_floor") |
217 col.operator("clip.set_origin") | 228 col.operator("clip.set_origin") |
218 | 229 |
219 row = col.row() | 230 row = col.row() |
220 row.operator("clip.set_axis", text="Set X Axis").axis = 'X' | 231 row.operator("clip.set_axis", text="Set X Axis").axis = 'X' |
221 row.operator("clip.set_axis", text="Set Y Axis").axis = 'Y' | 232 row.operator("clip.set_axis", text="Set Y Axis").axis = 'Y' |
222 | 233 |
223 col = layout.column() | 234 col = layout.column() |
224 col.prop(settings, "distance") | 235 col.prop(settings, "distance") |
brechtvl
2011/10/25 20:03:01
I'd move this property below the operator and use
nazgul
2011/10/26 07:47:48
Personally, i dislike way in which slider is getti
| |
225 col.operator("clip.set_scale") | 236 col.operator("clip.set_scale") |
226 | 237 |
227 | 238 |
228 class CLIP_PT_tools_grease_pencil(Panel): | 239 class CLIP_PT_tools_grease_pencil(Panel): |
229 bl_space_type = 'CLIP_EDITOR' | 240 bl_space_type = 'CLIP_EDITOR' |
230 bl_region_type = 'TOOLS' | 241 bl_region_type = 'TOOLS' |
231 bl_label = "Grease Pencil" | 242 bl_label = "Grease Pencil" |
232 | 243 |
233 @classmethod | 244 @classmethod |
234 def poll(cls, context): | 245 def poll(cls, context): |
(...skipping 28 matching lines...) Expand all Loading... | |
263 def poll(cls, context): | 274 def poll(cls, context): |
264 sc = context.space_data | 275 sc = context.space_data |
265 clip = sc.clip | 276 clip = sc.clip |
266 | 277 |
267 return sc.mode == 'TRACKING' and clip | 278 return sc.mode == 'TRACKING' and clip |
268 | 279 |
269 def draw(self, context): | 280 def draw(self, context): |
270 layout = self.layout | 281 layout = self.layout |
271 sc = context.space_data | 282 sc = context.space_data |
272 clip = context.space_data.clip | 283 clip = context.space_data.clip |
273 act_track = clip.tracking.active_track | 284 act_track = clip.tracking.tracks.active |
274 | 285 |
275 if not act_track: | 286 if not act_track: |
276 layout.active = False | 287 layout.active = False |
277 layout.label(text="No active track") | 288 layout.label(text="No active track") |
278 return | 289 return |
279 | 290 |
280 row = layout.row() | 291 row = layout.row() |
281 row.prop(act_track, "name", text="") | 292 row.prop(act_track, "name", text="") |
282 | 293 |
283 sub = row.row(align=True) | 294 sub = row.row(align=True) |
284 | 295 |
285 sub.template_marker(sc, "clip", sc.clip_user, act_track, True) | 296 sub.template_marker(sc, "clip", sc.clip_user, act_track, True) |
286 | 297 |
287 icon = 'LOCKED' if act_track.locked else 'UNLOCKED' | 298 icon = 'LOCKED' if act_track.lock else 'UNLOCKED' |
288 sub.prop(act_track, "locked", text="", icon=icon) | 299 sub.prop(act_track, "lock", text="", icon=icon) |
289 | 300 |
290 layout.template_track(sc, "scopes") | 301 layout.template_track(sc, "scopes") |
291 | 302 |
292 row = layout.row() | 303 row = layout.row() |
293 row.prop(act_track, "use_red_channel", text="Red") | 304 row.prop(act_track, "use_red_channel", text="Red") |
294 row.prop(act_track, "use_green_channel", text="Green") | 305 row.prop(act_track, "use_green_channel", text="Green") |
295 row.prop(act_track, "use_blue_channel", text="Blue") | 306 row.prop(act_track, "use_blue_channel", text="Blue") |
brechtvl
2011/10/25 20:03:01
These buttons don't fit well in the default region
nazgul
2011/10/26 07:47:48
It's really nice. Didn't know about toggle=True, t
| |
296 | 307 |
297 layout.separator() | 308 layout.separator() |
298 | 309 |
299 row = layout.row(align=True) | 310 row = layout.row(align=True) |
300 label = bpy.types.CLIP_MT_track_color_presets.bl_label | 311 label = bpy.types.CLIP_MT_track_color_presets.bl_label |
301 row.menu('CLIP_MT_track_color_presets', text=label) | 312 row.menu('CLIP_MT_track_color_presets', text=label) |
302 row.menu('CLIP_MT_track_color_specials', text="", icon="DOWNARROW_HLT") | 313 row.menu('CLIP_MT_track_color_specials', text="", icon="DOWNARROW_HLT") |
303 row.operator("clip.track_color_preset_add", text="", icon="ZOOMIN") | 314 row.operator("clip.track_color_preset_add", text="", icon="ZOOMIN") |
304 op = row.operator("clip.track_color_preset_add", \ | 315 props = row.operator("clip.track_color_preset_add", |
305 text="", icon="ZOOMOUT") | 316 text="", icon="ZOOMOUT") |
306 op.remove_active = True | 317 props.remove_active = True |
307 | 318 |
308 row = layout.row() | 319 row = layout.row() |
309 row.prop(act_track, "use_custom_color") | 320 row.prop(act_track, "use_custom_color") |
310 if act_track.use_custom_color: | 321 if act_track.use_custom_color: |
311 row.prop(act_track, "color", text="") | 322 row.prop(act_track, "color", text="") |
312 | 323 |
313 if act_track.has_bundle: | 324 if act_track.has_bundle: |
314 label_text = "Average Error: %.4f" % (act_track.average_error) | 325 label_text = "Average Error: %.4f" % (act_track.average_error) |
315 layout.label(text=label_text) | 326 layout.label(text=label_text) |
316 | 327 |
(...skipping 13 matching lines...) Expand all Loading... | |
330 def draw(self, context): | 341 def draw(self, context): |
331 layout = self.layout | 342 layout = self.layout |
332 | 343 |
333 sc = context.space_data | 344 sc = context.space_data |
334 clip = sc.clip | 345 clip = sc.clip |
335 | 346 |
336 row = layout.row(align=True) | 347 row = layout.row(align=True) |
337 label = bpy.types.CLIP_MT_camera_presets.bl_label | 348 label = bpy.types.CLIP_MT_camera_presets.bl_label |
338 row.menu('CLIP_MT_camera_presets', text=label) | 349 row.menu('CLIP_MT_camera_presets', text=label) |
339 row.operator("clip.camera_preset_add", text="", icon="ZOOMIN") | 350 row.operator("clip.camera_preset_add", text="", icon="ZOOMIN") |
340 op = row.operator("clip.camera_preset_add", text="", icon="ZOOMOUT") | 351 props = row.operator("clip.camera_preset_add", text="", icon="ZOOMOUT") |
341 op.remove_active = True | 352 props.remove_active = True |
342 | 353 |
343 row = layout.row(align=True) | 354 row = layout.row(align=True) |
344 sub = row.split(percentage=0.65) | 355 sub = row.split(percentage=0.65) |
345 sub.prop(clip.tracking.camera, "focal_length") | 356 sub.prop(clip.tracking.camera, "focal_length") |
346 sub.prop(clip.tracking.camera, "units", text="") | 357 sub.prop(clip.tracking.camera, "units", text="") |
347 | 358 |
348 col = layout.column(align=True) | 359 col = layout.column(align=True) |
349 col.label(text="Sensor:") | 360 col.label(text="Sensor:") |
350 col.prop(clip.tracking.camera, "sensor_width", text="Size") | 361 col.prop(clip.tracking.camera, "sensor_width", text="Size") |
351 col.prop(clip.tracking.camera, "pixel_aspect") | 362 col.prop(clip.tracking.camera, "pixel_aspect") |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
415 | 426 |
416 return sc.mode == 'TRACKING' and sc.clip | 427 return sc.mode == 'TRACKING' and sc.clip |
417 | 428 |
418 def draw(self, context): | 429 def draw(self, context): |
419 layout = self.layout | 430 layout = self.layout |
420 clip = context.space_data.clip | 431 clip = context.space_data.clip |
421 settings = clip.tracking.settings | 432 settings = clip.tracking.settings |
422 | 433 |
423 layout.prop(settings, "tracker") | 434 layout.prop(settings, "tracker") |
424 | 435 |
425 layout.prop(settings, "adjust_frames") | 436 layout.prop(settings, "frames_adjust") |
426 | 437 |
427 if settings.tracker == "SAD": | 438 if settings.tracker == "SAD": |
428 layout.prop(settings, "min_correlation") | 439 layout.prop(settings, "correlation_min") |
429 | 440 |
430 layout.prop(settings, "speed") | 441 layout.prop(settings, "speed") |
431 layout.prop(settings, "frames_limit") | 442 layout.prop(settings, "frames_limit") |
432 layout.prop(settings, "margin") | 443 layout.prop(settings, "margin") |
433 | 444 |
434 | 445 |
435 class CLIP_PT_stabilization(Panel): | 446 class CLIP_PT_stabilization(Panel): |
436 bl_space_type = 'CLIP_EDITOR' | 447 bl_space_type = 'CLIP_EDITOR' |
437 bl_region_type = 'UI' | 448 bl_region_type = 'UI' |
438 bl_label = "2D Stabilization" | 449 bl_label = "2D Stabilization" |
(...skipping 21 matching lines...) Expand all Loading... | |
460 layout.active = stab.use_2d_stabilization | 471 layout.active = stab.use_2d_stabilization |
461 | 472 |
462 row = layout.row() | 473 row = layout.row() |
463 row.template_list(stab, "tracks", stab, "active_track_index", rows=3) | 474 row.template_list(stab, "tracks", stab, "active_track_index", rows=3) |
464 | 475 |
465 sub = row.column(align=True) | 476 sub = row.column(align=True) |
466 | 477 |
467 sub.operator("clip.stabilize_2d_add", icon='ZOOMIN', text="") | 478 sub.operator("clip.stabilize_2d_add", icon='ZOOMIN', text="") |
468 sub.operator("clip.stabilize_2d_remove", icon='ZOOMOUT', text="") | 479 sub.operator("clip.stabilize_2d_remove", icon='ZOOMOUT', text="") |
469 | 480 |
470 sub.menu('CLIP_MT_stabilize_2d_specials', text="", \ | 481 sub.menu('CLIP_MT_stabilize_2d_specials', text="", |
471 icon="DOWNARROW_HLT") | 482 icon="DOWNARROW_HLT") |
472 | 483 |
473 layout.prop(stab, "influence_location") | 484 layout.prop(stab, "influence_location") |
474 | 485 |
475 layout.separator() | 486 layout.separator() |
476 | 487 |
477 layout.prop(stab, "use_autoscale") | 488 layout.prop(stab, "use_autoscale") |
478 col = layout.column() | 489 col = layout.column() |
479 col.active = stab.use_autoscale | 490 col.active = stab.use_autoscale |
480 col.prop(stab, "max_scale") | 491 col.prop(stab, "scale_max") |
481 col.prop(stab, "influence_scale") | 492 col.prop(stab, "influence_scale") |
482 | 493 |
483 layout.separator() | 494 layout.separator() |
484 | 495 |
485 layout.label(text="Rotation:") | 496 layout.label(text="Rotation:") |
486 | 497 |
487 row = layout.row(align=True) | 498 row = layout.row(align=True) |
488 row.prop_search(stab, "rotation_track", tracking, "tracks", text="") | 499 row.prop_search(stab, "rotation_track", tracking, "tracks", text="") |
489 row.operator("clip.stabilize_2d_set_rotation", text="", icon='ZOOMIN') | 500 row.operator("clip.stabilize_2d_set_rotation", text="", icon='ZOOMIN') |
490 | 501 |
(...skipping 12 matching lines...) Expand all Loading... | |
503 def poll(cls, context): | 514 def poll(cls, context): |
504 sc = context.space_data | 515 sc = context.space_data |
505 clip = sc.clip | 516 clip = sc.clip |
506 | 517 |
507 return sc.mode == 'TRACKING' and clip | 518 return sc.mode == 'TRACKING' and clip |
508 | 519 |
509 def draw(self, context): | 520 def draw(self, context): |
510 layout = self.layout | 521 layout = self.layout |
511 sc = context.space_data | 522 sc = context.space_data |
512 clip = context.space_data.clip | 523 clip = context.space_data.clip |
513 act_track = clip.tracking.active_track | 524 act_track = clip.tracking.tracks.active |
514 | 525 |
515 if act_track: | 526 if act_track: |
516 layout.template_marker(sc, "clip", sc.clip_user, act_track, False) | 527 layout.template_marker(sc, "clip", sc.clip_user, act_track, False) |
517 else: | 528 else: |
518 layout.active = False | 529 layout.active = False |
519 layout.label(text="No active track") | 530 layout.label(text="No active track") |
520 | 531 |
521 | 532 |
522 class CLIP_PT_proxy(Panel): | 533 class CLIP_PT_proxy(Panel): |
523 bl_space_type = 'CLIP_EDITOR' | 534 bl_space_type = 'CLIP_EDITOR' |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
630 | 641 |
631 layout.operator("clip.view_selected") | 642 layout.operator("clip.view_selected") |
632 layout.operator("clip.view_all") | 643 layout.operator("clip.view_all") |
633 | 644 |
634 layout.separator() | 645 layout.separator() |
635 layout.operator("clip.view_zoom_in") | 646 layout.operator("clip.view_zoom_in") |
636 layout.operator("clip.view_zoom_out") | 647 layout.operator("clip.view_zoom_out") |
637 | 648 |
638 layout.separator() | 649 layout.separator() |
639 | 650 |
640 ratios = [[1, 8], [1, 4], [1, 2], [1, 1], [2, 1], [4, 1], [8, 1]] | 651 ratios = ((1, 8), (1, 4), (1, 2), (1, 1), (2, 1), (4, 1), (8, 1)) |
641 | 652 |
642 for a, b in ratios: | 653 for a, b in ratios: |
643 text = "Zoom %d:%d" % (a, b) | 654 text = "Zoom %d:%d" % (a, b) |
644 layout.operator("clip.view_zoom_ratio", text=text).ratio = a / b | 655 layout.operator("clip.view_zoom_ratio", text=text).ratio = a / b |
645 | 656 |
646 layout.separator() | 657 layout.separator() |
647 layout.operator("screen.area_dupli") | 658 layout.operator("screen.area_dupli") |
648 layout.operator("screen.screen_full_area") | 659 layout.operator("screen.screen_full_area") |
649 | 660 |
650 | 661 |
(...skipping 29 matching lines...) Expand all Loading... | |
680 class CLIP_MT_track(Menu): | 691 class CLIP_MT_track(Menu): |
681 bl_label = "Track" | 692 bl_label = "Track" |
682 | 693 |
683 def draw(self, context): | 694 def draw(self, context): |
684 layout = self.layout | 695 layout = self.layout |
685 | 696 |
686 layout.operator("clip.clear_solution") | 697 layout.operator("clip.clear_solution") |
687 layout.operator("clip.solve_camera") | 698 layout.operator("clip.solve_camera") |
688 | 699 |
689 layout.separator() | 700 layout.separator() |
690 op = layout.operator("clip.clear_track_path", text="Clear After") | 701 props = layout.operator("clip.clear_track_path", text="Clear After") |
691 op.action = 'REMAINED' | 702 props.action = 'REMAINED' |
692 | 703 |
693 op = layout.operator("clip.clear_track_path", text="Clear Before") | 704 props = layout.operator("clip.clear_track_path", text="Clear Before") |
694 op.action = 'UPTO' | 705 props.action = 'UPTO' |
695 | 706 |
696 op = layout.operator("clip.clear_track_path", text="Clear Track Path") | 707 props = layout.operator("clip.clear_track_path", text="Clear Track Path" ) |
697 op.action = 'ALL' | 708 props.action = 'ALL' |
698 | 709 |
699 layout.separator() | 710 layout.separator() |
700 layout.operator("clip.join_tracks") | 711 layout.operator("clip.join_tracks") |
701 | 712 |
702 layout.separator() | 713 layout.separator() |
703 layout.operator("clip.clean_tracks") | 714 layout.operator("clip.clean_tracks") |
704 | 715 |
705 layout.separator() | 716 layout.separator() |
706 op = layout.operator("clip.track_markers", \ | 717 props = layout.operator("clip.track_markers", |
707 text="Track Frame Backwards") | 718 text="Track Frame Backwards") |
708 op.backwards = True | 719 props.backwards = True |
709 | 720 |
710 op = layout.operator("clip.track_markers", text="Track Backwards") | 721 props = layout.operator("clip.track_markers", text="Track Backwards") |
711 op.backwards = True | 722 props.backwards = True |
712 op.sequence = True | 723 props.sequence = True |
713 | 724 |
714 op = layout.operator("clip.track_markers", text="Track Forwards") | 725 props = layout.operator("clip.track_markers", text="Track Forwards") |
715 op.sequence = True | 726 props.sequence = True |
716 layout.operator("clip.track_markers", text="Track Frame Forwards") | 727 layout.operator("clip.track_markers", text="Track Frame Forwards") |
717 | 728 |
718 layout.separator() | 729 layout.separator() |
719 layout.operator("clip.delete_track") | 730 layout.operator("clip.delete_track") |
720 layout.operator("clip.delete_marker") | 731 layout.operator("clip.delete_marker") |
721 | 732 |
722 layout.separator() | 733 layout.separator() |
723 layout.operator("clip.add_marker_move") | 734 layout.operator("clip.add_marker_move") |
724 | 735 |
725 layout.separator() | 736 layout.separator() |
(...skipping 23 matching lines...) Expand all Loading... | |
749 | 760 |
750 class CLIP_MT_track_visibility(Menu): | 761 class CLIP_MT_track_visibility(Menu): |
751 bl_label = "Show/Hide" | 762 bl_label = "Show/Hide" |
752 | 763 |
753 def draw(self, context): | 764 def draw(self, context): |
754 layout = self.layout | 765 layout = self.layout |
755 | 766 |
756 layout.operator("clip.hide_tracks_clear", text="Show Hidden") | 767 layout.operator("clip.hide_tracks_clear", text="Show Hidden") |
757 layout.operator("clip.hide_tracks", text="Hide Selected") | 768 layout.operator("clip.hide_tracks", text="Hide Selected") |
758 | 769 |
759 op = layout.operator("clip.hide_tracks", text="Hide Unselected") | 770 props = layout.operator("clip.hide_tracks", text="Hide Unselected") |
760 op.unselected = True | 771 props.unselected = True |
761 | 772 |
762 | 773 |
763 class CLIP_MT_track_transform(Menu): | 774 class CLIP_MT_track_transform(Menu): |
764 bl_label = "Transform" | 775 bl_label = "Transform" |
765 | 776 |
766 def draw(self, context): | 777 def draw(self, context): |
767 layout = self.layout | 778 layout = self.layout |
768 | 779 |
769 layout.operator("transform.translate") | 780 layout.operator("transform.translate") |
770 layout.operator("transform.resize") | 781 layout.operator("transform.resize") |
(...skipping 17 matching lines...) Expand all Loading... | |
788 | 799 |
789 layout.menu("CLIP_MT_select_grouped") | 800 layout.menu("CLIP_MT_select_grouped") |
790 | 801 |
791 | 802 |
792 class CLIP_MT_select_grouped(Menu): | 803 class CLIP_MT_select_grouped(Menu): |
793 bl_label = "Select Grouped" | 804 bl_label = "Select Grouped" |
794 | 805 |
795 def draw(self, context): | 806 def draw(self, context): |
796 layout = self.layout | 807 layout = self.layout |
797 | 808 |
798 sc = context.space_data | 809 layout.operator_enum("clip.select_grouped", "group") |
799 | |
800 op = layout.operator("clip.select_grouped", text="Select Keyframed") | |
801 op.group = 'KEYFRAMED' | |
802 | |
803 op = layout.operator("clip.select_grouped", text="Select Estimated") | |
804 op.group = 'ESTIMATED' | |
805 | |
806 op = layout.operator("clip.select_grouped", text="Select Tracked") | |
807 op.group = 'TRACKED' | |
808 | |
809 op = layout.operator("clip.select_grouped", text="Select Locked") | |
810 op.group = 'LOCKED' | |
811 | |
812 op = layout.operator("clip.select_grouped", text="Select Disabled") | |
813 op.group = 'DISABLED' | |
814 | |
815 op = layout.operator("clip.select_grouped", text="Select Failed") | |
816 op.group = 'FAILED' | |
817 | |
818 op = layout.operator("clip.select_grouped", text="Select by Color") | |
819 op.group = 'COLOR' | |
820 | 810 |
821 | 811 |
822 class CLIP_MT_tracking_specials(Menu): | 812 class CLIP_MT_tracking_specials(Menu): |
823 bl_label = "Specials" | 813 bl_label = "Specials" |
824 | 814 |
825 @classmethod | 815 @classmethod |
826 def poll(cls, context): | 816 def poll(cls, context): |
827 return context.space_data.clip | 817 return context.space_data.clip |
828 | 818 |
829 def draw(self, context): | 819 def draw(self, context): |
830 layout = self.layout | 820 layout = self.layout |
831 | 821 |
832 op = layout.operator("clip.disable_markers", text="Enable Markers") | 822 props = layout.operator("clip.disable_markers", text="Enable Markers") |
833 op.action = 'ENABLE' | 823 props.action = 'ENABLE' |
834 | 824 |
835 op = layout.operator("clip.disable_markers", text="Disable markers") | 825 props = layout.operator("clip.disable_markers", text="Disable markers") |
836 op.action = 'DISABLE' | 826 props.action = 'DISABLE' |
837 | 827 |
838 layout.separator() | 828 layout.separator() |
839 layout.operator("clip.set_origin") | 829 layout.operator("clip.set_origin") |
840 | 830 |
841 layout.separator() | 831 layout.separator() |
842 layout.operator("clip.hide_tracks") | 832 layout.operator("clip.hide_tracks") |
843 layout.operator("clip.hide_tracks_clear", text="Show Tracks") | 833 layout.operator("clip.hide_tracks_clear", text="Show Tracks") |
844 | 834 |
845 layout.separator() | 835 layout.separator() |
846 op = layout.operator("clip.lock_tracks", text="Lock Tracks") | 836 props = layout.operator("clip.lock_tracks", text="Lock Tracks") |
847 op.action = 'LOCK' | 837 props.action = 'LOCK' |
848 | 838 |
849 op = layout.operator("clip.lock_tracks", text="Unlock Tracks") | 839 props = layout.operator("clip.lock_tracks", text="Unlock Tracks") |
850 op.action = 'UNLOCK' | 840 props.action = 'UNLOCK' |
851 | 841 |
852 | 842 |
853 class CLIP_MT_camera_presets(Menu): | 843 class CLIP_MT_camera_presets(Menu): |
854 bl_label = "Camera Presets" | 844 bl_label = "Camera Presets" |
855 preset_subdir = "tracking_camera" | 845 preset_subdir = "tracking_camera" |
856 preset_operator = "script.execute_preset" | 846 preset_operator = "script.execute_preset" |
857 draw = bpy.types.Menu.draw_preset | 847 draw = bpy.types.Menu.draw_preset |
858 | 848 |
859 | 849 |
860 class CLIP_MT_track_color_presets(Menu): | 850 class CLIP_MT_track_color_presets(Menu): |
(...skipping 13 matching lines...) Expand all Loading... | |
874 | 864 |
875 | 865 |
876 class CLIP_MT_stabilize_2d_specials(Menu): | 866 class CLIP_MT_stabilize_2d_specials(Menu): |
877 bl_label = "Track Color Specials" | 867 bl_label = "Track Color Specials" |
878 | 868 |
879 def draw(self, context): | 869 def draw(self, context): |
880 layout = self.layout | 870 layout = self.layout |
881 | 871 |
882 layout.operator('clip.stabilize_2d_select') | 872 layout.operator('clip.stabilize_2d_select') |
883 | 873 |
884 | |
885 if __name__ == "__main__": # only for live edit. | 874 if __name__ == "__main__": # only for live edit. |
886 bpy.utils.register_module(__name__) | 875 bpy.utils.register_module(__name__) |
LEFT | RIGHT |