hiero: hound suggestions

This commit is contained in:
Jakub Jezek 2021-04-08 21:04:29 +02:00
parent 2db6bb534b
commit 61eb1cf200
No known key found for this signature in database
GPG key ID: C4B96E101D2A47F3
2 changed files with 19 additions and 15 deletions

View file

@ -9,7 +9,6 @@ import opentimelineio as otio
from . import utils from . import utils
import hiero.core import hiero.core
import hiero.ui import hiero.ui
reload(utils)
self = sys.modules[__name__] self = sys.modules[__name__]
self.track_types = { self.track_types = {

View file

@ -21,6 +21,7 @@ import opentimelineio as otio
_otio_old = False _otio_old = False
def inform(messages): def inform(messages):
if isinstance(messages, type('')): if isinstance(messages, type('')):
messages = [messages] messages = [messages]
@ -114,10 +115,9 @@ def apply_transition(otio_track, otio_item, track):
# Catch error raised if transition is bigger than TrackItem source # Catch error raised if transition is bigger than TrackItem source
except RuntimeError as e: except RuntimeError as e:
transition = None transition = None
warning = \ warning = (
'Unable to apply transition "{t.name}": {e} ' \ "Unable to apply transition \"{t.name}\": {e} "
'Ignoring the transition.' \ "Ignoring the transition.").format(t=otio_item, e=e.message)
.format(t=otio_item, e=e.message)
elif transition_type == 'fade_in': elif transition_type == 'fade_in':
transition_func = getattr( transition_func = getattr(
@ -384,7 +384,8 @@ def create_trackitem(playhead, track, otio_clip, clip):
time_scalar = effect.time_scalar time_scalar = effect.time_scalar
# Only reverse effect can be applied here # Only reverse effect can be applied here
if abs(time_scalar) == 1.: if abs(time_scalar) == 1.:
trackitem.setPlaybackSpeed(trackitem.playbackSpeed() * time_scalar) trackitem.setPlaybackSpeed(
trackitem.playbackSpeed() * time_scalar)
elif isinstance(effect, otio.schema.FreezeFrame): elif isinstance(effect, otio.schema.FreezeFrame):
# For freeze frame, playback speed must be set after range # For freeze frame, playback speed must be set after range
@ -433,7 +434,8 @@ def create_trackitem(playhead, track, otio_clip, clip):
return trackitem return trackitem
def build_sequence(otio_timeline, project=None, sequence=None, track_kind=None): def build_sequence(
otio_timeline, project=None, sequence=None, track_kind=None):
if project is None: if project is None:
if sequence: if sequence:
project = sequence.project() project = sequence.project()
@ -449,11 +451,13 @@ def build_sequence(otio_timeline, project=None, sequence=None, track_kind=None):
sequence = hiero.core.Sequence(otio_timeline.name or 'OTIOSequence') sequence = hiero.core.Sequence(otio_timeline.name or 'OTIOSequence')
# Set sequence settings from otio timeline if available # Set sequence settings from otio timeline if available
if hasattr(otio_timeline, 'global_start_time'): if (
if otio_timeline.global_start_time: hasattr(otio_timeline, 'global_start_time')
start_time = otio_timeline.global_start_time and otio_timeline.global_start_time
sequence.setFramerate(start_time.rate) ):
sequence.setTimecodeStart(start_time.value) start_time = otio_timeline.global_start_time
sequence.setFramerate(start_time.rate)
sequence.setTimecodeStart(start_time.value)
# Create a Bin to hold clips # Create a Bin to hold clips
projectbin.addItem(hiero.core.BinItem(sequence)) projectbin.addItem(hiero.core.BinItem(sequence))
@ -485,7 +489,7 @@ def build_sequence(otio_timeline, project=None, sequence=None, track_kind=None):
sequence.addTrack(track) sequence.addTrack(track)
# iterate over items in track # iterate over items in track
for itemnum, otio_clip in enumerate(otio_track): for _itemnum, otio_clip in enumerate(otio_track):
if isinstance(otio_clip, (otio.schema.Track, otio.schema.Stack)): if isinstance(otio_clip, (otio.schema.Track, otio.schema.Stack)):
inform('Nested sequences/tracks are created separately.') inform('Nested sequences/tracks are created separately.')
@ -529,9 +533,10 @@ def build_sequence(otio_timeline, project=None, sequence=None, track_kind=None):
playhead += otio_clip.source_range.duration.value playhead += otio_clip.source_range.duration.value
# Apply transitions we stored earlier now that all clips are present # Apply transitions we stored earlier now that all clips are present
warnings = list() warnings = []
for otio_track, otio_item in _transitions: for otio_track, otio_item in _transitions:
# Catch warnings form transitions in case of unsupported transitions # Catch warnings form transitions in case
# of unsupported transitions
warning = apply_transition(otio_track, otio_item, track) warning = apply_transition(otio_track, otio_item, track)
if warning: if warning:
warnings.append(warning) warnings.append(warning)