mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
60 lines
1.3 KiB
Python
60 lines
1.3 KiB
Python
import sys
|
|
|
|
from avalon.vendor.Qt import QtGui
|
|
import avalon.nuke
|
|
|
|
import nuke
|
|
|
|
self = sys.modules[__name__]
|
|
self._project = None
|
|
|
|
|
|
def update_frame_range(start, end, root=None):
|
|
"""Set Nuke script start and end frame range
|
|
|
|
Args:
|
|
start (float, int): start frame
|
|
end (float, int): end frame
|
|
root (object, Optional): root object from nuke's script
|
|
|
|
Returns:
|
|
None
|
|
|
|
"""
|
|
|
|
knobs = {
|
|
"first_frame": start,
|
|
"last_frame": end
|
|
}
|
|
|
|
with avalon.nuke.viewer_update_and_undo_stop():
|
|
for key, value in knobs.items():
|
|
if root:
|
|
root[key].setValue(value)
|
|
else:
|
|
nuke.root()[key].setValue(value)
|
|
|
|
|
|
def get_additional_data(container):
|
|
"""Get Nuke's related data for the container
|
|
|
|
Args:
|
|
container(dict): the container found by the ls() function
|
|
|
|
Returns:
|
|
dict
|
|
"""
|
|
|
|
node = container["_tool"]
|
|
tile_color = node['tile_color'].value()
|
|
if tile_color is None:
|
|
return {}
|
|
|
|
hex = '%08x' % tile_color
|
|
rgba = [
|
|
float(int(hex[0:2], 16)) / 255.0,
|
|
float(int(hex[2:4], 16)) / 255.0,
|
|
float(int(hex[4:6], 16)) / 255.0
|
|
]
|
|
|
|
return {"color": QtGui.QColor().fromRgbF(rgba[0], rgba[1], rgba[2])}
|