mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
resolve: wip subset resources collection
This commit is contained in:
parent
ee7b506d31
commit
75fa36c8e9
1 changed files with 52 additions and 63 deletions
|
|
@ -1,9 +1,10 @@
|
||||||
|
# TODO: this head doc string
|
||||||
"""
|
"""
|
||||||
Requires:
|
Requires:
|
||||||
|
instance -> otio_clip
|
||||||
|
|
||||||
|
Optional:
|
||||||
instance -> review
|
instance -> review
|
||||||
instance -> masterLayer
|
|
||||||
instance -> otioClip
|
|
||||||
context -> otioTimeline
|
|
||||||
|
|
||||||
Provides:
|
Provides:
|
||||||
instance -> otioReviewClips
|
instance -> otioReviewClips
|
||||||
|
|
@ -30,71 +31,59 @@ class CollectOcioSubsetResources(pyblish.api.InstancePlugin):
|
||||||
# generate range in parent
|
# generate range in parent
|
||||||
otio_src_range = otio_clip.source_range
|
otio_src_range = otio_clip.source_range
|
||||||
otio_avalable_range = otio_clip.available_range()
|
otio_avalable_range = otio_clip.available_range()
|
||||||
otio_visible_range = otio_clip.visible_range()
|
|
||||||
otio_src_range_handles = pype.lib.otio_range_with_handles(
|
otio_src_range_handles = pype.lib.otio_range_with_handles(
|
||||||
otio_src_range, instance)
|
otio_src_range, instance)
|
||||||
trimmed_media_range = pype.lib.trim_media_range(
|
trimmed_media_range = pype.lib.trim_media_range(
|
||||||
otio_avalable_range, otio_src_range_handles)
|
otio_avalable_range, otio_src_range_handles)
|
||||||
|
|
||||||
self.log.debug(
|
|
||||||
"_ otio_avalable_range: {}".format(otio_avalable_range))
|
|
||||||
self.log.debug(
|
|
||||||
"_ otio_visible_range: {}".format(otio_visible_range))
|
|
||||||
self.log.debug(
|
|
||||||
"_ otio_src_range: {}".format(otio_src_range))
|
|
||||||
self.log.debug(
|
|
||||||
"_ otio_src_range_handles: {}".format(otio_src_range_handles))
|
|
||||||
self.log.debug(
|
self.log.debug(
|
||||||
"_ trimmed_media_range: {}".format(trimmed_media_range))
|
"_ trimmed_media_range: {}".format(trimmed_media_range))
|
||||||
|
|
||||||
#
|
media_ref = otio_clip.media_reference
|
||||||
# media_ref = otio_clip.media_reference
|
metadata = media_ref.metadata
|
||||||
# metadata = media_ref.metadata
|
|
||||||
#
|
# check in two way if it is sequence
|
||||||
# if isinstance(media_ref, otio.schema.ImageSequenceReference):
|
if hasattr(otio.schema, "ImageSequenceReference"):
|
||||||
# dirname = media_ref.target_url_base
|
# for OpenTimelineIO 0.13 and newer
|
||||||
# head = media_ref.name_prefix
|
if isinstance(media_ref,
|
||||||
# tail = media_ref.name_suffix
|
otio.schema.ImageSequenceReference):
|
||||||
# first, last = pype.lib.otio_range_to_frame_range(
|
is_sequence = True
|
||||||
# available_range)
|
else:
|
||||||
# collection = clique.Collection(
|
# for OpenTimelineIO 0.12 and older
|
||||||
# head=head,
|
if metadata.get("padding"):
|
||||||
# tail=tail,
|
is_sequence = True
|
||||||
# padding=media_ref.frame_zero_padding
|
|
||||||
# )
|
first, last = pype.lib.otio_range_to_frame_range(
|
||||||
# collection.indexes.update(
|
trimmed_media_range)
|
||||||
# [i for i in range(first, (last + 1))])
|
|
||||||
# # render segment
|
self.log.info(
|
||||||
# self._render_seqment(
|
"first-last: {}-{}".format(first, last))
|
||||||
# sequence=[dirname, collection])
|
|
||||||
# # generate used frames
|
if is_sequence:
|
||||||
# self._generate_used_frames(
|
# file sequence way
|
||||||
# len(collection.indexes))
|
if hasattr(media_ref, "target_url_base"):
|
||||||
# elif metadata.get("padding"):
|
dirname = media_ref.target_url_base
|
||||||
# # in case it is file sequence but not new OTIO schema
|
head = media_ref.name_prefix
|
||||||
# # `ImageSequenceReference`
|
tail = media_ref.name_suffix
|
||||||
# path = media_ref.target_url
|
collection = clique.Collection(
|
||||||
# dir_path, collection = self._make_sequence_collection(
|
head=head,
|
||||||
# path, available_range, metadata)
|
tail=tail,
|
||||||
#
|
padding=media_ref.frame_zero_padding
|
||||||
# # render segment
|
)
|
||||||
# self._render_seqment(
|
collection.indexes.update(
|
||||||
# sequence=[dir_path, collection])
|
[i for i in range(first, (last + 1))])
|
||||||
# # generate used frames
|
# TODO: add representation
|
||||||
# self._generate_used_frames(
|
self.log.debug((dirname, collection))
|
||||||
# len(collection.indexes))
|
else:
|
||||||
# else:
|
# in case it is file sequence but not new OTIO schema
|
||||||
# path = media_ref.target_url
|
# `ImageSequenceReference`
|
||||||
# # render video file to sequence
|
path = media_ref.target_url
|
||||||
# self._render_seqment(
|
dir_path, collection = pype.lib.make_sequence_collection(
|
||||||
# video=[path, available_range])
|
path, trimmed_media_range, metadata)
|
||||||
# # generate used frames
|
|
||||||
# self._generate_used_frames(
|
# TODO: add representation
|
||||||
# available_range.duration.value)
|
self.log.debug((dir_path, collection))
|
||||||
#
|
else:
|
||||||
# instance.data["otioReviewClips"] = otio_review_clips
|
path = media_ref.target_url
|
||||||
# self.log.debug(
|
# TODO: add representation
|
||||||
# "_ otio_review_clips: {}".format(otio_review_clips))
|
self.log.debug(path)
|
||||||
#
|
|
||||||
# self.log.debug(
|
|
||||||
# "_ instance.data: {}".format(pformat(instance.data)))
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue