Skip to content

Instantly share code, notes, and snippets.

@tokejepsen
Last active February 6, 2018 12:39
Show Gist options
  • Save tokejepsen/1a463e0702340e266fb59a57813c607a to your computer and use it in GitHub Desktop.
Save tokejepsen/1a463e0702340e266fb59a57813c607a to your computer and use it in GitHub Desktop.
NukeStudio replace all clips in sequence
sequence = hiero.ui.activeSequence()
bin = None
for item in sequence.project().clipsBin().bins():
if item.name() == "Conform":
bin = item
if bin is None:
bin = hiero.core.Bin("Conform")
sequence.project().clipsBin().addItem(bin)
data = {}
for video_track in sequence.videoTracks():
for item in video_track.items():
data[item.name()] = []
for video_track in sequence.videoTracks():
for item in video_track.items():
path = item.source().mediaSource().firstpath()
if os.path.exists(path):
try:
data.pop(item.name())
except KeyError:
pass
continue
data[item.name()].append(item)
directory = r"Y:\projects\test_project\in\source_footage"
for f in os.listdir(directory):
name = os.path.splitext(f)[0]
if name in data.keys():
clip = hiero.core.Clip(hiero.core.MediaSource(os.path.join(directory, f).replace("\\", "/")))
bin_item = hiero.core.BinItem(clip)
bin.addItem(bin_item)
for item in data[name]:
item.setSource(clip)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment