Viewer Lock v1.7
This location is for Registered Users Only.
Perhaps you need to login or register.
12.2, 12.1, 12.0, 11.3, 11.2, 11.1, 11.0, 10.5, 10 or later
Linux, Mac, Windows
What is Viewer Lock?
Don't you hate it when your viewer's not connected to the nodes you think it's connected to? Like when you're rotoing and you're trying to A/B between the plate and the comp, but the roto node's overlay has hijacked Nuke's focus and now you're looking at some random roto node?
Usually when I ask people this, they say no. But I sure do, so I made this.
Viewer Lock is a tool that allows you to lock viewer inputs to nodes, so that they're always assigned to what you think they're assigned to. I've been using this personally for several years now and thought I'd share it in case there were people out there who also have this fairly niche problem.
Press Shift+V to open the Viewer Lock panel, or, if you already have one open, to bring it to focus.
The left row of checkboxes show which inputs are in use. Uncheck them to unassign the input. The right row of checkboxes show which inputs are locked. Check them to lock the input to the node it's currently assigned to, or to uncheck them to unlock. The checkboxes at the top unassign all inputs and lock/unlock all inputs, respectively.
You can also use shortcuts:
- Ctrl+Alt+(number) will lock the input to the selected node, or reassign a locked input to the selected node.
- Ctrl+Shift+(number) will unlock the input and assign it to the selected node as normal.
- Ctrl+Alt+V and Ctrl+Shift+V will lock and unlock all inputs respectively.
I haven't tested this on a Mac, so there may be some weirdness that I haven't accounted for, but it should work. I'll test on a Mac when I am able to.
This is not yet updated for Python 3 / Nuke 13.
This will not work with non-commercial Nuke because of Python restrictions. :(
Unzip the file and move the contents to your .nuke folder, keeping the contents of the viewerLock folder inside that folder. If you already have a menu.py file, combine it with this one.
Rather than a custom node, Viewer Lock is a Python script that is called by updateUI and knobChanged callbacks and simply intercepts viewer hotkeys and reassigns viewer node inputs to make sure everything stays connected to where the user wants it to be. It works (almost) entirely independently of the Nuke script and so using it has no impact on users who don't have it installed and may need to pick up your script.
The only changes that Viewer Lock makes to a script is adding hidden checkbox knobs to viewer nodes to keep track of lock states between Nuke sessions. Without Viewer Lock they have no function and can't interfere with a script -- you won't even know they're there!
- Hotfix to better match default nuke behaviour. Selected nodes in the node graph should no longer hijack unlocked inputs when the viewer window is selected and a viewer hotkey (0-9) is pressed. Thanks James Rowell for pointing this out!
- A Python 3 update whenever my studio switches to Nuke 13!
- Along with that update I hope to do some code cleanup and bug squashing so email me at [email protected] with any bugs and crashes you come across, along with instructions to replicate the bug if possible and the version of Nuke you're using