A library of composable context managers for Nuke
Project description
nukecontexts is a library of composable context managers for Nuke to manage the state of complex compositing scripts in code.
Installation
To install nukecontexts, type:
$ pip install nukecontexts
Open Nuke’s init.py file and add:
nuke.pluginAddPath('/path/to/your/local/python/site-packages')
Getting Started
The most common use case for nukecontexts is automated rendering of multiple states of a compositing script. For example two different output formats, jpg and png.
import nuke
from nukecontexts import ctx
render_node = nuke.toNode('Write1')
with ctx.set_attr(render_node, 'file_type', 'jpeg'):
nuke.execute(render_node.name(), 1, 1, 1)
with ctx.set_attr(render_node, 'file_type', 'png'):
nuke.execute(render_node.name(), 1, 1, 1)
The power of nukecontexts comes with composable contexts, using multiple_contexts(). Arbitrarily complex, varying states of the compositing script can be defined and used to automatically generate different results.
merge_node = nuke.toNode('Merge1')
grade_node = nuke.toNode('Grade1')
switch_node = nuke.toNode('Switch1')
ctx1 = ctx.enable([merge_node, grade_node])
ctx2 = ctx.set_attr(grade_node, 'white', 2.0)
ctx3 = ctx.set_attr(switch_node, 'which', 0)
ctx4 = ctx.disable(merge_node)
with ctx.multiple_contexts([ctx1, ctx2, ctx3]):
"""Render with the merge_node and grade_node enabled, the
grade_node's white attribute set to 2.0 and the switch_node's switch
position set to 0."""
nuke.execute(render_node.name(), 1, 1, 1)
with ctx.multiple_contexts([ctx3, ctx4]):
"""Render with the switch_node's switch position set to 0 and the
merge node disabled; the grade_node's gain value remains at the
original value."""
nuke.execute(render_node.name(), 1, 1, 1)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nukecontexts-0.1.3.tar.gz
.
File metadata
- Download URL: nukecontexts-0.1.3.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf2f0ac5f79664bddd12be9f4b70a3167f9df27ac967cf65830de2030ac99c87 |
|
MD5 | 78d1acbdda2923bfbd51325f4ecbf4df |
|
BLAKE2b-256 | caa04457f5d99627c7056a7c8ce6f48031d19b7129dd33d17e7301198cb998ca |
File details
Details for the file nukecontexts-0.1.3-py2-none-any.whl
.
File metadata
- Download URL: nukecontexts-0.1.3-py2-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c648c93119aee581aa2cca7bb750a092cf7d511ead9606222af64a5be59093b5 |
|
MD5 | 9e51905d7184cf719b9810a782c57eac |
|
BLAKE2b-256 | 36f233940417ef5ff442bb027cea87da5a21d5d85e9e29935a4d3b50b3fdd9a0 |