Changeset View
Standalone View
release/scripts/startup/bl_ui/space_sequencer.py
| Context not available. | |||||
| col.prop(strip, "color_multiply", text="Multiply") | col.prop(strip, "color_multiply", text="Multiply") | ||||
| layout.prop(strip, "use_float", text="Convert to Float") | layout.prop(strip, "use_float", text="Convert to Float") | ||||
| class SEQUENCER_PT_proxy_global(SequencerButtonsPanel, Panel): | |||||
ISS: These are details, but keep class names and displayed text consistent - not necessarily… | |||||
| bl_label = "Proxy/Timecode" | |||||
ISSUnsubmitted Done Inline ActionsPanel with this label already exists. Specify, that this is panel for "global" settings. I would rather use "Proxy settings" or "Sequencer proxy settings". ISS: Panel with this label already exists. Specify, that this is panel for "global" settings. I… | |||||
| bl_category = "Strip" | |||||
ISSUnsubmitted Done Inline ActionsI would create a new category for both proxy panels. "Proxy" would be good name.
ISS: I would create a new category for both proxy panels. "Proxy" would be good name.
- It makes… | |||||
| @classmethod | |||||
| def poll(cls, context): | |||||
| if not cls.has_sequencer(context): | |||||
| return False | |||||
| return True | |||||
ISSUnsubmitted Done Inline ActionsYou can do return cls.has_sequencer(context) ISS: You can do `return cls.has_sequencer(context)`
Haven't seen explicit `return True` in this file. | |||||
| def draw_header(self, context): | |||||
ISSUnsubmitted Done Inline ActionsThis method placeholder should be removed, if not used ISS: This method placeholder should be removed, if not used | |||||
| pass | |||||
| def draw(self, context): | |||||
| layout = self.layout | |||||
| ed = context.scene.sequence_editor | |||||
| flow = layout.column_flow() | |||||
| flow.prop(ed, "proxy_storage", text="Storage") | |||||
| if ed.proxy_storage == 'PROJECT': | |||||
| flow.prop(ed, "proxy_dir", text="Directory") | |||||
Done Inline ActionsThese are details, but keep class names and displayed text consistent - not necessarily verbatim, but at least word order ISS: These are details, but keep class names and displayed text consistent - not necessarily… | |||||
| col = layout.column() | |||||
| col.operator("sequencer.enable_proxies") | |||||
| col.operator("sequencer.rebuild_proxy") | |||||
ISSUnsubmitted Done Inline ActionsIssue here is, that these operators do work on selection. Even worse is, that they don't have poll function defined, so user can click it and it makes a visible action, that has no effect. There are few ways to solve this:
Any of first two options will do for me. ISS: Issue here is, that these operators do work on selection. Even worse is, that they don't have… | |||||
| class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): | class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): | ||||
ISSUnsubmitted Done Inline ActionsI would also change class name SEQUENCER_PT_strip_proxy ISS: I would also change class name `SEQUENCER_PT_strip_proxy` | |||||
| bl_label = "Proxy/Timecode" | bl_label = "Strip Proxy/Timecode" | ||||
| bl_category = "Strip" | bl_category = "Strip" | ||||
ISSUnsubmitted Done Inline ActionsI would create a new category for both proxy panels. "Proxy" would be good name. ISS: I would create a new category for both proxy panels. "Proxy" would be good name. | |||||
| @classmethod | @classmethod | ||||
| Context not available. | |||||
| if not strip: | if not strip: | ||||
| return False | return False | ||||
| return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'META', 'MULTICAM'} | return strip.type in {'MOVIE'} | ||||
ISSUnsubmitted Done Inline ActionsInclude also image and meta type. Images:
Meta will build proxies for included movies. ISS: Include also image and meta type.
Images:
- it has to be supported somehow
- it works and… | |||||
| def draw_header(self, context): | def draw_header(self, context): | ||||
| strip = act_strip(context) | strip = act_strip(context) | ||||
| Context not available. | |||||
| proxy = strip.proxy | proxy = strip.proxy | ||||
| flow = layout.column_flow() | flow = layout.column_flow() | ||||
| flow.prop(ed, "proxy_storage", text="Storage") | if ed.proxy_storage == 'STRIP': | ||||
| if ed.proxy_storage == 'PROJECT': | |||||
| flow.prop(ed, "proxy_dir", text="Directory") | |||||
| else: | |||||
| flow.prop(proxy, "use_proxy_custom_directory") | flow.prop(proxy, "use_proxy_custom_directory") | ||||
| flow.prop(proxy, "use_proxy_custom_file") | flow.prop(proxy, "use_proxy_custom_file") | ||||
| Context not available. | |||||
| col.prop(proxy, "timecode") | col.prop(proxy, "timecode") | ||||
| col = layout.column() | |||||
| col.operator("sequencer.enable_proxies") | |||||
| col.operator("sequencer.rebuild_proxy") | |||||
| class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel): | class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel): | ||||
| bl_label = "Scene Preview/Render" | bl_label = "Scene Preview/Render" | ||||
| Context not available. | |||||
| SEQUENCER_PT_scene, | SEQUENCER_PT_scene, | ||||
| SEQUENCER_PT_mask, | SEQUENCER_PT_mask, | ||||
| SEQUENCER_PT_filter, | SEQUENCER_PT_filter, | ||||
| SEQUENCER_PT_proxy_global, | |||||
| SEQUENCER_PT_proxy, | SEQUENCER_PT_proxy, | ||||
| SEQUENCER_PT_preview, | SEQUENCER_PT_preview, | ||||
| SEQUENCER_PT_view, | SEQUENCER_PT_view, | ||||
| Context not available. | |||||
These are details, but keep class names and displayed text consistent - not necessarily verbatim, but at least word order