Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/startup/bl_ui/properties_output.py
| Show All 36 Lines | class RenderOutputButtonsPanel: | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| return (context.engine in cls.COMPAT_ENGINES) | return (context.engine in cls.COMPAT_ENGINES) | ||||
| class RENDER_PT_format(RenderOutputButtonsPanel, Panel): | class RENDER_PT_format(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Format" | bl_label = "Format" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| _frame_rate_args_prev = None | _frame_rate_args_prev = None | ||||
| _preset_class = None | _preset_class = None | ||||
| def draw_header_preset(self, _context): | def draw_header_preset(self, _context): | ||||
| RENDER_PT_format_presets.draw_panel_header(self.layout) | RENDER_PT_format_presets.draw_panel_header(self.layout) | ||||
| @staticmethod | @staticmethod | ||||
| ▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | def draw(self, context): | ||||
| sub.prop(rd, "use_crop_to_border") | sub.prop(rd, "use_crop_to_border") | ||||
| col = layout.column(heading="Frame Rate") | col = layout.column(heading="Frame Rate") | ||||
| self.draw_framerate(col, rd) | self.draw_framerate(col, rd) | ||||
| class RENDER_PT_frame_range(RenderOutputButtonsPanel, Panel): | class RENDER_PT_frame_range(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Frame Range" | bl_label = "Frame Range" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.use_property_decorate = False # No animation. | layout.use_property_decorate = False # No animation. | ||||
| scene = context.scene | scene = context.scene | ||||
| col = layout.column(align=True) | col = layout.column(align=True) | ||||
| col.prop(scene, "frame_start", text="Frame Start") | col.prop(scene, "frame_start", text="Frame Start") | ||||
| col.prop(scene, "frame_end", text="End") | col.prop(scene, "frame_end", text="End") | ||||
| col.prop(scene, "frame_step", text="Step") | col.prop(scene, "frame_step", text="Step") | ||||
| class RENDER_PT_time_stretching(RenderOutputButtonsPanel, Panel): | class RENDER_PT_time_stretching(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Time Stretching" | bl_label = "Time Stretching" | ||||
| bl_parent_id = "RENDER_PT_frame_range" | bl_parent_id = "RENDER_PT_frame_range" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.use_property_decorate = False # No animation. | layout.use_property_decorate = False # No animation. | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| col = layout.column(align=True) | col = layout.column(align=True) | ||||
| col.prop(rd, "frame_map_old", text="Old") | col.prop(rd, "frame_map_old", text="Old") | ||||
| col.prop(rd, "frame_map_new", text="New") | col.prop(rd, "frame_map_new", text="New") | ||||
| class RENDER_PT_post_processing(RenderOutputButtonsPanel, Panel): | class RENDER_PT_post_processing(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Post Processing" | bl_label = "Post Processing" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| col = layout.column(heading="Pipeline") | col = layout.column(heading="Pipeline") | ||||
| col.prop(rd, "use_compositing") | col.prop(rd, "use_compositing") | ||||
| col.prop(rd, "use_sequencer") | col.prop(rd, "use_sequencer") | ||||
| layout.prop(rd, "dither_intensity", text="Dither", slider=True) | layout.prop(rd, "dither_intensity", text="Dither", slider=True) | ||||
| class RENDER_PT_stamp(RenderOutputButtonsPanel, Panel): | class RENDER_PT_stamp(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Metadata" | bl_label = "Metadata" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.use_property_decorate = False # No animation. | layout.use_property_decorate = False # No animation. | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| Show All 17 Lines | def draw(self, context): | ||||
| if rd.use_sequencer: | if rd.use_sequencer: | ||||
| col.prop(rd, "use_stamp_sequencer_strip", text="Strip Name") | col.prop(rd, "use_stamp_sequencer_strip", text="Strip Name") | ||||
| class RENDER_PT_stamp_note(RenderOutputButtonsPanel, Panel): | class RENDER_PT_stamp_note(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Note" | bl_label = "Note" | ||||
| bl_parent_id = "RENDER_PT_stamp" | bl_parent_id = "RENDER_PT_stamp" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw_header(self, context): | def draw_header(self, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| self.layout.prop(rd, "use_stamp_note", text="") | self.layout.prop(rd, "use_stamp_note", text="") | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| layout.active = rd.use_stamp_note | layout.active = rd.use_stamp_note | ||||
| layout.prop(rd, "stamp_note_text", text="") | layout.prop(rd, "stamp_note_text", text="") | ||||
| class RENDER_PT_stamp_burn(RenderOutputButtonsPanel, Panel): | class RENDER_PT_stamp_burn(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Burn Into Image" | bl_label = "Burn Into Image" | ||||
| bl_parent_id = "RENDER_PT_stamp" | bl_parent_id = "RENDER_PT_stamp" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw_header(self, context): | def draw_header(self, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| self.layout.prop(rd, "use_stamp", text="") | self.layout.prop(rd, "use_stamp", text="") | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| col = layout.column() | col = layout.column() | ||||
| col.active = rd.use_stamp | col.active = rd.use_stamp | ||||
| col.prop(rd, "stamp_font_size", text="Font Size") | col.prop(rd, "stamp_font_size", text="Font Size") | ||||
| col.column().prop(rd, "stamp_foreground", slider=True) | col.column().prop(rd, "stamp_foreground", slider=True) | ||||
| col.column().prop(rd, "stamp_background", slider=True) | col.column().prop(rd, "stamp_background", slider=True) | ||||
| col.prop(rd, "use_stamp_labels", text="Include Labels") | col.prop(rd, "use_stamp_labels", text="Include Labels") | ||||
| class RENDER_PT_output(RenderOutputButtonsPanel, Panel): | class RENDER_PT_output(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Output" | bl_label = "Output" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = False | layout.use_property_split = False | ||||
| layout.use_property_decorate = False # No animation. | layout.use_property_decorate = False # No animation. | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| image_settings = rd.image_settings | image_settings = rd.image_settings | ||||
| Show All 12 Lines | def draw(self, context): | ||||
| col = layout.column(heading="Image Sequence") | col = layout.column(heading="Image Sequence") | ||||
| col.prop(rd, "use_overwrite") | col.prop(rd, "use_overwrite") | ||||
| col.prop(rd, "use_placeholder") | col.prop(rd, "use_placeholder") | ||||
| class RENDER_PT_output_views(RenderOutputButtonsPanel, Panel): | class RENDER_PT_output_views(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Views" | bl_label = "Views" | ||||
| bl_parent_id = "RENDER_PT_output" | bl_parent_id = "RENDER_PT_output" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| return rd.use_multiview | return rd.use_multiview | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = False | layout.use_property_split = False | ||||
| layout.use_property_decorate = False # No animation. | layout.use_property_decorate = False # No animation. | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| layout.template_image_views(rd.image_settings) | layout.template_image_views(rd.image_settings) | ||||
| class RENDER_PT_output_color_management(RenderOutputButtonsPanel, Panel): | class RENDER_PT_output_color_management(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Color Management" | bl_label = "Color Management" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| bl_parent_id = "RENDER_PT_output" | bl_parent_id = "RENDER_PT_output" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| scene = context.scene | scene = context.scene | ||||
| image_settings = scene.render.image_settings | image_settings = scene.render.image_settings | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.use_property_decorate = False # No animation. | layout.use_property_decorate = False # No animation. | ||||
| Show All 18 Lines | def draw(self, context): | ||||
| col.separator() | col.separator() | ||||
| col.template_colormanaged_view_settings(owner, "view_settings") | col.template_colormanaged_view_settings(owner, "view_settings") | ||||
| class RENDER_PT_encoding(RenderOutputButtonsPanel, Panel): | class RENDER_PT_encoding(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Encoding" | bl_label = "Encoding" | ||||
| bl_parent_id = "RENDER_PT_output" | bl_parent_id = "RENDER_PT_output" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw_header_preset(self, _context): | def draw_header_preset(self, _context): | ||||
| RENDER_PT_ffmpeg_presets.draw_panel_header(self.layout) | RENDER_PT_ffmpeg_presets.draw_panel_header(self.layout) | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'} | return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.use_property_decorate = False | layout.use_property_decorate = False | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| ffmpeg = rd.ffmpeg | ffmpeg = rd.ffmpeg | ||||
| layout.prop(rd.ffmpeg, "format") | layout.prop(rd.ffmpeg, "format") | ||||
| layout.prop(ffmpeg, "use_autosplit") | layout.prop(ffmpeg, "use_autosplit") | ||||
| class RENDER_PT_encoding_video(RenderOutputButtonsPanel, Panel): | class RENDER_PT_encoding_video(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Video" | bl_label = "Video" | ||||
| bl_parent_id = "RENDER_PT_encoding" | bl_parent_id = "RENDER_PT_encoding" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'} | return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| ▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | def draw_vcodec(self, context): | ||||
| col.prop(ffmpeg, "muxrate", text="Mux Rate") | col.prop(ffmpeg, "muxrate", text="Mux Rate") | ||||
| col.prop(ffmpeg, "packetsize", text="Mux Packet Size") | col.prop(ffmpeg, "packetsize", text="Mux Packet Size") | ||||
| class RENDER_PT_encoding_audio(RenderOutputButtonsPanel, Panel): | class RENDER_PT_encoding_audio(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Audio" | bl_label = "Audio" | ||||
| bl_parent_id = "RENDER_PT_encoding" | bl_parent_id = "RENDER_PT_encoding" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'} | return rd.image_settings.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| Show All 25 Lines | def draw_item(self, _context, layout, _data, item, icon, _active_data, _active_propname, index): | ||||
| elif self.layout_type == 'GRID': | elif self.layout_type == 'GRID': | ||||
| layout.alignment = 'CENTER' | layout.alignment = 'CENTER' | ||||
| layout.label(text="", icon_value=icon + (not view.use)) | layout.label(text="", icon_value=icon + (not view.use)) | ||||
| class RENDER_PT_stereoscopy(RenderOutputButtonsPanel, Panel): | class RENDER_PT_stereoscopy(RenderOutputButtonsPanel, Panel): | ||||
| bl_label = "Stereoscopy" | bl_label = "Stereoscopy" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| def draw_header(self, context): | def draw_header(self, context): | ||||
| rd = context.scene.render | rd = context.scene.render | ||||
| self.layout.prop(rd, "use_multiview", text="") | self.layout.prop(rd, "use_multiview", text="") | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| ▲ Show 20 Lines • Show All 59 Lines • Show Last 20 Lines | |||||