Render sequences

This commit is contained in:
ChristopheSeux
2024-03-14 17:44:05 +01:00
parent 688a06dffd
commit ac14fe5ba9
9 changed files with 237 additions and 91 deletions
+54 -9
View File
@@ -19,7 +19,7 @@ from pprint import pprint as pp
from vse_toolbox.bl_utils import get_addon_prefs, get_scene_settings
from vse_toolbox.constants import ASSET_PREVIEWS, TRACKERS, PREVIEWS_DIR
from vse_toolbox.file_utils import norm_str, parse
from vse_toolbox.sequencer_utils import get_strip_sequence_name
from vse_toolbox.sequencer_utils import get_strip_sequence_name, get_channel_name
from vse_toolbox import constants
@@ -104,6 +104,7 @@ class MetadataType(PropertyGroup):
choices : CollectionProperty(type=PropertyGroup)#EnumProperty(items=lambda s, c: [(c, c.replace(' ', '_').upper(), '') for c in s['choices']])
field_name : StringProperty()
entity_type : StringProperty()
data_type : StringProperty()
class TaskType(PropertyGroup):
@@ -117,6 +118,22 @@ class TaskStatus(PropertyGroup):
class Metadata(CollectionPropertyGroup):
__annotations__ = {}
def to_dict(self, use_name=True):
settings = get_scene_settings()
data = {}
for prop in self.props():
name = prop.name
if not use_name:
name = prop.identifier
metadata_type = settings.active_project.metadata_types[prop.name]
value = getattr(self, prop.identifier)
if metadata_type.data_type == 'boolean':
value = 'true' if value else 'false'
data[name] = value
return data
class ShotTasks(PropertyGroup):
__annotations__ = {}
@@ -249,11 +266,26 @@ class Project(PropertyGroup):
render_audio_strip_template: StringProperty(
name="Sound Path", default="//render/sounds/{strip}.wav")
render_video: BoolProperty(name="Render Video", default=False)
render_video_sequence_template : StringProperty(
name="Sequence Path", default="//render/sequences/{sequence}.{ext}")
render_audio_sequence_template: StringProperty(
name="Sound Path", default="//render/sounds/{sequence}.wav")
render_single_file: BoolProperty(name="Render Single File", default=False)
render_sequence: BoolProperty(name="Render Sequences", default=False)
render_shot: BoolProperty(name="Render Shots", default=True)
render_selected_only: BoolProperty(name="Render Selected Only", default=True)
render_video: BoolProperty(name="Render Video", default=True)
render_audio: BoolProperty(name="Render Audio", default=False)
render_video_per_strip: BoolProperty(name="Render video per strip", default=True)
render_audio_per_strip: BoolProperty(name="Render audio per strip", default=False)
render_video_per_sequence: BoolProperty(name="Render video per sequence", default=True)
render_audio_per_sequence: BoolProperty(name="Render audio per sequence", default=False)
render_video_per_strip: BoolProperty(name="Render video per shot", default=True)
render_audio_per_strip: BoolProperty(name="Render audio per shot", default=False)
#render_sound_format: EnumProperty(items=[(e, e, '') for e in ('mp3', 'wav')])
export_edl_template : StringProperty(
@@ -606,11 +638,24 @@ class VSETB_PGT_strip_settings(PropertyGroup):
project = settings.active_project
strip = self.strip
data = parse(strip.name, template=project.shot_template)
data['index'] = int(data['index'])
data['sequence'] = get_strip_sequence_name(strip)
data['strip'] = strip.name
#data['shot'] = project.shot_template
channel = get_channel_name(strip)
if channel == 'Sequences':
data = parse(strip.name, template=project.sequence_template)
data['index'] = int(data['index'])
data['sequence'] = strip.name
data['strip'] = strip.name
#data['shot'] = project.shot_template
elif channel == "Shots":
data = parse(strip.name, template=project.shot_template)
data['index'] = int(data['index'])
data['sequence'] = get_strip_sequence_name(strip)
data['strip'] = strip.name
#data['shot'] = project.shot_template
else:
return {}
return data