mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Merge branch 'develop' into enhancement/AY-6092_allow_update_between_compatible_representations
This commit is contained in:
commit
57cfcb4d57
31 changed files with 7291 additions and 172 deletions
|
|
@ -28,7 +28,8 @@ class AddLastWorkfileToLaunchArgs(PreLaunchHook):
|
|||
"substancepainter",
|
||||
"aftereffects",
|
||||
"wrap",
|
||||
"openrv"
|
||||
"openrv",
|
||||
"cinema4d"
|
||||
}
|
||||
launch_types = {LaunchTypes.local}
|
||||
|
||||
|
|
|
|||
|
|
@ -1152,9 +1152,7 @@ def convert_colorspace(
|
|||
input_arg, input_path,
|
||||
# Tell oiiotool which channels should be put to top stack
|
||||
# (and output)
|
||||
"--ch", channels_arg,
|
||||
# Use first subimage
|
||||
"--subimage", "0"
|
||||
"--ch", channels_arg
|
||||
])
|
||||
|
||||
if all([target_colorspace, view, display]):
|
||||
|
|
@ -1168,12 +1166,12 @@ def convert_colorspace(
|
|||
oiio_cmd.extend(additional_command_args)
|
||||
|
||||
if target_colorspace:
|
||||
oiio_cmd.extend(["--colorconvert",
|
||||
oiio_cmd.extend(["--colorconvert:subimages=0",
|
||||
source_colorspace,
|
||||
target_colorspace])
|
||||
if view and display:
|
||||
oiio_cmd.extend(["--iscolorspace", source_colorspace])
|
||||
oiio_cmd.extend(["--ociodisplay", display, view])
|
||||
oiio_cmd.extend(["--ociodisplay:subimages=0", display, view])
|
||||
|
||||
oiio_cmd.extend(["-o", output_path])
|
||||
|
||||
|
|
|
|||
|
|
@ -132,7 +132,10 @@ def install_host(host):
|
|||
|
||||
def modified_emit(obj, record):
|
||||
"""Method replacing `emit` in Pyblish's MessageHandler."""
|
||||
record.msg = record.getMessage()
|
||||
try:
|
||||
record.msg = record.getMessage()
|
||||
except Exception:
|
||||
record.msg = str(record.msg)
|
||||
obj.records.append(record)
|
||||
|
||||
MessageHandler.emit = modified_emit
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ def trim_media_range(media_range, source_range):
|
|||
|
||||
"""
|
||||
rw_media_start = _ot.RationalTime(
|
||||
media_range.start_time.value + source_range.start_time.value,
|
||||
source_range.start_time.value,
|
||||
media_range.start_time.rate
|
||||
)
|
||||
rw_media_duration = _ot.RationalTime(
|
||||
|
|
@ -173,11 +173,145 @@ def _sequence_resize(source, length):
|
|||
yield (1 - ratio) * source[int(low)] + ratio * source[int(high)]
|
||||
|
||||
|
||||
def is_clip_from_media_sequence(otio_clip):
|
||||
"""
|
||||
Args:
|
||||
otio_clip (otio.schema.Clip): The OTIO clip to check.
|
||||
|
||||
Returns:
|
||||
bool. Is the provided clip from an input media sequence ?
|
||||
"""
|
||||
media_ref = otio_clip.media_reference
|
||||
metadata = media_ref.metadata
|
||||
|
||||
# OpenTimelineIO 0.13 and newer
|
||||
is_input_sequence = (
|
||||
hasattr(otio.schema, "ImageSequenceReference") and
|
||||
isinstance(media_ref, otio.schema.ImageSequenceReference)
|
||||
)
|
||||
|
||||
# OpenTimelineIO 0.12 and older
|
||||
is_input_sequence_legacy = bool(metadata.get("padding"))
|
||||
|
||||
return is_input_sequence or is_input_sequence_legacy
|
||||
|
||||
|
||||
def remap_range_on_file_sequence(otio_clip, in_out_range):
|
||||
"""
|
||||
Args:
|
||||
otio_clip (otio.schema.Clip): The OTIO clip to check.
|
||||
in_out_range (tuple[float, float]): The in-out range to remap.
|
||||
|
||||
Returns:
|
||||
tuple(int, int): The remapped range as discrete frame number.
|
||||
|
||||
Raises:
|
||||
ValueError. When the otio_clip or provided range is invalid.
|
||||
"""
|
||||
if not is_clip_from_media_sequence(otio_clip):
|
||||
raise ValueError(f"Cannot map on non-file sequence clip {otio_clip}.")
|
||||
|
||||
try:
|
||||
media_in_trimmed, media_out_trimmed = in_out_range
|
||||
|
||||
except ValueError as error:
|
||||
raise ValueError("Invalid in_out_range provided.") from error
|
||||
|
||||
media_ref = otio_clip.media_reference
|
||||
available_range = otio_clip.available_range()
|
||||
source_range = otio_clip.source_range
|
||||
available_range_rate = available_range.start_time.rate
|
||||
media_in = available_range.start_time.value
|
||||
|
||||
# Temporary.
|
||||
# Some AYON custom OTIO exporter were implemented with relative
|
||||
# source range for image sequence. Following code maintain
|
||||
# backward-compatibility by adjusting media_in
|
||||
# while we are updating those.
|
||||
if (
|
||||
is_clip_from_media_sequence(otio_clip)
|
||||
and otio_clip.available_range().start_time.to_frames() == media_ref.start_frame
|
||||
and source_range.start_time.to_frames() < media_ref.start_frame
|
||||
):
|
||||
media_in = 0
|
||||
|
||||
frame_in = otio.opentime.RationalTime.from_frames(
|
||||
media_in_trimmed - media_in + media_ref.start_frame,
|
||||
rate=available_range_rate,
|
||||
).to_frames()
|
||||
frame_out = otio.opentime.RationalTime.from_frames(
|
||||
media_out_trimmed - media_in + media_ref.start_frame,
|
||||
rate=available_range_rate,
|
||||
).to_frames()
|
||||
|
||||
return frame_in, frame_out
|
||||
|
||||
|
||||
def get_media_range_with_retimes(otio_clip, handle_start, handle_end):
|
||||
source_range = otio_clip.source_range
|
||||
available_range = otio_clip.available_range()
|
||||
media_in = available_range.start_time.value
|
||||
media_out = available_range.end_time_inclusive().value
|
||||
available_range_rate = available_range.start_time.rate
|
||||
|
||||
# If media source is an image sequence, returned
|
||||
# mediaIn/mediaOut have to correspond
|
||||
# to frame numbers from source sequence.
|
||||
media_ref = otio_clip.media_reference
|
||||
is_input_sequence = is_clip_from_media_sequence(otio_clip)
|
||||
|
||||
# Temporary.
|
||||
# Some AYON custom OTIO exporter were implemented with relative
|
||||
# source range for image sequence. Following code maintain
|
||||
# backward-compatibility by adjusting available range
|
||||
# while we are updating those.
|
||||
if (
|
||||
is_input_sequence
|
||||
and available_range.start_time.to_frames() == media_ref.start_frame
|
||||
and source_range.start_time.to_frames() < media_ref.start_frame
|
||||
):
|
||||
available_range = _ot.TimeRange(
|
||||
_ot.RationalTime(0, rate=available_range_rate),
|
||||
available_range.duration,
|
||||
)
|
||||
|
||||
# Conform source range bounds to available range rate
|
||||
# .e.g. embedded TC of (3600 sec/ 1h), duration 100 frames
|
||||
#
|
||||
# available |----------------------------------------| 24fps
|
||||
# 86400 86500
|
||||
#
|
||||
#
|
||||
# 90010 90060
|
||||
# src |-----|______duration 2s___|----| 25fps
|
||||
# 90000
|
||||
#
|
||||
#
|
||||
# 86409.6 86466.8
|
||||
# conformed |-------|_____duration _2.38s____|-------| 24fps
|
||||
# 86400
|
||||
#
|
||||
# Note that 24fps is slower than 25fps hence extended duration
|
||||
# to preserve media range
|
||||
|
||||
# Compute new source range based on available rate.
|
||||
|
||||
# Backward-compatibility for Hiero OTIO exporter.
|
||||
# NTSC compatibility might introduce floating rates, when these are
|
||||
# not exactly the same (23.976 vs 23.976024627685547)
|
||||
# this will cause precision issue in computation.
|
||||
# Currently round to 2 decimals for comparison,
|
||||
# but this should always rescale after that.
|
||||
rounded_av_rate = round(available_range_rate, 2)
|
||||
rounded_src_rate = round(source_range.start_time.rate, 2)
|
||||
if rounded_av_rate != rounded_src_rate:
|
||||
conformed_src_in = source_range.start_time.rescaled_to(available_range_rate)
|
||||
conformed_src_duration = source_range.duration.rescaled_to(available_range_rate)
|
||||
conformed_source_range = otio.opentime.TimeRange(
|
||||
start_time=conformed_src_in,
|
||||
duration=conformed_src_duration
|
||||
)
|
||||
|
||||
else:
|
||||
conformed_source_range = source_range
|
||||
|
||||
# modifiers
|
||||
time_scalar = 1.
|
||||
|
|
@ -224,38 +358,51 @@ def get_media_range_with_retimes(otio_clip, handle_start, handle_end):
|
|||
offset_in *= time_scalar
|
||||
offset_out *= time_scalar
|
||||
|
||||
# filip offset if reversed speed
|
||||
if time_scalar < 0:
|
||||
_offset_in = offset_out
|
||||
_offset_out = offset_in
|
||||
offset_in = _offset_in
|
||||
offset_out = _offset_out
|
||||
|
||||
# scale handles
|
||||
handle_start *= abs(time_scalar)
|
||||
handle_end *= abs(time_scalar)
|
||||
|
||||
# filip handles if reversed speed
|
||||
# flip offset and handles if reversed speed
|
||||
if time_scalar < 0:
|
||||
_handle_start = handle_end
|
||||
_handle_end = handle_start
|
||||
handle_start = _handle_start
|
||||
handle_end = _handle_end
|
||||
offset_in, offset_out = offset_out, offset_in
|
||||
handle_start, handle_end = handle_end, handle_start
|
||||
|
||||
source_in = source_range.start_time.value
|
||||
# compute retimed range
|
||||
media_in_trimmed = conformed_source_range.start_time.value + offset_in
|
||||
media_out_trimmed = media_in_trimmed + (
|
||||
(
|
||||
conformed_source_range.duration.value
|
||||
* abs(time_scalar)
|
||||
+ offset_out
|
||||
) - 1
|
||||
)
|
||||
|
||||
media_in_trimmed = (
|
||||
media_in + source_in + offset_in)
|
||||
media_out_trimmed = (
|
||||
media_in + source_in + (
|
||||
((source_range.duration.value - 1) * abs(
|
||||
time_scalar)) + offset_out))
|
||||
media_in = available_range.start_time.value
|
||||
media_out = available_range.end_time_inclusive().value
|
||||
|
||||
# calculate available handles
|
||||
# If media source is an image sequence, returned
|
||||
# mediaIn/mediaOut have to correspond
|
||||
# to frame numbers from source sequence.
|
||||
if is_input_sequence:
|
||||
# preserve discrete frame numbers
|
||||
media_in_trimmed, media_out_trimmed = remap_range_on_file_sequence(
|
||||
otio_clip,
|
||||
(media_in_trimmed, media_out_trimmed)
|
||||
)
|
||||
media_in = media_ref.start_frame
|
||||
media_out = media_in + available_range.duration.to_frames() - 1
|
||||
|
||||
# adjust available handles if needed
|
||||
if (media_in_trimmed - media_in) < handle_start:
|
||||
handle_start = (media_in_trimmed - media_in)
|
||||
handle_start = max(0, media_in_trimmed - media_in)
|
||||
if (media_out - media_out_trimmed) < handle_end:
|
||||
handle_end = (media_out - media_out_trimmed)
|
||||
handle_end = max(0, media_out - media_out_trimmed)
|
||||
|
||||
# FFmpeg extraction ignores embedded timecode
|
||||
# so substract to get a (mediaIn-mediaOut) range from 0.
|
||||
if not is_input_sequence:
|
||||
media_in_trimmed -= media_in
|
||||
media_out_trimmed -= media_in
|
||||
|
||||
# create version data
|
||||
version_data = {
|
||||
|
|
@ -263,16 +410,16 @@ def get_media_range_with_retimes(otio_clip, handle_start, handle_end):
|
|||
"retime": True,
|
||||
"speed": time_scalar,
|
||||
"timewarps": time_warp_nodes,
|
||||
"handleStart": int(round(handle_start)),
|
||||
"handleEnd": int(round(handle_end))
|
||||
"handleStart": int(handle_start),
|
||||
"handleEnd": int(handle_end)
|
||||
}
|
||||
}
|
||||
|
||||
returning_dict = {
|
||||
"mediaIn": media_in_trimmed,
|
||||
"mediaOut": media_out_trimmed,
|
||||
"handleStart": int(round(handle_start)),
|
||||
"handleEnd": int(round(handle_end)),
|
||||
"handleStart": int(handle_start),
|
||||
"handleEnd": int(handle_end),
|
||||
"speed": time_scalar
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -57,11 +57,12 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
# Not all hosts can import these modules.
|
||||
import opentimelineio as otio
|
||||
from ayon_core.pipeline.editorial import (
|
||||
otio_range_to_frame_range,
|
||||
make_sequence_collection
|
||||
make_sequence_collection,
|
||||
remap_range_on_file_sequence,
|
||||
is_clip_from_media_sequence
|
||||
)
|
||||
|
||||
# TODO refactore from using instance variable
|
||||
# TODO refactor from using instance variable
|
||||
self.temp_file_head = self._get_folder_name_based_prefix(instance)
|
||||
|
||||
# TODO: convert resulting image sequence to mp4
|
||||
|
|
@ -73,8 +74,8 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
otio_review_clips = instance.data["otioReviewClips"]
|
||||
|
||||
# add plugin wide attributes
|
||||
self.representation_files = list()
|
||||
self.used_frames = list()
|
||||
self.representation_files = []
|
||||
self.used_frames = []
|
||||
self.workfile_start = int(instance.data.get(
|
||||
"workfileFrameStart", 1001)) - handle_start
|
||||
self.padding = len(str(self.workfile_start))
|
||||
|
|
@ -99,93 +100,110 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
for index, r_otio_cl in enumerate(otio_review_clips):
|
||||
# QUESTION: what if transition on clip?
|
||||
|
||||
# check if resolution is the same
|
||||
width = self.to_width
|
||||
height = self.to_height
|
||||
otio_media = r_otio_cl.media_reference
|
||||
media_metadata = otio_media.metadata
|
||||
|
||||
# get from media reference metadata source
|
||||
# TODO 'openpype' prefix should be removed (added 24/09/03)
|
||||
# NOTE it looks like it is set only in hiero integration
|
||||
for key in {"ayon.source.width", "openpype.source.width"}:
|
||||
value = media_metadata.get(key)
|
||||
if value is not None:
|
||||
width = int(value)
|
||||
break
|
||||
|
||||
for key in {"ayon.source.height", "openpype.source.height"}:
|
||||
value = media_metadata.get(key)
|
||||
if value is not None:
|
||||
height = int(value)
|
||||
break
|
||||
|
||||
# compare and reset
|
||||
if width != self.to_width:
|
||||
self.to_width = width
|
||||
if height != self.to_height:
|
||||
self.to_height = height
|
||||
|
||||
self.log.debug("> self.to_width x self.to_height: {} x {}".format(
|
||||
self.to_width, self.to_height
|
||||
))
|
||||
|
||||
# get frame range values
|
||||
# Clip: compute process range from available media range.
|
||||
src_range = r_otio_cl.source_range
|
||||
start = src_range.start_time.value
|
||||
duration = src_range.duration.value
|
||||
available_range = None
|
||||
self.actual_fps = src_range.duration.rate
|
||||
|
||||
# add available range only if not gap
|
||||
if isinstance(r_otio_cl, otio.schema.Clip):
|
||||
# check if resolution is the same as source
|
||||
media_ref = r_otio_cl.media_reference
|
||||
media_metadata = media_ref.metadata
|
||||
|
||||
# get from media reference metadata source
|
||||
# TODO 'openpype' prefix should be removed (added 24/09/03)
|
||||
# NOTE it looks like it is set only in hiero integration
|
||||
res_data = {"width": self.to_width, "height": self.to_height}
|
||||
for key in res_data:
|
||||
for meta_prefix in ("ayon.source.", "openpype.source."):
|
||||
meta_key = f"{meta_prefix}.{key}"
|
||||
value = media_metadata.get(meta_key)
|
||||
if value is not None:
|
||||
res_data[key] = value
|
||||
break
|
||||
|
||||
self.to_width, self.to_height = res_data["width"], res_data["height"]
|
||||
self.log.debug("> self.to_width x self.to_height: {} x {}".format(
|
||||
self.to_width, self.to_height
|
||||
))
|
||||
|
||||
available_range = r_otio_cl.available_range()
|
||||
processing_range = None
|
||||
self.actual_fps = available_range.duration.rate
|
||||
start = src_range.start_time.rescaled_to(self.actual_fps)
|
||||
duration = src_range.duration.rescaled_to(self.actual_fps)
|
||||
|
||||
# Temporary.
|
||||
# Some AYON custom OTIO exporter were implemented with relative
|
||||
# source range for image sequence. Following code maintain
|
||||
# backward-compatibility by adjusting available range
|
||||
# while we are updating those.
|
||||
if (
|
||||
is_clip_from_media_sequence(r_otio_cl)
|
||||
and available_range.start_time.to_frames() == media_ref.start_frame
|
||||
and src_range.start_time.to_frames() < media_ref.start_frame
|
||||
):
|
||||
available_range = otio.opentime.TimeRange(
|
||||
otio.opentime.RationalTime(0, rate=self.actual_fps),
|
||||
available_range.duration,
|
||||
)
|
||||
|
||||
# Gap: no media, generate range based on source range
|
||||
else:
|
||||
available_range = processing_range = None
|
||||
self.actual_fps = src_range.duration.rate
|
||||
start = src_range.start_time
|
||||
duration = src_range.duration
|
||||
|
||||
# Create handle offsets.
|
||||
clip_handle_start = otio.opentime.RationalTime(
|
||||
handle_start,
|
||||
rate=self.actual_fps,
|
||||
)
|
||||
clip_handle_end = otio.opentime.RationalTime(
|
||||
handle_end,
|
||||
rate=self.actual_fps,
|
||||
)
|
||||
|
||||
# reframing handles conditions
|
||||
if (len(otio_review_clips) > 1) and (index == 0):
|
||||
# more clips | first clip reframing with handle
|
||||
start -= handle_start
|
||||
duration += handle_start
|
||||
start -= clip_handle_start
|
||||
duration += clip_handle_start
|
||||
elif len(otio_review_clips) > 1 \
|
||||
and (index == len(otio_review_clips) - 1):
|
||||
# more clips | last clip reframing with handle
|
||||
duration += handle_end
|
||||
duration += clip_handle_end
|
||||
elif len(otio_review_clips) == 1:
|
||||
# one clip | add both handles
|
||||
start -= handle_start
|
||||
duration += (handle_start + handle_end)
|
||||
start -= clip_handle_start
|
||||
duration += (clip_handle_start + clip_handle_end)
|
||||
|
||||
if available_range:
|
||||
available_range = self._trim_available_range(
|
||||
available_range, start, duration, self.actual_fps)
|
||||
processing_range = self._trim_available_range(
|
||||
available_range, start, duration)
|
||||
|
||||
# process all track items of the track
|
||||
if isinstance(r_otio_cl, otio.schema.Clip):
|
||||
# process Clip
|
||||
media_ref = r_otio_cl.media_reference
|
||||
metadata = media_ref.metadata
|
||||
is_sequence = None
|
||||
|
||||
# check in two way if it is sequence
|
||||
if hasattr(otio.schema, "ImageSequenceReference"):
|
||||
# for OpenTimelineIO 0.13 and newer
|
||||
if isinstance(media_ref,
|
||||
otio.schema.ImageSequenceReference):
|
||||
is_sequence = True
|
||||
else:
|
||||
# for OpenTimelineIO 0.12 and older
|
||||
if metadata.get("padding"):
|
||||
is_sequence = True
|
||||
is_sequence = is_clip_from_media_sequence(r_otio_cl)
|
||||
|
||||
# File sequence way
|
||||
if is_sequence:
|
||||
# file sequence way
|
||||
# Remap processing range to input file sequence.
|
||||
processing_range_as_frames = (
|
||||
processing_range.start_time.to_frames(),
|
||||
processing_range.end_time_inclusive().to_frames()
|
||||
)
|
||||
first, last = remap_range_on_file_sequence(
|
||||
r_otio_cl,
|
||||
processing_range_as_frames,
|
||||
)
|
||||
input_fps = processing_range.start_time.rate
|
||||
|
||||
if hasattr(media_ref, "target_url_base"):
|
||||
dirname = media_ref.target_url_base
|
||||
head = media_ref.name_prefix
|
||||
tail = media_ref.name_suffix
|
||||
first, last = otio_range_to_frame_range(
|
||||
available_range)
|
||||
collection = clique.Collection(
|
||||
head=head,
|
||||
tail=tail,
|
||||
|
|
@ -194,8 +212,8 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
collection.indexes.update(
|
||||
[i for i in range(first, (last + 1))])
|
||||
# render segment
|
||||
self._render_seqment(
|
||||
sequence=[dirname, collection])
|
||||
self._render_segment(
|
||||
sequence=[dirname, collection, input_fps])
|
||||
# generate used frames
|
||||
self._generate_used_frames(
|
||||
len(collection.indexes))
|
||||
|
|
@ -204,30 +222,44 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
# `ImageSequenceReference`
|
||||
path = media_ref.target_url
|
||||
collection_data = make_sequence_collection(
|
||||
path, available_range, metadata)
|
||||
path, processing_range, metadata)
|
||||
dir_path, collection = collection_data
|
||||
|
||||
# render segment
|
||||
self._render_seqment(
|
||||
sequence=[dir_path, collection])
|
||||
self._render_segment(
|
||||
sequence=[dir_path, collection, input_fps])
|
||||
# generate used frames
|
||||
self._generate_used_frames(
|
||||
len(collection.indexes))
|
||||
|
||||
# Single video way.
|
||||
# Extraction via FFmpeg.
|
||||
else:
|
||||
# single video file way
|
||||
path = media_ref.target_url
|
||||
# Set extract range from 0 (FFmpeg ignores embedded timecode).
|
||||
extract_range = otio.opentime.TimeRange(
|
||||
otio.opentime.RationalTime(
|
||||
(
|
||||
processing_range.start_time.value
|
||||
- available_range.start_time.value
|
||||
),
|
||||
rate=available_range.start_time.rate,
|
||||
),
|
||||
duration=processing_range.duration,
|
||||
)
|
||||
# render video file to sequence
|
||||
self._render_seqment(
|
||||
video=[path, available_range])
|
||||
self._render_segment(
|
||||
video=[path, extract_range])
|
||||
# generate used frames
|
||||
self._generate_used_frames(
|
||||
available_range.duration.value)
|
||||
processing_range.duration.value)
|
||||
|
||||
# QUESTION: what if nested track composition is in place?
|
||||
else:
|
||||
# at last process a Gap
|
||||
self._render_seqment(gap=duration)
|
||||
self._render_segment(gap=duration.to_frames())
|
||||
# generate used frames
|
||||
self._generate_used_frames(duration)
|
||||
self._generate_used_frames(duration.to_frames())
|
||||
|
||||
# creating and registering representation
|
||||
representation = self._create_representation(start, duration)
|
||||
|
|
@ -276,7 +308,7 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
})
|
||||
return representation_data
|
||||
|
||||
def _trim_available_range(self, avl_range, start, duration, fps):
|
||||
def _trim_available_range(self, avl_range, start, duration):
|
||||
"""
|
||||
Trim available media range to source range.
|
||||
|
||||
|
|
@ -285,69 +317,87 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
|
||||
Args:
|
||||
avl_range (otio.time.TimeRange): media available time range
|
||||
start (int): start frame
|
||||
duration (int): duration frames
|
||||
fps (float): frame rate
|
||||
start (otio.time.RationalTime): start
|
||||
duration (otio.time.RationalTime): duration
|
||||
|
||||
Returns:
|
||||
otio.time.TimeRange: trimmed available range
|
||||
"""
|
||||
# Not all hosts can import these modules.
|
||||
import opentimelineio as otio
|
||||
from ayon_core.pipeline.editorial import (
|
||||
trim_media_range,
|
||||
range_from_frames
|
||||
)
|
||||
|
||||
avl_start = int(avl_range.start_time.value)
|
||||
src_start = int(avl_start + start)
|
||||
avl_durtation = int(avl_range.duration.value)
|
||||
def _round_to_frame(rational_time):
|
||||
""" Handle rounding duration to frame.
|
||||
"""
|
||||
# OpentimelineIO >= 0.16.0
|
||||
try:
|
||||
return rational_time.round().to_frames()
|
||||
|
||||
self.need_offset = bool(avl_start != 0 and src_start != 0)
|
||||
# OpentimelineIO < 0.16.0
|
||||
except AttributeError:
|
||||
return otio.opentime.RationalTime(
|
||||
round(rational_time.value),
|
||||
rate=rational_time.rate,
|
||||
).to_frames()
|
||||
|
||||
# if media start is les then clip requires
|
||||
if src_start < avl_start:
|
||||
# calculate gap
|
||||
gap_duration = avl_start - src_start
|
||||
avl_start = avl_range.start_time
|
||||
|
||||
# An additional gap is required before the available
|
||||
# range to conform source start point and head handles.
|
||||
if start < avl_start:
|
||||
gap_duration = avl_start - start
|
||||
start = avl_start
|
||||
duration -= gap_duration
|
||||
gap_duration = _round_to_frame(gap_duration)
|
||||
|
||||
# create gap data to disk
|
||||
self._render_seqment(gap=gap_duration)
|
||||
self._render_segment(gap=gap_duration)
|
||||
# generate used frames
|
||||
self._generate_used_frames(gap_duration)
|
||||
|
||||
# fix start and end to correct values
|
||||
start = 0
|
||||
# An additional gap is required after the available
|
||||
# range to conform to source end point + tail handles
|
||||
# (media duration is shorter then clip requirement).
|
||||
end_point = start + duration
|
||||
avl_end_point = avl_range.end_time_exclusive()
|
||||
if end_point > avl_end_point:
|
||||
gap_duration = end_point - avl_end_point
|
||||
duration -= gap_duration
|
||||
|
||||
# if media duration is shorter then clip requirement
|
||||
if duration > avl_durtation:
|
||||
# calculate gap
|
||||
gap_start = int(src_start + avl_durtation)
|
||||
gap_end = int(src_start + duration)
|
||||
gap_duration = gap_end - gap_start
|
||||
gap_duration = _round_to_frame(gap_duration)
|
||||
|
||||
# create gap data to disk
|
||||
self._render_seqment(gap=gap_duration, end_offset=avl_durtation)
|
||||
self._render_segment(
|
||||
gap=gap_duration,
|
||||
end_offset=duration.to_frames()
|
||||
)
|
||||
# generate used frames
|
||||
self._generate_used_frames(gap_duration, end_offset=avl_durtation)
|
||||
|
||||
# fix duration lenght
|
||||
duration = avl_durtation
|
||||
self._generate_used_frames(
|
||||
gap_duration,
|
||||
end_offset=duration.to_frames()
|
||||
)
|
||||
|
||||
# return correct trimmed range
|
||||
return trim_media_range(
|
||||
avl_range, range_from_frames(start, duration, fps)
|
||||
avl_range,
|
||||
otio.opentime.TimeRange(
|
||||
start,
|
||||
duration
|
||||
)
|
||||
)
|
||||
|
||||
def _render_seqment(self, sequence=None,
|
||||
def _render_segment(self, sequence=None,
|
||||
video=None, gap=None, end_offset=None):
|
||||
"""
|
||||
Render seqment into image sequence frames.
|
||||
Render segment into image sequence frames.
|
||||
|
||||
Using ffmpeg to convert compatible video and image source
|
||||
to defined image sequence format.
|
||||
|
||||
Args:
|
||||
sequence (list): input dir path string, collection object in list
|
||||
sequence (list): input dir path string, collection object, fps in list
|
||||
video (list)[optional]: video_path string, otio_range in list
|
||||
gap (int)[optional]: gap duration
|
||||
end_offset (int)[optional]: offset gap frame start in frames
|
||||
|
|
@ -369,7 +419,7 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
|
||||
input_extension = None
|
||||
if sequence:
|
||||
input_dir, collection = sequence
|
||||
input_dir, collection, sequence_fps = sequence
|
||||
in_frame_start = min(collection.indexes)
|
||||
|
||||
# converting image sequence to image sequence
|
||||
|
|
@ -377,9 +427,28 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
input_path = os.path.join(input_dir, input_file)
|
||||
input_extension = os.path.splitext(input_path)[-1]
|
||||
|
||||
# form command for rendering gap files
|
||||
"""
|
||||
Form Command for Rendering Sequence Files
|
||||
|
||||
To explicitly set the input frame range and preserve the frame
|
||||
range, avoid silent dropped frames caused by input mismatch
|
||||
with FFmpeg's default rate of 25.0 fps. For more info,
|
||||
refer to the FFmpeg image2 demuxer.
|
||||
|
||||
Implicit:
|
||||
- Input: 100 frames (24fps from metadata)
|
||||
- Demuxer: video 25fps
|
||||
- Output: 98 frames, dropped 2
|
||||
|
||||
Explicit with "-framerate":
|
||||
- Input: 100 frames (24fps from metadata)
|
||||
- Demuxer: video 24fps
|
||||
- Output: 100 frames, no dropped frames
|
||||
"""
|
||||
|
||||
command.extend([
|
||||
"-start_number", str(in_frame_start),
|
||||
"-framerate", str(sequence_fps),
|
||||
"-i", input_path
|
||||
])
|
||||
|
||||
|
|
@ -454,16 +523,11 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
|
||||
padding = "{{:0{}d}}".format(self.padding)
|
||||
|
||||
# create frame offset
|
||||
offset = 0
|
||||
if self.need_offset:
|
||||
offset = 1
|
||||
|
||||
if end_offset:
|
||||
new_frames = list()
|
||||
start_frame = self.used_frames[-1]
|
||||
for index in range((end_offset + offset),
|
||||
(int(end_offset + duration) + offset)):
|
||||
for index in range(end_offset,
|
||||
(int(end_offset + duration))):
|
||||
seq_number = padding.format(start_frame + index)
|
||||
self.log.debug(
|
||||
"index: `{}` | seq_number: `{}`".format(index, seq_number))
|
||||
|
|
@ -519,4 +583,3 @@ class ExtractOTIOReview(publish.Extractor):
|
|||
self.log.debug(f"file_prefix::{file_prefix}")
|
||||
|
||||
return file_prefix
|
||||
|
||||
|
|
|
|||
|
|
@ -74,9 +74,6 @@ class ExtractOTIOTrimmingVideo(publish.Extractor):
|
|||
otio_range (opentime.TimeRange): range to trim to
|
||||
|
||||
"""
|
||||
# Not all hosts can import this module.
|
||||
from ayon_core.pipeline.editorial import frames_to_seconds
|
||||
|
||||
# create path to destination
|
||||
output_path = self._get_ffmpeg_output(input_file_path)
|
||||
|
||||
|
|
@ -84,11 +81,8 @@ class ExtractOTIOTrimmingVideo(publish.Extractor):
|
|||
command = get_ffmpeg_tool_args("ffmpeg")
|
||||
|
||||
video_path = input_file_path
|
||||
frame_start = otio_range.start_time.value
|
||||
input_fps = otio_range.start_time.rate
|
||||
frame_duration = otio_range.duration.value - 1
|
||||
sec_start = frames_to_seconds(frame_start, input_fps)
|
||||
sec_duration = frames_to_seconds(frame_duration, input_fps)
|
||||
sec_start = otio_range.start_time.to_seconds()
|
||||
sec_duration = otio_range.duration.to_seconds()
|
||||
|
||||
# form command for rendering gap files
|
||||
command.extend([
|
||||
|
|
|
|||
|
|
@ -1,14 +1,17 @@
|
|||
import uuid
|
||||
import copy
|
||||
import inspect
|
||||
import logging
|
||||
import traceback
|
||||
import collections
|
||||
from contextlib import contextmanager
|
||||
from functools import partial
|
||||
from typing import Optional, Dict, List, Union, Any, Iterable
|
||||
|
||||
import arrow
|
||||
import pyblish.plugin
|
||||
|
||||
from ayon_core.lib import env_value_to_bool
|
||||
from ayon_core.pipeline import (
|
||||
PublishValidationError,
|
||||
KnownPublishError,
|
||||
|
|
@ -26,6 +29,25 @@ PUBLISH_EVENT_SOURCE = "publisher.publish.model"
|
|||
PLUGIN_ORDER_OFFSET = 0.5
|
||||
|
||||
|
||||
class MessageHandler(logging.Handler):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self._records = []
|
||||
|
||||
def clear_records(self):
|
||||
self._records = []
|
||||
|
||||
def emit(self, record):
|
||||
try:
|
||||
record.msg = record.getMessage()
|
||||
except Exception:
|
||||
record.msg = str(record.msg)
|
||||
self._records.append(record)
|
||||
|
||||
def get_records(self):
|
||||
return self._records
|
||||
|
||||
|
||||
class PublishErrorInfo:
|
||||
def __init__(
|
||||
self,
|
||||
|
|
@ -850,6 +872,10 @@ class PublishModel:
|
|||
def __init__(self, controller: AbstractPublisherBackend):
|
||||
self._controller = controller
|
||||
|
||||
self._log_to_console: bool = env_value_to_bool(
|
||||
"AYON_PUBLISHER_PRINT_LOGS", default=False
|
||||
)
|
||||
|
||||
# Publishing should stop at validation stage
|
||||
self._publish_up_validation: bool = False
|
||||
self._publish_comment_is_set: bool = False
|
||||
|
|
@ -897,8 +923,16 @@ class PublishModel:
|
|||
self._default_iterator()
|
||||
)
|
||||
|
||||
self._log_handler: MessageHandler = MessageHandler()
|
||||
|
||||
def reset(self):
|
||||
# Allow to change behavior during process lifetime
|
||||
self._log_to_console = env_value_to_bool(
|
||||
"AYON_PUBLISHER_PRINT_LOGS", default=False
|
||||
)
|
||||
|
||||
create_context = self._controller.get_create_context()
|
||||
|
||||
self._publish_up_validation = False
|
||||
self._publish_comment_is_set = False
|
||||
self._publish_has_started = False
|
||||
|
|
@ -1266,14 +1300,49 @@ class PublishModel:
|
|||
self._set_progress(self._publish_max_progress)
|
||||
yield partial(self.stop_publish)
|
||||
|
||||
@contextmanager
|
||||
def _log_manager(self, plugin: pyblish.api.Plugin):
|
||||
root = logging.getLogger()
|
||||
if not self._log_to_console:
|
||||
plugin.log.propagate = False
|
||||
plugin.log.addHandler(self._log_handler)
|
||||
root.addHandler(self._log_handler)
|
||||
|
||||
try:
|
||||
if self._log_to_console:
|
||||
yield None
|
||||
else:
|
||||
yield self._log_handler
|
||||
|
||||
finally:
|
||||
if not self._log_to_console:
|
||||
plugin.log.propagate = True
|
||||
plugin.log.removeHandler(self._log_handler)
|
||||
root.removeHandler(self._log_handler)
|
||||
self._log_handler.clear_records()
|
||||
|
||||
def _process_and_continue(
|
||||
self,
|
||||
plugin: pyblish.api.Plugin,
|
||||
instance: pyblish.api.Instance
|
||||
):
|
||||
result = pyblish.plugin.process(
|
||||
plugin, self._publish_context, instance
|
||||
)
|
||||
with self._log_manager(plugin) as log_handler:
|
||||
result = pyblish.plugin.process(
|
||||
plugin, self._publish_context, instance
|
||||
)
|
||||
if log_handler is not None:
|
||||
records = log_handler.get_records()
|
||||
exception = result.get("error")
|
||||
if exception is not None and records:
|
||||
last_record = records[-1]
|
||||
if (
|
||||
last_record.name == "pyblish.plugin"
|
||||
and last_record.levelno == logging.ERROR
|
||||
):
|
||||
# Remove last record made by pyblish
|
||||
# - `log.exception(formatted_traceback)`
|
||||
records.pop(-1)
|
||||
result["records"] = records
|
||||
|
||||
exception = result.get("error")
|
||||
if exception:
|
||||
|
|
|
|||
|
|
@ -777,7 +777,7 @@ class ProjectPushItemProcess:
|
|||
task_info = copy.deepcopy(task_info)
|
||||
task_info["name"] = dst_task_name
|
||||
# Fill rest of task information based on task type
|
||||
task_type_name = task_info["type"]
|
||||
task_type_name = task_info["taskType"]
|
||||
task_types_by_name = {
|
||||
task_type["name"]: task_type
|
||||
for task_type in self._project_entity["taskTypes"]
|
||||
|
|
@ -821,7 +821,7 @@ class ProjectPushItemProcess:
|
|||
task_name = task_type = None
|
||||
if task_info:
|
||||
task_name = task_info["name"]
|
||||
task_type = task_info["type"]
|
||||
task_type = task_info["taskType"]
|
||||
|
||||
product_name = get_product_name(
|
||||
self._item.dst_project_name,
|
||||
|
|
@ -905,7 +905,7 @@ class ProjectPushItemProcess:
|
|||
project_name,
|
||||
self.host_name,
|
||||
task_name=self._task_info["name"],
|
||||
task_type=self._task_info["type"],
|
||||
task_type=self._task_info["taskType"],
|
||||
product_type=product_type,
|
||||
product_name=product_entity["name"]
|
||||
)
|
||||
|
|
@ -959,7 +959,7 @@ class ProjectPushItemProcess:
|
|||
formatting_data = get_template_data(
|
||||
self._project_entity,
|
||||
self._folder_entity,
|
||||
self._task_info.get("name"),
|
||||
self._task_info,
|
||||
self.host_name
|
||||
)
|
||||
formatting_data.update({
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Package declaring AYON addon 'core' version."""
|
||||
__version__ = "1.0.0+dev"
|
||||
__version__ = "1.0.1+dev"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name = "core"
|
||||
title = "Core"
|
||||
version = "1.0.0+dev"
|
||||
version = "1.0.1+dev"
|
||||
|
||||
client_dir = "ayon_core"
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
[tool.poetry]
|
||||
name = "ayon-core"
|
||||
version = "1.0.0+dev"
|
||||
version = "1.0.1+dev"
|
||||
description = ""
|
||||
authors = ["Ynput Team <team@ynput.io>"]
|
||||
readme = "README.md"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"active": true,
|
||||
"applieswhole": 1,
|
||||
"asset": "sh020",
|
||||
"audio": true,
|
||||
"families": [
|
||||
"clip"
|
||||
],
|
||||
"family": "plate",
|
||||
"handleEnd": 8,
|
||||
"handleStart": 0,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq001",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq001",
|
||||
"shot": "sh020",
|
||||
"track": "reference"
|
||||
},
|
||||
"hiero_source_type": "TrackItem",
|
||||
"id": "pyblish.avalon.instance",
|
||||
"label": "openpypeData",
|
||||
"note": "OpenPype data container",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"entity_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq001",
|
||||
"entity_type": "sequence"
|
||||
}
|
||||
],
|
||||
"publish": true,
|
||||
"reviewTrack": null,
|
||||
"sourceResolution": false,
|
||||
"subset": "plateP01",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"name": "sh020",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976024627685547,
|
||||
"value": 51.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976024627685547,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"active": true,
|
||||
"applieswhole": 1,
|
||||
"asset": "sh020",
|
||||
"audio": true,
|
||||
"families": [
|
||||
"clip"
|
||||
],
|
||||
"family": "plate",
|
||||
"handleEnd": 8,
|
||||
"handleStart": 0,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq001",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq001",
|
||||
"shot": "sh020",
|
||||
"track": "reference"
|
||||
},
|
||||
"hiero_source_type": "TrackItem",
|
||||
"id": "pyblish.avalon.instance",
|
||||
"label": "openpypeData",
|
||||
"note": "OpenPype data container",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"entity_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq001",
|
||||
"entity_type": "sequence"
|
||||
}
|
||||
],
|
||||
"publish": true,
|
||||
"reviewTrack": null,
|
||||
"sourceResolution": false,
|
||||
"subset": "plateP01",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"name": "openpypeData",
|
||||
"color": "RED",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976024627685547,
|
||||
"value": 0.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976024627685547,
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"applieswhole": 1,
|
||||
"family": "task",
|
||||
"hiero_source_type": "TrackItem",
|
||||
"label": "comp",
|
||||
"note": "Compositing",
|
||||
"type": "Compositing"
|
||||
},
|
||||
"name": "comp",
|
||||
"color": "RED",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976024627685547,
|
||||
"value": 0.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976024627685547,
|
||||
"value": 0.0
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {
|
||||
"clip.properties.blendfunc": "0",
|
||||
"clip.properties.colourspacename": "default",
|
||||
"clip.properties.domainroot": "",
|
||||
"clip.properties.enabled": "1",
|
||||
"clip.properties.expanded": "1",
|
||||
"clip.properties.opacity": "1",
|
||||
"clip.properties.valuesource": "",
|
||||
"foundry.source.audio": "",
|
||||
"foundry.source.bitmapsize": "0",
|
||||
"foundry.source.bitsperchannel": "0",
|
||||
"foundry.source.channelformat": "integer",
|
||||
"foundry.source.colourtransform": "ACES - ACES2065-1",
|
||||
"foundry.source.duration": "59",
|
||||
"foundry.source.filename": "MER_sq001_sh020_P01.%04d.exr 997-1055",
|
||||
"foundry.source.filesize": "",
|
||||
"foundry.source.fragments": "59",
|
||||
"foundry.source.framerate": "23.98",
|
||||
"foundry.source.fullpath": "",
|
||||
"foundry.source.height": "1080",
|
||||
"foundry.source.layers": "colour",
|
||||
"foundry.source.path": "C:/projects/AY01_VFX_demo/resources/plates/MER_sq001_sh020_P01/MER_sq001_sh020_P01.%04d.exr 997-1055",
|
||||
"foundry.source.pixelAspect": "1",
|
||||
"foundry.source.pixelAspectRatio": "",
|
||||
"foundry.source.pixelformat": "RGBA (Float16) Open Color IO space: 11",
|
||||
"foundry.source.reelID": "",
|
||||
"foundry.source.resolution": "",
|
||||
"foundry.source.samplerate": "Invalid",
|
||||
"foundry.source.shortfilename": "MER_sq001_sh020_P01.%04d.exr 997-1055",
|
||||
"foundry.source.shot": "",
|
||||
"foundry.source.shotDate": "",
|
||||
"foundry.source.startTC": "",
|
||||
"foundry.source.starttime": "997",
|
||||
"foundry.source.timecode": "172800",
|
||||
"foundry.source.umid": "1bf7437a-b446-440c-07c5-7cae7acf4f5e",
|
||||
"foundry.source.umidOriginator": "foundry.source.umid",
|
||||
"foundry.source.width": "1920",
|
||||
"foundry.timeline.autodiskcachemode": "Manual",
|
||||
"foundry.timeline.colorSpace": "ACES - ACES2065-1",
|
||||
"foundry.timeline.duration": "59",
|
||||
"foundry.timeline.framerate": "23.98",
|
||||
"foundry.timeline.outputformat": "",
|
||||
"foundry.timeline.poster": "0",
|
||||
"foundry.timeline.posterLayer": "colour",
|
||||
"foundry.timeline.readParams": "AAAAAQAAAAAAAAAFAAAACmNvbG9yc3BhY2UAAAAFaW50MzIAAAAMAAAAC2VkZ2VfcGl4ZWxzAAAABWludDMyAAAAAAAAABFpZ25vcmVfcGFydF9uYW1lcwAAAARib29sAAAAAAhub3ByZWZpeAAAAARib29sAAAAAB5vZmZzZXRfbmVnYXRpdmVfZGlzcGxheV93aW5kb3cAAAAEYm9vbAE=",
|
||||
"foundry.timeline.samplerate": "Invalid",
|
||||
"isSequence": true,
|
||||
"media.exr.channels": "B:{1 0 1 1},G:{1 0 1 1},R:{1 0 1 1}",
|
||||
"media.exr.compression": "8",
|
||||
"media.exr.compressionName": "DWAA",
|
||||
"media.exr.dataWindow": "0,0,1919,1079",
|
||||
"media.exr.displayWindow": "0,0,1919,1079",
|
||||
"media.exr.dwaCompressionLevel": "90",
|
||||
"media.exr.lineOrder": "0",
|
||||
"media.exr.pixelAspectRatio": "1",
|
||||
"media.exr.screenWindowCenter": "0,0",
|
||||
"media.exr.screenWindowWidth": "1",
|
||||
"media.exr.type": "scanlineimage",
|
||||
"media.exr.version": "1",
|
||||
"media.input.bitsperchannel": "16-bit half float",
|
||||
"media.input.ctime": "2022-04-21 11:56:03",
|
||||
"media.input.filename": "C:/projects/AY01_VFX_demo/resources/plates/MER_sq001_sh020_P01/MER_sq001_sh020_P01.0997.exr",
|
||||
"media.input.filereader": "exr",
|
||||
"media.input.filesize": "1235182",
|
||||
"media.input.frame": "1",
|
||||
"media.input.frame_rate": "23.976",
|
||||
"media.input.height": "1080",
|
||||
"media.input.mtime": "2022-03-06 10:14:41",
|
||||
"media.input.timecode": "02:00:00:00",
|
||||
"media.input.width": "1920",
|
||||
"media.nuke.full_layer_names": "0",
|
||||
"media.nuke.node_hash": "ffffffffffffffff",
|
||||
"media.nuke.version": "12.2v3",
|
||||
"openpype.source.colourtransform": "ACES - ACES2065-1",
|
||||
"openpype.source.height": 1080,
|
||||
"openpype.source.pixelAspect": 1.0,
|
||||
"openpype.source.width": 1920,
|
||||
"padding": 4
|
||||
},
|
||||
"name": "",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976,
|
||||
"value": 59.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 23.976,
|
||||
"value": 997.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:/projects/AY01_VFX_demo/resources/plates/MER_sq001_sh020_P01\\",
|
||||
"name_prefix": "MER_sq001_sh020_P01.",
|
||||
"name_suffix": ".exr",
|
||||
"start_frame": 997,
|
||||
"frame_step": 1,
|
||||
"rate": 23.976,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,363 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "output.[1000-1100].exr",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 74.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 91046.625
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"-6": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"994": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"-6": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"994": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"f2918dd7-a30b-4b7d-8ac1-7d5f400058bf\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"ade94deb-f104-47dc-b8e9-04943f900914\", \"reviewTrack\": null, \"label\": \"/shots/sq01/Video_1sq01sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"5109899f-d744-4ed3-8547-8585ef9b703b\", \"creator_attributes\": {\"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1075, \"clipIn\": 655, \"clipOut\": 729, \"clipDuration\": 74, \"sourceIn\": 6, \"sourceOut\": 80, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo_1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video_1\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"f2918dd7-a30b-4b7d-8ac1-7d5f400058bf\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"ade94deb-f104-47dc-b8e9-04943f900914\", \"reviewTrack\": null, \"parent_instance_id\": \"5109899f-d744-4ed3-8547-8585ef9b703b\", \"label\": \"/shots/sq01/Video_1sq01sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"85c729e9-0503-4c3a-8d7f-be0920f047d8\", \"creator_attributes\": {\"parentInstance\": \"/shots/sq01/Video_1sq01sh010 shot\", \"vSyncOn\": false, \"vSyncTrack\": \"Video 1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"f2918dd7-a30b-4b7d-8ac1-7d5f400058bf\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "f2918dd7-a30b-4b7d-8ac1-7d5f400058bf",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "f2918dd7-a30b-4b7d-8ac1-7d5f400058bf",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"vSyncOn": false,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "85c729e9-0503-4c3a-8d7f-be0920f047d8",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "5109899f-d744-4ed3-8547-8585ef9b703b",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "ade94deb-f104-47dc-b8e9-04943f900914",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "f2918dd7-a30b-4b7d-8ac1-7d5f400058bf",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 74,
|
||||
"clipIn": 655,
|
||||
"clipOut": 729,
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1075,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 6,
|
||||
"sourceOut": 80,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "5109899f-d744-4ed3-8547-8585ef9b703b",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "ade94deb-f104-47dc-b8e9-04943f900914",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 91083.625
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {},
|
||||
"name": "output.[1000-1100].exr",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 87399.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\Users\\robin\\OneDrive\\Bureau\\dev_ayon\\samples\\exr_embedded_tc",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".exr",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 24.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,363 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "output.[1000-1100].exr",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 87399.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"1000": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"1000": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/seq_img_tc_handles_out/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"adca7e5b-b53c-48ab-8469-abe4db3c276a\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_tc_handles_out\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_img_tc_handles_out\", \"sourceResolution\": true, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_img_tc_handles_out\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_tc_handles_out\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"fca94ed7-1e74-4ddc-8d56-05696e8c472a\", \"reviewTrack\": \"Video1\", \"label\": \"/shots/seq_img_tc_handles_out/sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"6c2baba3-183c-41f0-b9a9-596d315fd162\", \"creator_attributes\": {\"folderPath\": \"/shots/seq_img_tc_handles_out/sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1102, \"clipIn\": 86524, \"clipOut\": 86625, \"clipDuration\": 101, \"sourceIn\": 0, \"sourceOut\": 101, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video1\", \"folderPath\": \"/shots/seq_img_tc_handles_out/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"adca7e5b-b53c-48ab-8469-abe4db3c276a\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_tc_handles_out\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_img_tc_handles_out\", \"sourceResolution\": true, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_img_tc_handles_out\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_tc_handles_out\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"fca94ed7-1e74-4ddc-8d56-05696e8c472a\", \"reviewTrack\": \"Video1\", \"parent_instance_id\": \"6c2baba3-183c-41f0-b9a9-596d315fd162\", \"label\": \"/shots/seq_img_tc_handles_out/sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"8b1f1e6f-699a-4481-b9be-92d819bc4096\", \"creator_attributes\": {\"parentInstance\": \"/shots/seq_img_tc_handles_out/sh010 shot\", \"vSyncOn\": true, \"vSyncTrack\": \"Video1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"adca7e5b-b53c-48ab-8469-abe4db3c276a\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "adca7e5b-b53c-48ab-8469-abe4db3c276a",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "adca7e5b-b53c-48ab-8469-abe4db3c276a",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/seq_img_tc_handles_out/sh010 shot",
|
||||
"vSyncOn": true,
|
||||
"vSyncTrack": "Video1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_img_tc_handles_out/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_img_tc_handles_out",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_img_tc_handles_out",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "8b1f1e6f-699a-4481-b9be-92d819bc4096",
|
||||
"label": "/shots/seq_img_tc_handles_out/sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "6c2baba3-183c-41f0-b9a9-596d315fd162",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_img_tc_handles_out",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_img_tc_handles_out",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": true,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "fca94ed7-1e74-4ddc-8d56-05696e8c472a",
|
||||
"variant": "Video1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "adca7e5b-b53c-48ab-8469-abe4db3c276a",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 101,
|
||||
"clipIn": 86524,
|
||||
"clipOut": 86625,
|
||||
"folderPath": "/shots/seq_img_tc_handles_out/sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1102,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 0,
|
||||
"sourceOut": 101,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_img_tc_handles_out/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_img_tc_handles_out",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_img_tc_handles_out",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "6c2baba3-183c-41f0-b9a9-596d315fd162",
|
||||
"label": "/shots/seq_img_tc_handles_out/sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_img_tc_handles_out",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_img_tc_handles_out",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": true,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "fca94ed7-1e74-4ddc-8d56-05696e8c472a",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 87449.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {},
|
||||
"name": "output.[1000-1100].exr",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 87399.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\exr_embedded_tc",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".exr",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 24.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,363 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "output.[1000-1100].tif",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"1000": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"1000": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184\", \"clip_source_resolution\": {\"width\": \"1920\", \"height\": \"1080\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"647b2ba6-6fca-4219-b163-cd321df9652f\", \"reviewTrack\": null, \"label\": \"/shots/sq01/Video_1sq01sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"2ab8f149-e32c-40f5-a6cb-ad1ca567ccc1\", \"creator_attributes\": {\"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1102, \"clipIn\": 509, \"clipOut\": 610, \"clipDuration\": 101, \"sourceIn\": 0, \"sourceOut\": 101, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo_1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video_1\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184\", \"clip_source_resolution\": {\"width\": \"1920\", \"height\": \"1080\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"647b2ba6-6fca-4219-b163-cd321df9652f\", \"reviewTrack\": null, \"parent_instance_id\": \"2ab8f149-e32c-40f5-a6cb-ad1ca567ccc1\", \"label\": \"/shots/sq01/Video_1sq01sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"9f866936-966b-4a73-8e61-1a5b6e648a3f\", \"creator_attributes\": {\"parentInstance\": \"/shots/sq01/Video_1sq01sh010 shot\", \"vSyncOn\": false, \"vSyncTrack\": \"Video 1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184",
|
||||
"clip_source_resolution": {
|
||||
"height": "1080",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "1920"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"vSyncOn": false,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "9f866936-966b-4a73-8e61-1a5b6e648a3f",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "2ab8f149-e32c-40f5-a6cb-ad1ca567ccc1",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "647b2ba6-6fca-4219-b163-cd321df9652f",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184",
|
||||
"clip_source_resolution": {
|
||||
"height": "1080",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "1920"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 101,
|
||||
"clipIn": 509,
|
||||
"clipOut": 610,
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1102,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 0,
|
||||
"sourceOut": 101,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "2ab8f149-e32c-40f5-a6cb-ad1ca567ccc1",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "647b2ba6-6fca-4219-b163-cd321df9652f",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 50.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {},
|
||||
"name": "output.[1000-1100].tif",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\Users\\robin\\OneDrive\\Bureau\\dev_ayon\\samples",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".tif",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 25.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,363 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "output.[1000-1100].tif",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 91.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 5.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"-5": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"955": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"-5": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"955": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/seq_img_notc_blackhandles/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"a82520bd-f231-4a23-9cb7-8823141232db\", \"clip_source_resolution\": {\"width\": \"1920\", \"height\": \"1080\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_notc_blackhandles\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_img_notc_blackhandles\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_img_notc_blackhandles\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_notc_blackhandles\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5d6be326-f1d0-4416-b6aa-780d05a8dd6d\", \"reviewTrack\": \"Video1\", \"label\": \"/shots/seq_img_notc_blackhandles/sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"e196263f-c584-40b4-bc27-018051a3bc92\", \"creator_attributes\": {\"folderPath\": \"/shots/seq_img_notc_blackhandles/sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1092, \"clipIn\": 86511, \"clipOut\": 86602, \"clipDuration\": 91, \"sourceIn\": 5, \"sourceOut\": 96, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video1\", \"folderPath\": \"/shots/seq_img_notc_blackhandles/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"a82520bd-f231-4a23-9cb7-8823141232db\", \"clip_source_resolution\": {\"width\": \"1920\", \"height\": \"1080\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_notc_blackhandles\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_img_notc_blackhandles\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_img_notc_blackhandles\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_img_notc_blackhandles\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5d6be326-f1d0-4416-b6aa-780d05a8dd6d\", \"reviewTrack\": \"Video1\", \"parent_instance_id\": \"e196263f-c584-40b4-bc27-018051a3bc92\", \"label\": \"/shots/seq_img_notc_blackhandles/sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"ced7e9b8-721a-4377-a827-15fbf7f2831a\", \"creator_attributes\": {\"parentInstance\": \"/shots/seq_img_notc_blackhandles/sh010 shot\", \"vSyncOn\": true, \"vSyncTrack\": \"Video1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"a82520bd-f231-4a23-9cb7-8823141232db\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "a82520bd-f231-4a23-9cb7-8823141232db",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "a82520bd-f231-4a23-9cb7-8823141232db",
|
||||
"clip_source_resolution": {
|
||||
"height": "1080",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "1920"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/seq_img_notc_blackhandles/sh010 shot",
|
||||
"vSyncOn": true,
|
||||
"vSyncTrack": "Video1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_img_notc_blackhandles/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_img_notc_blackhandles",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_img_notc_blackhandles",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "ced7e9b8-721a-4377-a827-15fbf7f2831a",
|
||||
"label": "/shots/seq_img_notc_blackhandles/sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "e196263f-c584-40b4-bc27-018051a3bc92",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_img_notc_blackhandles",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_img_notc_blackhandles",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5d6be326-f1d0-4416-b6aa-780d05a8dd6d",
|
||||
"variant": "Video1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "a82520bd-f231-4a23-9cb7-8823141232db",
|
||||
"clip_source_resolution": {
|
||||
"height": "1080",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "1920"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 91,
|
||||
"clipIn": 86511,
|
||||
"clipOut": 86602,
|
||||
"folderPath": "/shots/seq_img_notc_blackhandles/sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1092,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 5,
|
||||
"sourceOut": 96,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_img_notc_blackhandles/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_img_notc_blackhandles",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_img_notc_blackhandles",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "e196263f-c584-40b4-bc27-018051a3bc92",
|
||||
"label": "/shots/seq_img_notc_blackhandles/sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_img_notc_blackhandles",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_img_notc_blackhandles",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5d6be326-f1d0-4416-b6aa-780d05a8dd6d",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 50.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {},
|
||||
"name": "output.[1000-1100].tif",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\tif_seq",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".tif",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 25.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,363 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "output.[1000-1100].tif",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 39.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 34.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"-34": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"966": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"-34": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"966": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184\", \"clip_source_resolution\": {\"width\": \"1920\", \"height\": \"1080\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5ca7b240-ec4c-49d1-841d-a96c33a08b1b\", \"reviewTrack\": null, \"label\": \"/shots/sq01/Video_1sq01sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"5b526964-5805-4412-af09-2da696c4978b\", \"creator_attributes\": {\"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1040, \"clipIn\": 543, \"clipOut\": 582, \"clipDuration\": 39, \"sourceIn\": 34, \"sourceOut\": 73, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo_1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video_1\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184\", \"clip_source_resolution\": {\"width\": \"1920\", \"height\": \"1080\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5ca7b240-ec4c-49d1-841d-a96c33a08b1b\", \"reviewTrack\": null, \"parent_instance_id\": \"5b526964-5805-4412-af09-2da696c4978b\", \"label\": \"/shots/sq01/Video_1sq01sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"992ab293-943b-4894-8a7f-c42b54b4d582\", \"creator_attributes\": {\"parentInstance\": \"/shots/sq01/Video_1sq01sh010 shot\", \"vSyncOn\": false, \"vSyncTrack\": \"Video 1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184",
|
||||
"clip_source_resolution": {
|
||||
"height": "1080",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "1920"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"vSyncOn": false,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "992ab293-943b-4894-8a7f-c42b54b4d582",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "5b526964-5805-4412-af09-2da696c4978b",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5ca7b240-ec4c-49d1-841d-a96c33a08b1b",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "cfea9be4-3ecd-4253-a0a9-1a2bc9a4a184",
|
||||
"clip_source_resolution": {
|
||||
"height": "1080",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "1920"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 39,
|
||||
"clipIn": 543,
|
||||
"clipOut": 582,
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1040,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 34,
|
||||
"sourceOut": 73,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "5b526964-5805-4412-af09-2da696c4978b",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5ca7b240-ec4c-49d1-841d-a96c33a08b1b",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 53.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {},
|
||||
"name": "output.[1000-1100].tif",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\Users\\robin\\OneDrive\\Bureau\\dev_ayon\\samples",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".tif",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 25.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,216 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {},
|
||||
"name": "output.[1000-1100].exr",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 104.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"clip_index": "18b19490-21ea-4533-9e0c-03f434c66f14",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "18b19490-21ea-4533-9e0c-03f434c66f14",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq_old_otio/sh010 shot",
|
||||
"vSyncOn": true,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "/shots/sq_old_otio/sh010",
|
||||
"folderPath": "/shots/sq_old_otio/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq_old_otio",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq_old_otio",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "d27c5f77-7218-44ca-8061-5b6d33f96116",
|
||||
"label": "/shots/sq_old_otio/sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "24792946-9ac4-4c8d-922f-80a83dea4be1",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq_old_otio",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video 1",
|
||||
"sequence": "sq_old_otio",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": null,
|
||||
"track": "{_track_}",
|
||||
"uuid": "dec1a40b-7ce8-43cd-94b8-08a53056a171",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "18b19490-21ea-4533-9e0c-03f434c66f14",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 104,
|
||||
"clipIn": 90000,
|
||||
"clipOut": 90104,
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1105,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 0,
|
||||
"sourceOut": 104,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "/shots/sq_old_otio/sh010",
|
||||
"folderPath": "/shots/sq_old_otio/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq_old_otio",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq_old_otio",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "24792946-9ac4-4c8d-922f-80a83dea4be1",
|
||||
"label": "/shots/sq_old_otio/sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq_old_otio",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video 1",
|
||||
"sequence": "sq_old_otio",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": null,
|
||||
"track": "{_track_}",
|
||||
"uuid": "dec1a40b-7ce8-43cd-94b8-08a53056a171",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AYONData",
|
||||
"color": "MINT",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 52.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {
|
||||
"height": 720,
|
||||
"isSequence": true,
|
||||
"padding": 4,
|
||||
"pixelAspect": 1.0,
|
||||
"width": 956
|
||||
},
|
||||
"name": "",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1000.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\legacy\\",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".exr",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 24.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,358 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Link Group ID": 1
|
||||
}
|
||||
},
|
||||
"name": "simple_editorial_setup.mp4",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 171.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"1000": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"1000": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cef0267f-bbf4-4959-9f22-d225e03f2532\", \"clip_source_resolution\": {\"width\": \"640\", \"height\": \"360\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"3af1b00a-5625-468d-af17-8ed29fa8608a\", \"reviewTrack\": null, \"label\": \"/shots/sq01/Video_1sq01sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"b6e33343-2410-4de4-935e-724bc74301e1\", \"creator_attributes\": {\"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1172, \"clipIn\": 1097, \"clipOut\": 1268, \"clipDuration\": 171, \"sourceIn\": 0, \"sourceOut\": 171, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo_1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video_1\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cef0267f-bbf4-4959-9f22-d225e03f2532\", \"clip_source_resolution\": {\"width\": \"640\", \"height\": \"360\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"3af1b00a-5625-468d-af17-8ed29fa8608a\", \"reviewTrack\": null, \"parent_instance_id\": \"b6e33343-2410-4de4-935e-724bc74301e1\", \"label\": \"/shots/sq01/Video_1sq01sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"ef8fe238-c970-4a16-be67-76f446113c4b\", \"creator_attributes\": {\"parentInstance\": \"/shots/sq01/Video_1sq01sh010 shot\", \"vSyncOn\": false, \"vSyncTrack\": \"Video 1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"cef0267f-bbf4-4959-9f22-d225e03f2532\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "cef0267f-bbf4-4959-9f22-d225e03f2532",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "cef0267f-bbf4-4959-9f22-d225e03f2532",
|
||||
"clip_source_resolution": {
|
||||
"height": "360",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "640"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"vSyncOn": false,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "ef8fe238-c970-4a16-be67-76f446113c4b",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "b6e33343-2410-4de4-935e-724bc74301e1",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "3af1b00a-5625-468d-af17-8ed29fa8608a",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "cef0267f-bbf4-4959-9f22-d225e03f2532",
|
||||
"clip_source_resolution": {
|
||||
"height": "360",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "640"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 171,
|
||||
"clipIn": 1097,
|
||||
"clipOut": 1268,
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1172,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 0,
|
||||
"sourceOut": 171,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "b6e33343-2410-4de4-935e-724bc74301e1",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "3af1b00a-5625-468d-af17-8ed29fa8608a",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 85.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ExternalReference.1",
|
||||
"metadata": {},
|
||||
"name": "simple_editorial_setup.mp4",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 16450.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url": "C:\\Users\\robin\\OneDrive\\Bureau\\dev_ayon\\data\\simple_editorial_setup.mp4"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,289 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Track.1",
|
||||
"metadata": {},
|
||||
"name": "Video 2",
|
||||
"source_range": null,
|
||||
"effects": [],
|
||||
"markers": [],
|
||||
"enabled": true,
|
||||
"children": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Gap.1",
|
||||
"metadata": {},
|
||||
"name": "",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 2.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"markers": [],
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {},
|
||||
"name": "output",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 88.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"markers": [],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {
|
||||
"clip.properties.blendfunc": "0",
|
||||
"clip.properties.colourspacename": "default ()",
|
||||
"clip.properties.domainroot": "",
|
||||
"clip.properties.enabled": "1",
|
||||
"clip.properties.expanded": "1",
|
||||
"clip.properties.opacity": "1",
|
||||
"clip.properties.valuesource": "",
|
||||
"foundry.source.audio": "",
|
||||
"foundry.source.bitmapsize": "0",
|
||||
"foundry.source.bitsperchannel": "0",
|
||||
"foundry.source.channelformat": "integer",
|
||||
"foundry.source.colourtransform": "scene_linear",
|
||||
"foundry.source.duration": "101",
|
||||
"foundry.source.filename": "output.%04d.exr 1000-1100",
|
||||
"foundry.source.filesize": "",
|
||||
"foundry.source.fragments": "101",
|
||||
"foundry.source.framerate": "24",
|
||||
"foundry.source.fullpath": "",
|
||||
"foundry.source.height": "1080",
|
||||
"foundry.source.layers": "colour",
|
||||
"foundry.source.pixelAspect": "1",
|
||||
"foundry.source.pixelAspectRatio": "",
|
||||
"foundry.source.pixelformat": "RGBA (Float16) Open Color IO space: 7",
|
||||
"foundry.source.reelID": "",
|
||||
"foundry.source.resolution": "",
|
||||
"foundry.source.samplerate": "Invalid",
|
||||
"foundry.source.shortfilename": "output.%04d.exr 1000-1100",
|
||||
"foundry.source.shot": "",
|
||||
"foundry.source.shotDate": "",
|
||||
"foundry.source.startTC": "",
|
||||
"foundry.source.starttime": "1000",
|
||||
"foundry.source.timecode": "87399",
|
||||
"foundry.source.umid": "bbfe0c90-5b76-424a-6351-4dac36a8dde7",
|
||||
"foundry.source.umidOriginator": "foundry.source.umid",
|
||||
"foundry.source.width": "1920",
|
||||
"foundry.timeline.autodiskcachemode": "Manual",
|
||||
"foundry.timeline.colorSpace": "scene_linear",
|
||||
"foundry.timeline.duration": "101",
|
||||
"foundry.timeline.framerate": "24",
|
||||
"foundry.timeline.outputformat": "",
|
||||
"foundry.timeline.poster": "0",
|
||||
"foundry.timeline.posterLayer": "colour",
|
||||
"foundry.timeline.readParams": "AAAAAQAAAAAAAAAFAAAACmNvbG9yc3BhY2UAAAAFaW50MzIAAAAAAAAAC2VkZ2VfcGl4ZWxzAAAABWludDMyAAAAAAAAABFpZ25vcmVfcGFydF9uYW1lcwAAAARib29sAAAAAAhub3ByZWZpeAAAAARib29sAAAAAB5vZmZzZXRfbmVnYXRpdmVfZGlzcGxheV93aW5kb3cAAAAEYm9vbAE=",
|
||||
"foundry.timeline.samplerate": "Invalid",
|
||||
"isSequence": true,
|
||||
"media.exr.channels": "B:{1 0 1 1},G:{1 0 1 1},R:{1 0 1 1}",
|
||||
"media.exr.compression": "2",
|
||||
"media.exr.compressionName": "Zip (1 scanline)",
|
||||
"media.exr.dataWindow": "1,1,1918,1078",
|
||||
"media.exr.displayWindow": "0,0,1919,1079",
|
||||
"media.exr.lineOrder": "0",
|
||||
"media.exr.nuke.input.frame_rate": "24",
|
||||
"media.exr.nuke.input.timecode": "01:00:41:15",
|
||||
"media.exr.pixelAspectRatio": "1",
|
||||
"media.exr.screenWindowCenter": "0,0",
|
||||
"media.exr.screenWindowWidth": "1",
|
||||
"media.exr.type": "scanlineimage",
|
||||
"media.exr.version": "1",
|
||||
"media.input.bitsperchannel": "16-bit half float",
|
||||
"media.input.ctime": "2024-09-23 08:37:23",
|
||||
"media.input.filereader": "exr",
|
||||
"media.input.filesize": "1095868",
|
||||
"media.input.frame": "1",
|
||||
"media.input.frame_rate": "24",
|
||||
"media.input.height": "1080",
|
||||
"media.input.mtime": "2024-09-23 08:37:23",
|
||||
"media.input.timecode": "01:00:41:15",
|
||||
"media.input.width": "1920",
|
||||
"media.nuke.full_layer_names": "0",
|
||||
"media.nuke.node_hash": "9b",
|
||||
"media.nuke.version": "15.1v2",
|
||||
"openpype.source.colourtransform": "scene_linear",
|
||||
"openpype.source.height": 1080,
|
||||
"openpype.source.pixelAspect": 1.0,
|
||||
"openpype.source.width": 1920,
|
||||
"padding": 4
|
||||
},
|
||||
"name": "",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1000.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\with_tc",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".exr",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 24.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {},
|
||||
"name": "output",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 11.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [],
|
||||
"markers": [],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ImageSequenceReference.1",
|
||||
"metadata": {
|
||||
"clip.properties.blendfunc": "0",
|
||||
"clip.properties.colourspacename": "default ()",
|
||||
"clip.properties.domainroot": "",
|
||||
"clip.properties.enabled": "1",
|
||||
"clip.properties.expanded": "1",
|
||||
"clip.properties.opacity": "1",
|
||||
"clip.properties.valuesource": "",
|
||||
"foundry.source.audio": "",
|
||||
"foundry.source.bitmapsize": "0",
|
||||
"foundry.source.bitsperchannel": "0",
|
||||
"foundry.source.channelformat": "integer",
|
||||
"foundry.source.colourtransform": "scene_linear",
|
||||
"foundry.source.duration": "101",
|
||||
"foundry.source.filename": "output.%04d.exr 1000-1100",
|
||||
"foundry.source.filesize": "",
|
||||
"foundry.source.fragments": "101",
|
||||
"foundry.source.framerate": "24",
|
||||
"foundry.source.fullpath": "",
|
||||
"foundry.source.height": "1080",
|
||||
"foundry.source.layers": "colour",
|
||||
"foundry.source.pixelAspect": "1",
|
||||
"foundry.source.pixelAspectRatio": "",
|
||||
"foundry.source.pixelformat": "RGBA (Float16) Open Color IO space: 7",
|
||||
"foundry.source.reelID": "",
|
||||
"foundry.source.resolution": "",
|
||||
"foundry.source.samplerate": "Invalid",
|
||||
"foundry.source.shortfilename": "output.%04d.exr 1000-1100",
|
||||
"foundry.source.shot": "",
|
||||
"foundry.source.shotDate": "",
|
||||
"foundry.source.startTC": "",
|
||||
"foundry.source.starttime": "1000",
|
||||
"foundry.source.timecode": "87399",
|
||||
"foundry.source.umid": "bbfe0c90-5b76-424a-6351-4dac36a8dde7",
|
||||
"foundry.source.umidOriginator": "foundry.source.umid",
|
||||
"foundry.source.width": "1920",
|
||||
"foundry.timeline.autodiskcachemode": "Manual",
|
||||
"foundry.timeline.colorSpace": "scene_linear",
|
||||
"foundry.timeline.duration": "101",
|
||||
"foundry.timeline.framerate": "24",
|
||||
"foundry.timeline.outputformat": "",
|
||||
"foundry.timeline.poster": "0",
|
||||
"foundry.timeline.posterLayer": "colour",
|
||||
"foundry.timeline.readParams": "AAAAAQAAAAAAAAAFAAAACmNvbG9yc3BhY2UAAAAFaW50MzIAAAAAAAAAC2VkZ2VfcGl4ZWxzAAAABWludDMyAAAAAAAAABFpZ25vcmVfcGFydF9uYW1lcwAAAARib29sAAAAAAhub3ByZWZpeAAAAARib29sAAAAAB5vZmZzZXRfbmVnYXRpdmVfZGlzcGxheV93aW5kb3cAAAAEYm9vbAE=",
|
||||
"foundry.timeline.samplerate": "Invalid",
|
||||
"isSequence": true,
|
||||
"media.exr.channels": "B:{1 0 1 1},G:{1 0 1 1},R:{1 0 1 1}",
|
||||
"media.exr.compression": "2",
|
||||
"media.exr.compressionName": "Zip (1 scanline)",
|
||||
"media.exr.dataWindow": "1,1,1918,1078",
|
||||
"media.exr.displayWindow": "0,0,1919,1079",
|
||||
"media.exr.lineOrder": "0",
|
||||
"media.exr.nuke.input.frame_rate": "24",
|
||||
"media.exr.nuke.input.timecode": "01:00:41:15",
|
||||
"media.exr.pixelAspectRatio": "1",
|
||||
"media.exr.screenWindowCenter": "0,0",
|
||||
"media.exr.screenWindowWidth": "1",
|
||||
"media.exr.type": "scanlineimage",
|
||||
"media.exr.version": "1",
|
||||
"media.input.bitsperchannel": "16-bit half float",
|
||||
"media.input.ctime": "2024-09-23 08:37:23",
|
||||
"media.input.filereader": "exr",
|
||||
"media.input.filesize": "1095868",
|
||||
"media.input.frame": "1",
|
||||
"media.input.frame_rate": "24",
|
||||
"media.input.height": "1080",
|
||||
"media.input.mtime": "2024-09-23 08:37:23",
|
||||
"media.input.timecode": "01:00:41:15",
|
||||
"media.input.width": "1920",
|
||||
"media.nuke.full_layer_names": "0",
|
||||
"media.nuke.node_hash": "9b",
|
||||
"media.nuke.version": "15.1v2",
|
||||
"openpype.source.colourtransform": "scene_linear",
|
||||
"openpype.source.height": 1080,
|
||||
"openpype.source.pixelAspect": 1.0,
|
||||
"openpype.source.width": 1920,
|
||||
"padding": 4
|
||||
},
|
||||
"name": "",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 101.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1000.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url_base": "C:\\with_tc",
|
||||
"name_prefix": "output.",
|
||||
"name_suffix": ".exr",
|
||||
"start_frame": 1000,
|
||||
"frame_step": 1,
|
||||
"rate": 24.0,
|
||||
"frame_zero_padding": 4,
|
||||
"missing_frame_policy": "error"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
],
|
||||
"kind": "Video"
|
||||
}
|
||||
|
|
@ -0,0 +1,356 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "qt_embedded_tc.mov",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 44.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 90032.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"-32": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"1009": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"-32": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"1009": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"297fbf7a-7636-44b5-a308-809098298fae\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"3e459c3f-cc87-42c6-95c0-f11435ec8ace\", \"reviewTrack\": null, \"label\": \"/shots/sq01/Video_1sq01sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"acebdee4-5f4a-4ebd-8c22-6ef2725c2070\", \"creator_attributes\": {\"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1045, \"clipIn\": 509, \"clipOut\": 553, \"clipDuration\": 44, \"sourceIn\": 32, \"sourceOut\": 76, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo_1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video_1\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"297fbf7a-7636-44b5-a308-809098298fae\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"3e459c3f-cc87-42c6-95c0-f11435ec8ace\", \"reviewTrack\": null, \"parent_instance_id\": \"acebdee4-5f4a-4ebd-8c22-6ef2725c2070\", \"label\": \"/shots/sq01/Video_1sq01sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"ffd09d3c-227c-4be0-8788-dec30daf7f78\", \"creator_attributes\": {\"parentInstance\": \"/shots/sq01/Video_1sq01sh010 shot\", \"vSyncOn\": false, \"vSyncTrack\": \"Video 1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"297fbf7a-7636-44b5-a308-809098298fae\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "297fbf7a-7636-44b5-a308-809098298fae",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "297fbf7a-7636-44b5-a308-809098298fae",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"vSyncOn": false,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "ffd09d3c-227c-4be0-8788-dec30daf7f78",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "acebdee4-5f4a-4ebd-8c22-6ef2725c2070",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "3e459c3f-cc87-42c6-95c0-f11435ec8ace",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "297fbf7a-7636-44b5-a308-809098298fae",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 44,
|
||||
"clipIn": 509,
|
||||
"clipOut": 553,
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1045,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 32,
|
||||
"sourceOut": 76,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "acebdee4-5f4a-4ebd-8c22-6ef2725c2070",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "3e459c3f-cc87-42c6-95c0-f11435ec8ace",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 90054.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ExternalReference.1",
|
||||
"metadata": {},
|
||||
"name": "qt_embedded_tc.mov",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 100.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 86400.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url": "C:\\Users\\robin\\OneDrive\\Bureau\\dev_ayon\\data\\qt_embedded_tc.mov"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,356 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "qt_embedded_tc.mov",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 68.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 86414.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"-14": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"986": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"-14": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"986": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/seq_qt_tc/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"12cce00c-eadf-4abd-ac80-0816a24506ab\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_tc\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_qt_tc\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_qt_tc\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_tc\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5dc397e0-1142-4a35-969d-d4c35c512f0f\", \"reviewTrack\": \"Video1\", \"label\": \"/shots/seq_qt_tc/sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"6f4bbf76-6638-4645-9059-0f516c0c12c2\", \"creator_attributes\": {\"folderPath\": \"/shots/seq_qt_tc/sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1069, \"clipIn\": 86516, \"clipOut\": 86584, \"clipDuration\": 68, \"sourceIn\": 14, \"sourceOut\": 82, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video1\", \"folderPath\": \"/shots/seq_qt_tc/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"12cce00c-eadf-4abd-ac80-0816a24506ab\", \"clip_source_resolution\": {\"width\": \"956\", \"height\": \"720\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_tc\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_qt_tc\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_qt_tc\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_tc\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5dc397e0-1142-4a35-969d-d4c35c512f0f\", \"reviewTrack\": \"Video1\", \"parent_instance_id\": \"6f4bbf76-6638-4645-9059-0f516c0c12c2\", \"label\": \"/shots/seq_qt_tc/sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"1d11a6b5-cc2b-49d8-8bcb-35187c785b22\", \"creator_attributes\": {\"parentInstance\": \"/shots/seq_qt_tc/sh010 shot\", \"vSyncOn\": true, \"vSyncTrack\": \"Video1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"12cce00c-eadf-4abd-ac80-0816a24506ab\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "12cce00c-eadf-4abd-ac80-0816a24506ab",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "12cce00c-eadf-4abd-ac80-0816a24506ab",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/seq_qt_tc/sh010 shot",
|
||||
"vSyncOn": true,
|
||||
"vSyncTrack": "Video1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_qt_tc/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_qt_tc",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_qt_tc",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "1d11a6b5-cc2b-49d8-8bcb-35187c785b22",
|
||||
"label": "/shots/seq_qt_tc/sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "6f4bbf76-6638-4645-9059-0f516c0c12c2",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_qt_tc",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_qt_tc",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5dc397e0-1142-4a35-969d-d4c35c512f0f",
|
||||
"variant": "Video1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "12cce00c-eadf-4abd-ac80-0816a24506ab",
|
||||
"clip_source_resolution": {
|
||||
"height": "720",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "956"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 68,
|
||||
"clipIn": 86516,
|
||||
"clipOut": 86584,
|
||||
"folderPath": "/shots/seq_qt_tc/sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1069,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 14,
|
||||
"sourceOut": 82,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_qt_tc/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_qt_tc",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_qt_tc",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "6f4bbf76-6638-4645-9059-0f516c0c12c2",
|
||||
"label": "/shots/seq_qt_tc/sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_qt_tc",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_qt_tc",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5dc397e0-1142-4a35-969d-d4c35c512f0f",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 86448.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ExternalReference.1",
|
||||
"metadata": {},
|
||||
"name": "qt_embedded_tc.mov",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 100.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 86400.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url": "C:\\data\\qt_embedded_tc.mov"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,365 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Link Group ID": 1
|
||||
}
|
||||
},
|
||||
"name": "simple_editorial_setup.mp4",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 171.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "LinearTimeWarp.1",
|
||||
"metadata": {},
|
||||
"name": "",
|
||||
"effect_name": "",
|
||||
"time_scalar": 2.5
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"1000": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"1000": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cef0267f-bbf4-4959-9f22-d225e03f2532\", \"clip_source_resolution\": {\"width\": \"640\", \"height\": \"360\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"2a780b95-14cc-45de-acc0-3ecd1f504325\", \"reviewTrack\": null, \"label\": \"/shots/sq01/Video_1sq01sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"e8af785a-484f-452b-8c9c-ac31ef0696c4\", \"creator_attributes\": {\"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1172, \"clipIn\": 805, \"clipOut\": 976, \"clipDuration\": 171, \"sourceIn\": 0, \"sourceOut\": 171, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo_1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video_1\", \"folderPath\": \"/shots/sq01/Video_1sq01sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"cef0267f-bbf4-4959-9f22-d225e03f2532\", \"clip_source_resolution\": {\"width\": \"640\", \"height\": \"360\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/sq01\", \"sourceResolution\": false, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"sq01\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"sq01\", \"track\": \"Video_1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"2a780b95-14cc-45de-acc0-3ecd1f504325\", \"reviewTrack\": null, \"parent_instance_id\": \"e8af785a-484f-452b-8c9c-ac31ef0696c4\", \"label\": \"/shots/sq01/Video_1sq01sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"a34e7048-3d86-4c29-88c7-f65b1ba3d777\", \"creator_attributes\": {\"parentInstance\": \"/shots/sq01/Video_1sq01sh010 shot\", \"vSyncOn\": false, \"vSyncTrack\": \"Video 1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"cef0267f-bbf4-4959-9f22-d225e03f2532\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "cef0267f-bbf4-4959-9f22-d225e03f2532",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "cef0267f-bbf4-4959-9f22-d225e03f2532",
|
||||
"clip_source_resolution": {
|
||||
"height": "360",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "640"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"vSyncOn": false,
|
||||
"vSyncTrack": "Video 1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "a34e7048-3d86-4c29-88c7-f65b1ba3d777",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "e8af785a-484f-452b-8c9c-ac31ef0696c4",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo_1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "2a780b95-14cc-45de-acc0-3ecd1f504325",
|
||||
"variant": "Video_1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "cef0267f-bbf4-4959-9f22-d225e03f2532",
|
||||
"clip_source_resolution": {
|
||||
"height": "360",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "640"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 171,
|
||||
"clipIn": 805,
|
||||
"clipOut": 976,
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1172,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 0,
|
||||
"sourceOut": 171,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/sq01/Video_1sq01sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/sq01",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "sq01",
|
||||
"shot": "sh010",
|
||||
"track": "Video_1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "e8af785a-484f-452b-8c9c-ac31ef0696c4",
|
||||
"label": "/shots/sq01/Video_1sq01sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "sq01",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": null,
|
||||
"sequence": "sq01",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": false,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "2a780b95-14cc-45de-acc0-3ecd1f504325",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 85.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ExternalReference.1",
|
||||
"metadata": {},
|
||||
"name": "simple_editorial_setup.mp4",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 16450.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url": "C:\\Users\\robin\\OneDrive\\Bureau\\dev_ayon\\data\\simple_editorial_setup.mp4"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,356 @@
|
|||
{
|
||||
"OTIO_SCHEMA": "Clip.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {}
|
||||
},
|
||||
"name": "3 jours dans les coulisses du ZEvent 2024.mp4",
|
||||
"source_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 50.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Transform",
|
||||
"Enabled": true,
|
||||
"Name": "Transform",
|
||||
"Parameters": [],
|
||||
"Type": 2
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Cropping",
|
||||
"Enabled": true,
|
||||
"Name": "Cropping",
|
||||
"Parameters": [],
|
||||
"Type": 3
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Dynamic Zoom",
|
||||
"Enabled": false,
|
||||
"Name": "Dynamic Zoom",
|
||||
"Parameters": [
|
||||
{
|
||||
"Default Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
"1000": {
|
||||
"Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomCenter",
|
||||
"Parameter Value": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"Variant Type": "POINTF"
|
||||
},
|
||||
{
|
||||
"Default Parameter Value": 1.0,
|
||||
"Key Frames": {
|
||||
"0": {
|
||||
"Value": 0.8,
|
||||
"Variant Type": "Double"
|
||||
},
|
||||
"1000": {
|
||||
"Value": 1.0,
|
||||
"Variant Type": "Double"
|
||||
}
|
||||
},
|
||||
"Parameter ID": "dynamicZoomScale",
|
||||
"Parameter Value": 1.0,
|
||||
"Variant Type": "Double",
|
||||
"maxValue": 100.0,
|
||||
"minValue": 0.01
|
||||
}
|
||||
],
|
||||
"Type": 59
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Composite",
|
||||
"Enabled": true,
|
||||
"Name": "Composite",
|
||||
"Parameters": [],
|
||||
"Type": 1
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Lens Correction",
|
||||
"Enabled": true,
|
||||
"Name": "Lens Correction",
|
||||
"Parameters": [],
|
||||
"Type": 43
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Retime and Scaling",
|
||||
"Enabled": true,
|
||||
"Name": "Retime and Scaling",
|
||||
"Parameters": [],
|
||||
"Type": 22
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
},
|
||||
{
|
||||
"OTIO_SCHEMA": "Effect.1",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Effect Name": "Video Faders",
|
||||
"Enabled": true,
|
||||
"Name": "Video Faders",
|
||||
"Parameters": [],
|
||||
"Type": 36
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"effect_name": "Resolve Effect"
|
||||
}
|
||||
],
|
||||
"markers": [
|
||||
{
|
||||
"OTIO_SCHEMA": "Marker.2",
|
||||
"metadata": {
|
||||
"Resolve_OTIO": {
|
||||
"Keywords": [],
|
||||
"Note": "{\"resolve_sub_products\": {\"io.ayon.creators.resolve.shot\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"shot\", \"productName\": \"shotMain\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.shot\", \"variant\": \"Main\", \"folderPath\": \"/shots/seq_qt_no_tc/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"c3d9fb4f-afdf-49e3-9733-bf80e40e0de3\", \"clip_source_resolution\": {\"width\": \"640\", \"height\": \"360\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_no_tc\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_qt_no_tc\", \"sourceResolution\": true, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_qt_no_tc\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_no_tc\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5ab44838-a173-422a-8750-d5265e5a4ab5\", \"reviewTrack\": \"Video1\", \"label\": \"/shots/seq_qt_no_tc/sh010 shot\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"ba8e76cd-7319-449d-93b5-93fd65cf3e83\", \"creator_attributes\": {\"folderPath\": \"/shots/seq_qt_no_tc/sh010\", \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"frameStart\": 1001, \"frameEnd\": 1051, \"clipIn\": 86477, \"clipOut\": 86527, \"clipDuration\": 50, \"sourceIn\": 0, \"sourceOut\": 50, \"fps\": \"from_selection\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}, \"io.ayon.creators.resolve.plate\": {\"id\": \"pyblish.avalon.instance\", \"productType\": \"plate\", \"productName\": \"plateVideo1\", \"active\": true, \"creator_identifier\": \"io.ayon.creators.resolve.plate\", \"variant\": \"Video1\", \"folderPath\": \"/shots/seq_qt_no_tc/sh010\", \"task\": \"Generic\", \"clip_variant\": \"<track_name>\", \"clip_index\": \"c3d9fb4f-afdf-49e3-9733-bf80e40e0de3\", \"clip_source_resolution\": {\"width\": \"640\", \"height\": \"360\", \"pixelAspect\": 1.0}, \"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_no_tc\", \"track\": \"{_track_}\", \"shot\": \"sh###\", \"hierarchy\": \"shots/seq_qt_no_tc\", \"sourceResolution\": true, \"workfileFrameStart\": 1001, \"handleStart\": 10, \"handleEnd\": 10, \"parents\": [{\"folder_type\": \"folder\", \"entity_name\": \"shots\"}, {\"folder_type\": \"sequence\", \"entity_name\": \"seq_qt_no_tc\"}], \"hierarchyData\": {\"folder\": \"shots\", \"episode\": \"ep01\", \"sequence\": \"seq_qt_no_tc\", \"track\": \"Video1\", \"shot\": \"sh010\"}, \"heroTrack\": true, \"uuid\": \"5ab44838-a173-422a-8750-d5265e5a4ab5\", \"reviewTrack\": \"Video1\", \"parent_instance_id\": \"ba8e76cd-7319-449d-93b5-93fd65cf3e83\", \"label\": \"/shots/seq_qt_no_tc/sh010 plate\", \"has_promised_context\": true, \"newHierarchyIntegration\": true, \"newAssetPublishing\": true, \"instance_id\": \"4a1cd220-c638-4e77-855c-cebd43b5dbc3\", \"creator_attributes\": {\"parentInstance\": \"/shots/seq_qt_no_tc/sh010 shot\", \"vSyncOn\": true, \"vSyncTrack\": \"Video1\"}, \"publish_attributes\": {\"CollectSlackFamilies\": {\"additional_message\": \"\"}}}}, \"clip_index\": \"c3d9fb4f-afdf-49e3-9733-bf80e40e0de3\", \"publish\": true}"
|
||||
},
|
||||
"clip_index": "c3d9fb4f-afdf-49e3-9733-bf80e40e0de3",
|
||||
"publish": true,
|
||||
"resolve_sub_products": {
|
||||
"io.ayon.creators.resolve.plate": {
|
||||
"active": true,
|
||||
"clip_index": "c3d9fb4f-afdf-49e3-9733-bf80e40e0de3",
|
||||
"clip_source_resolution": {
|
||||
"height": "360",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "640"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"parentInstance": "/shots/seq_qt_no_tc/sh010 shot",
|
||||
"vSyncOn": true,
|
||||
"vSyncTrack": "Video1"
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.plate",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_qt_no_tc/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_qt_no_tc",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_qt_no_tc",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "4a1cd220-c638-4e77-855c-cebd43b5dbc3",
|
||||
"label": "/shots/seq_qt_no_tc/sh010 plate",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parent_instance_id": "ba8e76cd-7319-449d-93b5-93fd65cf3e83",
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_qt_no_tc",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "plateVideo1",
|
||||
"productType": "plate",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_qt_no_tc",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": true,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5ab44838-a173-422a-8750-d5265e5a4ab5",
|
||||
"variant": "Video1",
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"io.ayon.creators.resolve.shot": {
|
||||
"active": true,
|
||||
"clip_index": "c3d9fb4f-afdf-49e3-9733-bf80e40e0de3",
|
||||
"clip_source_resolution": {
|
||||
"height": "360",
|
||||
"pixelAspect": 1.0,
|
||||
"width": "640"
|
||||
},
|
||||
"clip_variant": "<track_name>",
|
||||
"creator_attributes": {
|
||||
"clipDuration": 50,
|
||||
"clipIn": 86477,
|
||||
"clipOut": 86527,
|
||||
"folderPath": "/shots/seq_qt_no_tc/sh010",
|
||||
"fps": "from_selection",
|
||||
"frameEnd": 1051,
|
||||
"frameStart": 1001,
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"sourceIn": 0,
|
||||
"sourceOut": 50,
|
||||
"workfileFrameStart": 1001
|
||||
},
|
||||
"creator_identifier": "io.ayon.creators.resolve.shot",
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"folderPath": "/shots/seq_qt_no_tc/sh010",
|
||||
"handleEnd": 10,
|
||||
"handleStart": 10,
|
||||
"has_promised_context": true,
|
||||
"heroTrack": true,
|
||||
"hierarchy": "shots/seq_qt_no_tc",
|
||||
"hierarchyData": {
|
||||
"episode": "ep01",
|
||||
"folder": "shots",
|
||||
"sequence": "seq_qt_no_tc",
|
||||
"shot": "sh010",
|
||||
"track": "Video1"
|
||||
},
|
||||
"id": "pyblish.avalon.instance",
|
||||
"instance_id": "ba8e76cd-7319-449d-93b5-93fd65cf3e83",
|
||||
"label": "/shots/seq_qt_no_tc/sh010 shot",
|
||||
"newAssetPublishing": true,
|
||||
"newHierarchyIntegration": true,
|
||||
"parents": [
|
||||
{
|
||||
"entity_name": "shots",
|
||||
"folder_type": "folder"
|
||||
},
|
||||
{
|
||||
"entity_name": "seq_qt_no_tc",
|
||||
"folder_type": "sequence"
|
||||
}
|
||||
],
|
||||
"productName": "shotMain",
|
||||
"productType": "shot",
|
||||
"publish_attributes": {
|
||||
"CollectSlackFamilies": {
|
||||
"additional_message": ""
|
||||
}
|
||||
},
|
||||
"reviewTrack": "Video1",
|
||||
"sequence": "seq_qt_no_tc",
|
||||
"shot": "sh###",
|
||||
"sourceResolution": true,
|
||||
"task": "Generic",
|
||||
"track": "{_track_}",
|
||||
"uuid": "5ab44838-a173-422a-8750-d5265e5a4ab5",
|
||||
"variant": "Main",
|
||||
"workfileFrameStart": 1001
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "AyonData",
|
||||
"color": "GREEN",
|
||||
"marked_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 1.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 24.0,
|
||||
"value": 25.0
|
||||
}
|
||||
},
|
||||
"comment": ""
|
||||
}
|
||||
],
|
||||
"enabled": true,
|
||||
"media_references": {
|
||||
"DEFAULT_MEDIA": {
|
||||
"OTIO_SCHEMA": "ExternalReference.1",
|
||||
"metadata": {},
|
||||
"name": "3 jours dans les coulisses du ZEvent 2024.mp4",
|
||||
"available_range": {
|
||||
"OTIO_SCHEMA": "TimeRange.1",
|
||||
"duration": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 30822.0
|
||||
},
|
||||
"start_time": {
|
||||
"OTIO_SCHEMA": "RationalTime.1",
|
||||
"rate": 25.0,
|
||||
"value": 0.0
|
||||
}
|
||||
},
|
||||
"available_image_bounds": null,
|
||||
"target_url": "C:\\data\\movie.mp4"
|
||||
}
|
||||
},
|
||||
"active_media_reference_key": "DEFAULT_MEDIA"
|
||||
}
|
||||
|
|
@ -0,0 +1,330 @@
|
|||
import mock
|
||||
import os
|
||||
import pytest # noqa
|
||||
from typing import NamedTuple
|
||||
|
||||
import opentimelineio as otio
|
||||
|
||||
from ayon_core.plugins.publish import extract_otio_review
|
||||
|
||||
|
||||
_RESOURCE_DIR = os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
"resources"
|
||||
)
|
||||
|
||||
|
||||
class MockInstance():
|
||||
""" Mock pyblish instance for testing purpose.
|
||||
"""
|
||||
def __init__(self, data: dict):
|
||||
self.data = data
|
||||
self.context = self
|
||||
|
||||
|
||||
class CaptureFFmpegCalls():
|
||||
""" Mock calls made to ffmpeg subprocess.
|
||||
"""
|
||||
def __init__(self):
|
||||
self.calls = []
|
||||
|
||||
def append_call(self, *args, **kwargs):
|
||||
ffmpeg_args_list, = args
|
||||
self.calls.append(" ".join(ffmpeg_args_list))
|
||||
return True
|
||||
|
||||
def get_ffmpeg_executable(self, _):
|
||||
return ["/path/to/ffmpeg"]
|
||||
|
||||
|
||||
def run_process(file_name: str, instance_data: dict = None):
|
||||
"""
|
||||
"""
|
||||
# Prepare dummy instance and capture call object
|
||||
capture_call = CaptureFFmpegCalls()
|
||||
processor = extract_otio_review.ExtractOTIOReview()
|
||||
Anatomy = NamedTuple("Anatomy", project_name=str)
|
||||
|
||||
if not instance_data:
|
||||
# Get OTIO review data from serialized file_name
|
||||
file_path = os.path.join(_RESOURCE_DIR, file_name)
|
||||
clip = otio.schema.Clip.from_json_file(file_path)
|
||||
|
||||
instance_data = {
|
||||
"otioReviewClips": [clip],
|
||||
"handleStart": 10,
|
||||
"handleEnd": 10,
|
||||
"workfileFrameStart": 1001,
|
||||
}
|
||||
|
||||
instance_data.update({
|
||||
"folderPath": "/dummy/path",
|
||||
"anatomy": Anatomy("test_project"),
|
||||
})
|
||||
instance = MockInstance(instance_data)
|
||||
|
||||
# Mock calls to extern and run plugins.
|
||||
with mock.patch.object(
|
||||
extract_otio_review,
|
||||
"get_ffmpeg_tool_args",
|
||||
side_effect=capture_call.get_ffmpeg_executable,
|
||||
):
|
||||
with mock.patch.object(
|
||||
extract_otio_review,
|
||||
"run_subprocess",
|
||||
side_effect=capture_call.append_call,
|
||||
):
|
||||
with mock.patch.object(
|
||||
processor,
|
||||
"_get_folder_name_based_prefix",
|
||||
return_value="output."
|
||||
):
|
||||
with mock.patch.object(
|
||||
processor,
|
||||
"staging_dir",
|
||||
return_value="C:/result/"
|
||||
):
|
||||
processor.process(instance)
|
||||
|
||||
# return all calls made to ffmpeg subprocess
|
||||
return capture_call.calls
|
||||
|
||||
|
||||
def test_image_sequence_with_embedded_tc_and_handles_out_of_range():
|
||||
"""
|
||||
Img sequence clip (embedded timecode 1h/24fps)
|
||||
available_files = 1000-1100
|
||||
available_range = 87399-87500 24fps
|
||||
source_range = 87399-87500 24fps
|
||||
"""
|
||||
calls = run_process("img_seq_embedded_tc_review.json")
|
||||
|
||||
expected = [
|
||||
# 10 head black handles generated from gap (991-1000)
|
||||
"/path/to/ffmpeg -t 0.4166666666666667 -r 24.0 -f lavfi -i "
|
||||
"color=c=black:s=1280x720 -tune stillimage -start_number 991 "
|
||||
"C:/result/output.%03d.jpg",
|
||||
|
||||
# 10 tail black handles generated from gap (1102-1111)
|
||||
"/path/to/ffmpeg -t 0.4166666666666667 -r 24.0 -f lavfi -i "
|
||||
"color=c=black:s=1280x720 -tune stillimage -start_number 1102 "
|
||||
"C:/result/output.%03d.jpg",
|
||||
|
||||
# Report from source exr (1001-1101) with enforce framerate
|
||||
"/path/to/ffmpeg -start_number 1000 -framerate 24.0 -i "
|
||||
f"C:\\exr_embedded_tc{os.sep}output.%04d.exr -start_number 1001 "
|
||||
"C:/result/output.%03d.jpg"
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
||||
|
||||
def test_image_sequence_and_handles_out_of_range():
|
||||
"""
|
||||
Img sequence clip (no timecode)
|
||||
available_files = 1000-1100
|
||||
available_range = 0-101 25fps
|
||||
source_range = 5-91 24fps
|
||||
"""
|
||||
calls = run_process("img_seq_review.json")
|
||||
|
||||
expected = [
|
||||
# 5 head black frames generated from gap (991-995)
|
||||
"/path/to/ffmpeg -t 0.2 -r 25.0 -f lavfi -i color=c=black:s=1280x720 -tune "
|
||||
"stillimage -start_number 991 C:/result/output.%03d.jpg",
|
||||
|
||||
# 9 tail back frames generated from gap (1097-1105)
|
||||
"/path/to/ffmpeg -t 0.36 -r 25.0 -f lavfi -i color=c=black:s=1280x720 -tune "
|
||||
"stillimage -start_number 1097 C:/result/output.%03d.jpg",
|
||||
|
||||
# Report from source tiff (996-1096)
|
||||
# 996-1000 = additional 5 head frames
|
||||
# 1001-1095 = source range conformed to 25fps
|
||||
# 1096-1096 = additional 1 tail frames
|
||||
"/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i "
|
||||
f"C:\\tif_seq{os.sep}output.%04d.tif -start_number 996 C:/result/output.%03d.jpg"
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
||||
|
||||
def test_movie_with_embedded_tc_no_gap_handles():
|
||||
"""
|
||||
Qt movie clip (embedded timecode 1h/24fps)
|
||||
available_range = 86400-86500 24fps
|
||||
source_range = 86414-86482 24fps
|
||||
"""
|
||||
calls = run_process("qt_embedded_tc_review.json")
|
||||
|
||||
expected = [
|
||||
# Handles are all included in media available range.
|
||||
# Extract source range from Qt
|
||||
# - first_frame = 14 src - 10 (head tail) = frame 4 = 0.1666s
|
||||
# - duration = 68fr (source) + 20fr (handles) = 88frames = 3.666s
|
||||
"/path/to/ffmpeg -ss 0.16666666666666666 -t 3.6666666666666665 "
|
||||
"-i C:\\data\\qt_embedded_tc.mov -start_number 991 "
|
||||
"C:/result/output.%03d.jpg"
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
||||
|
||||
def test_short_movie_head_gap_handles():
|
||||
"""
|
||||
Qt movie clip.
|
||||
available_range = 0-30822 25fps
|
||||
source_range = 0-50 24fps
|
||||
"""
|
||||
calls = run_process("qt_review.json")
|
||||
|
||||
expected = [
|
||||
# 10 head black frames generated from gap (991-1000)
|
||||
"/path/to/ffmpeg -t 0.4 -r 25.0 -f lavfi -i color=c=black:s=1280x720 -tune "
|
||||
"stillimage -start_number 991 C:/result/output.%03d.jpg",
|
||||
|
||||
# source range + 10 tail frames
|
||||
# duration = 50fr (source) + 10fr (tail handle) = 60 fr = 2.4s
|
||||
"/path/to/ffmpeg -ss 0.0 -t 2.4 -i C:\\data\\movie.mp4 -start_number 1001 "
|
||||
"C:/result/output.%03d.jpg"
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
||||
|
||||
def test_short_movie_tail_gap_handles():
|
||||
"""
|
||||
Qt movie clip.
|
||||
available_range = 0-101 24fps
|
||||
source_range = 35-101 24fps
|
||||
"""
|
||||
calls = run_process("qt_handle_tail_review.json")
|
||||
|
||||
expected = [
|
||||
# 10 tail black frames generated from gap (1067-1076)
|
||||
"/path/to/ffmpeg -t 0.4166666666666667 -r 24.0 -f lavfi -i "
|
||||
"color=c=black:s=1280x720 -tune stillimage -start_number 1067 "
|
||||
"C:/result/output.%03d.jpg",
|
||||
|
||||
# 10 head frames + source range
|
||||
# duration = 10fr (head handle) + 66fr (source) = 76fr = 3.16s
|
||||
"/path/to/ffmpeg -ss 1.0416666666666667 -t 3.1666666666666665 -i "
|
||||
"C:\\data\\qt_no_tc_24fps.mov -start_number 991 C:/result/output.%03d.jpg"
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
||||
def test_multiple_review_clips_no_gap():
|
||||
"""
|
||||
Use multiple review clips (image sequence).
|
||||
Timeline 25fps
|
||||
"""
|
||||
file_path = os.path.join(_RESOURCE_DIR, "multiple_review_clips.json")
|
||||
clips = otio.schema.Track.from_json_file(file_path)
|
||||
instance_data = {
|
||||
"otioReviewClips": clips,
|
||||
"handleStart": 10,
|
||||
"handleEnd": 10,
|
||||
"workfileFrameStart": 1001,
|
||||
}
|
||||
|
||||
calls = run_process(
|
||||
None,
|
||||
instance_data=instance_data
|
||||
)
|
||||
|
||||
expected = [
|
||||
# 10 head black frames generated from gap (991-1000)
|
||||
'/path/to/ffmpeg -t 0.4 -r 25.0 -f lavfi -i color=c=black:s=1280x720 -tune '
|
||||
'stillimage -start_number 991 C:/result/output.%03d.jpg',
|
||||
|
||||
# Alternance 25fps tiff sequence and 24fps exr sequence for 100 frames each
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1001 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 24.0 -i '
|
||||
f'C:\\with_tc{os.sep}output.%04d.exr '
|
||||
'-start_number 1102 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1199 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 24.0 -i '
|
||||
f'C:\\with_tc{os.sep}output.%04d.exr '
|
||||
'-start_number 1300 C:/result/output.%03d.jpg',
|
||||
|
||||
# Repeated 25fps tiff sequence multiple times till the end
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1397 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1498 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1599 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1700 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1801 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 1902 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 2003 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 2104 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 25.0 -i '
|
||||
f'C:\\no_tc{os.sep}output.%04d.tif '
|
||||
'-start_number 2205 C:/result/output.%03d.jpg'
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
||||
def test_multiple_review_clips_with_gap():
|
||||
"""
|
||||
Use multiple review clips (image sequence) with gap.
|
||||
Timeline 24fps
|
||||
"""
|
||||
file_path = os.path.join(_RESOURCE_DIR, "multiple_review_clips_gap.json")
|
||||
clips = otio.schema.Track.from_json_file(file_path)
|
||||
instance_data = {
|
||||
"otioReviewClips": clips,
|
||||
"handleStart": 10,
|
||||
"handleEnd": 10,
|
||||
"workfileFrameStart": 1001,
|
||||
}
|
||||
|
||||
calls = run_process(
|
||||
None,
|
||||
instance_data=instance_data
|
||||
)
|
||||
|
||||
expected = [
|
||||
# Gap on review track (12 frames)
|
||||
'/path/to/ffmpeg -t 0.5 -r 24.0 -f lavfi -i color=c=black:s=1280x720 -tune '
|
||||
'stillimage -start_number 991 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 24.0 -i '
|
||||
f'C:\\with_tc{os.sep}output.%04d.exr '
|
||||
'-start_number 1003 C:/result/output.%03d.jpg',
|
||||
|
||||
'/path/to/ffmpeg -start_number 1000 -framerate 24.0 -i '
|
||||
f'C:\\with_tc{os.sep}output.%04d.exr '
|
||||
'-start_number 1091 C:/result/output.%03d.jpg'
|
||||
]
|
||||
|
||||
assert calls == expected
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
import os
|
||||
|
||||
import opentimelineio as otio
|
||||
|
||||
from ayon_core.pipeline.editorial import get_media_range_with_retimes
|
||||
|
||||
|
||||
_RESOURCE_DIR = os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
"resources"
|
||||
)
|
||||
|
||||
|
||||
def _check_expected_retimed_values(
|
||||
file_name: str,
|
||||
expected_retimed_data: dict,
|
||||
handle_start: int = 10,
|
||||
handle_end: int = 10,
|
||||
):
|
||||
file_path = os.path.join(_RESOURCE_DIR, file_name)
|
||||
otio_clip = otio.schema.Clip.from_json_file(file_path)
|
||||
|
||||
retimed_data = get_media_range_with_retimes(
|
||||
otio_clip, handle_start, handle_end
|
||||
)
|
||||
assert retimed_data == expected_retimed_data
|
||||
|
||||
|
||||
def test_movie_with_end_handle_end_only():
|
||||
"""
|
||||
Movie clip (no embedded timecode)
|
||||
available_range = 0-171 25fps
|
||||
source_range = 0-16450 25fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 0.0,
|
||||
'mediaOut': 170.0,
|
||||
'handleStart': 0,
|
||||
'handleEnd': 10,
|
||||
'speed': 1.0
|
||||
}
|
||||
_check_expected_retimed_values(
|
||||
"movie_with_handles.json",
|
||||
expected_data,
|
||||
)
|
||||
|
||||
|
||||
def test_movie_embedded_tc_handle():
|
||||
"""
|
||||
Movie clip (embedded timecode 1h)
|
||||
available_range = 86400-86500 24fps
|
||||
source_range = 90032-90076 25fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 30.720000000001164,
|
||||
'mediaOut': 71.9600000000064,
|
||||
'handleStart': 10,
|
||||
'handleEnd': 10,
|
||||
'speed': 1.0
|
||||
}
|
||||
_check_expected_retimed_values(
|
||||
"qt_embedded_tc.json",
|
||||
expected_data
|
||||
)
|
||||
|
||||
|
||||
def test_movie_retime_effect():
|
||||
"""
|
||||
Movie clip (embedded timecode 1h)
|
||||
available_range = 0-171 25fps
|
||||
source_range = 0-16450 25fps
|
||||
retimed speed: 250%
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 0.0,
|
||||
'mediaOut': 426.5,
|
||||
'handleStart': 0,
|
||||
'handleEnd': 25,
|
||||
'speed': 2.5,
|
||||
'versionData': {
|
||||
'retime': True,
|
||||
'speed': 2.5,
|
||||
'timewarps': [],
|
||||
'handleStart': 0,
|
||||
'handleEnd': 25
|
||||
}
|
||||
}
|
||||
_check_expected_retimed_values(
|
||||
"qt_retimed_speed.json",
|
||||
expected_data
|
||||
)
|
||||
|
||||
|
||||
def test_img_sequence_no_handles():
|
||||
"""
|
||||
Img sequence clip (no embedded timecode)
|
||||
available files = 1000-1100
|
||||
source_range = 0-100 25fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 1000,
|
||||
'mediaOut': 1100,
|
||||
'handleStart': 0,
|
||||
'handleEnd': 0,
|
||||
'speed': 1.0
|
||||
}
|
||||
_check_expected_retimed_values(
|
||||
"img_seq_no_handles.json",
|
||||
expected_data
|
||||
)
|
||||
|
||||
|
||||
def test_img_sequence_with_handles():
|
||||
"""
|
||||
Img sequence clip (no embedded timecode)
|
||||
available files = 1000-1100
|
||||
source_range = 34-72 25fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 1034,
|
||||
'mediaOut': 1072,
|
||||
'handleStart': 10,
|
||||
'handleEnd': 10,
|
||||
'speed': 1.0
|
||||
}
|
||||
_check_expected_retimed_values(
|
||||
"img_seq_with_handles.json",
|
||||
expected_data
|
||||
)
|
||||
|
||||
|
||||
def test_img_sequence_with_embedded_tc_and_handles():
|
||||
"""
|
||||
Img sequence clip (embedded timecode 1h)
|
||||
available files = 1000-1100
|
||||
source_range = 91046.625-91120.625 25fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 1005,
|
||||
'mediaOut': 1075,
|
||||
'handleStart': 5,
|
||||
'handleEnd': 10,
|
||||
'speed': 1.0
|
||||
}
|
||||
_check_expected_retimed_values(
|
||||
"img_seq_embedded_tc.json",
|
||||
expected_data
|
||||
)
|
||||
|
||||
|
||||
def test_img_sequence_relative_source_range():
|
||||
"""
|
||||
Img sequence clip (embedded timecode 1h)
|
||||
available files = 1000-1100
|
||||
source_range = fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 1000,
|
||||
'mediaOut': 1098,
|
||||
'handleStart': 0,
|
||||
'handleEnd': 2,
|
||||
'speed': 1.0
|
||||
}
|
||||
|
||||
_check_expected_retimed_values(
|
||||
"legacy_img_sequence.json",
|
||||
expected_data
|
||||
)
|
||||
|
||||
def test_img_sequence_conform_to_23_976fps():
|
||||
"""
|
||||
Img sequence clip
|
||||
available files = 997-1047 23.976fps
|
||||
source_range = 997-1055 23.976024627685547fps
|
||||
"""
|
||||
expected_data = {
|
||||
'mediaIn': 997,
|
||||
'mediaOut': 1047,
|
||||
'handleStart': 0,
|
||||
'handleEnd': 8,
|
||||
'speed': 1.0
|
||||
}
|
||||
|
||||
_check_expected_retimed_values(
|
||||
"img_seq_23.976_metadata.json",
|
||||
expected_data,
|
||||
handle_start=0,
|
||||
handle_end=8,
|
||||
)
|
||||
9
tests/conftest.py
Normal file
9
tests/conftest.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
client_path = Path(__file__).resolve().parent.parent / "client"
|
||||
|
||||
# add client path to sys.path
|
||||
sys.path.append(str(client_path))
|
||||
|
||||
print(f"Added {client_path} to sys.path")
|
||||
|
|
@ -233,6 +233,13 @@ function Invoke-Codespell {
|
|||
& $Poetry $CodespellArgs
|
||||
}
|
||||
|
||||
function Run-From-Code {
|
||||
$Poetry = "$RepoRoot\.poetry\bin\poetry.exe"
|
||||
$RunArgs = @( "run")
|
||||
|
||||
& $Poetry $RunArgs @arguments
|
||||
}
|
||||
|
||||
function Write-Help {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
|
@ -248,6 +255,7 @@ function Write-Help {
|
|||
Write-Info -Text " ruff-check ", "Run Ruff check for the repository" -Color White, Cyan
|
||||
Write-Info -Text " ruff-fix ", "Run Ruff fix for the repository" -Color White, Cyan
|
||||
Write-Info -Text " codespell ", "Run codespell check for the repository" -Color White, Cyan
|
||||
Write-Info -Text " run ", "Run a poetry command in the repository environment" -Color White, Cyan
|
||||
Write-Host ""
|
||||
}
|
||||
|
||||
|
|
@ -269,6 +277,9 @@ function Resolve-Function {
|
|||
} elseif ($FunctionName -eq "codespell") {
|
||||
Set-Cwd
|
||||
Invoke-CodeSpell
|
||||
} elseif ($FunctionName -eq "run") {
|
||||
Set-Cwd
|
||||
Run-From-Code
|
||||
} else {
|
||||
Write-Host "Unknown function ""$FunctionName"""
|
||||
Write-Help
|
||||
|
|
|
|||
|
|
@ -157,6 +157,7 @@ default_help() {
|
|||
echo -e " ${BWhite}ruff-check${RST} ${BCyan}Run Ruff check for the repository${RST}"
|
||||
echo -e " ${BWhite}ruff-fix${RST} ${BCyan}Run Ruff fix for the repository${RST}"
|
||||
echo -e " ${BWhite}codespell${RST} ${BCyan}Run codespell check for the repository${RST}"
|
||||
echo -e " ${BWhite}run${RST} ${BCyan}Run a poetry command in the repository environment${RST}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
|
@ -175,6 +176,12 @@ run_codespell () {
|
|||
"$POETRY_HOME/bin/poetry" run codespell
|
||||
}
|
||||
|
||||
run_command () {
|
||||
echo -e "${BIGreen}>>>${RST} Running ..."
|
||||
shift; # will remove first arg ("run") from the "$@"
|
||||
"$POETRY_HOME/bin/poetry" run "$@"
|
||||
}
|
||||
|
||||
main () {
|
||||
detect_python || return 1
|
||||
|
||||
|
|
@ -207,6 +214,10 @@ main () {
|
|||
run_codespell || return_code=$?
|
||||
exit $return_code
|
||||
;;
|
||||
"run")
|
||||
run_command "$@" || return_code=$?
|
||||
exit $return_code
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$function_name" != "" ]; then
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue