UI: Use enum for Sequencer vs 3D Camera input in Scene panel in Sequencer sidebar

Also move Time and Source below other panels for consistency
This commit is contained in:
William Reynish 2019-06-21 20:01:08 +02:00
parent e60a01483f
commit 84040b8613
2 changed files with 21 additions and 11 deletions

View File

@ -1217,6 +1217,7 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel):
def draw(self, context):
layout = self.layout
layout.use_property_split = True
layout.use_property_decorate = False
strip = act_strip(context)
@ -1225,22 +1226,21 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel):
layout.template_ID(strip, "scene")
scene = strip.scene
layout.prop(strip, "use_sequence")
layout.prop(strip, "scene_input")
if scene:
layout.prop(scene, "audio_volume", text="Volume")
if not strip.use_sequence:
if strip.scene_input == '3D_CAMERA':
layout.alignment = 'RIGHT'
sub = layout.column(align=True)
split = sub.split(factor=0.5, align=True)
split.alignment = 'RIGHT'
split.label(text="Camera Override")
split.label(text="Camera")
split.template_ID(strip, "scene_camera")
layout.prop(strip, "use_grease_pencil", text="Show Grease Pencil")
if not strip.use_sequence:
if scene:
# Warning, this is not a good convention to follow.
# Expose here because setting the alpha from the 'Render' menu is very inconvenient.
@ -2018,13 +2018,13 @@ classes = (
SEQUENCER_PT_adjust_color,
SEQUENCER_PT_adjust_sound,
SEQUENCER_PT_time,
SEQUENCER_PT_source,
SEQUENCER_PT_effect,
SEQUENCER_PT_scene,
SEQUENCER_PT_mask,
SEQUENCER_PT_time,
SEQUENCER_PT_source,
SEQUENCER_PT_modifiers,
SEQUENCER_PT_cache_settings,

View File

@ -2208,6 +2208,16 @@ static void rna_def_scene(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
static const EnumPropertyItem scene_input_items[] = {
{0, "3D_CAMERA", ICON_VIEW3D, "3D Camera", "Use the Scene's 3D camera as input"},
{SEQ_SCENE_STRIPS,
"SEQUENCE",
ICON_SEQUENCE,
"Sequence",
"Use the Scene's Sequencer timeline as input"},
{0, NULL, 0, NULL, NULL},
};
srna = RNA_def_struct(brna, "SceneSequence", "Sequence");
RNA_def_struct_ui_text(
srna, "Scene Sequence", "Sequence strip to used the rendered image of a scene");
@ -2224,10 +2234,10 @@ static void rna_def_scene(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Camera Override", "Override the scenes active camera");
RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_raw_update");
prop = RNA_def_property(srna, "use_sequence", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_SCENE_STRIPS);
RNA_def_property_ui_text(
prop, "Use Sequence", "Use scenes sequence strips directly, instead of rendering");
prop = RNA_def_property(srna, "scene_input", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
RNA_def_property_enum_items(prop, scene_input_items);
RNA_def_property_ui_text(prop, "Input", "Input type to use for the Scene strip");
RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_use_sequence");
prop = RNA_def_property(srna, "use_grease_pencil", PROP_BOOLEAN, PROP_NONE);