NodeTable v1.4


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Mitja Müller-Jend
A spreadsheet to display and edit multiple nodes at a time
Requirements:
11.0, 10.5, 10.0, 9.0, 8.0, 7.1, 7.0 or later
Linux, Windows
07 Sep 2018
340

demo1 1

Features:

  • view and edit multiple nodes at a time (hit enter/return to commit new value, esc to cancel editing)
  • filter by node classes, node names and knob names (comma seperated)
  • click on name selects node and shows it in node graph.
  • double click on name opens properties bin

 

Versions:

v1.4

  • Added option to menu bar to load selected Nodes inside of selected Groups.

v1.3

  • Bug fixes, performance and code style improvements.
  • Support for format knob.
  • Colums are resized after filtering.
  • Filter completer prefers shorter names and is now case insensitive.
  • Added warning when loading a large number of nodes.

v1.2

v1.1

  • colored rows
  • added filter for disabled and hidden knobs
  • bugfixes

v1.0:

  • initial release

Installation:

1. download Qt.py and copy only the Qt.py file into your .nuke folder or PYTHON_PATH

2.  You can download this tool from one of two sources:

    • nukepedia: Make sure to copy the NodeTable folder (as is - not individual files) into your .nuke folder or PYTHON_PATH.
    • bitbucket: Click `download repository` to download the latest version. Extract the files and place them into a `NodeTable` folder. You can also clone the repository: 
    •  git clone https://[email protected]/filmkorn/nodetable.git NodeTable

3. add to your menu.py:

from nukescripts import panels
def get_node_table_widget():
    from NodeTable import view as node_table_view
    return node_table_view.NodeTableWidget(nuke.selectedNodes())

panels.registerWidgetAsPanel('get_node_table_widget', 'Node Spreadsheet','de.filmkorn.NodeSpreadsheet', False)

Development Status:

  • Known bugs:
    • Colorchip knob can't be edited beyond int range.
    • Checkbox can't be interacted with. Workaround: pick either True or False from the dropdown and hit enter/return to apply the new value.
    • click on empty area in listview prints invalid index error.
    • Nuke might crash when editing cascading OCIO colorspace knobs on Read nodes.
    • Nodes in groups can't be loaded.
    • Shuffle nodes 'in' knobs are filtered as hidden (Nuke bug).
  • Some knob classes can NOT be edited yet.
  • Please report suggestions, bugs or feature requests on bitbucket!

 

MIT
Please login in order to download these files.

Comments   

 
# Frank Rueter 2017-09-06 02:04
nice!!! I have an unfinished version of this sitting on my server and never had the time to polish it off.
Can you make the rows have the same colour as the nodes?
I have the code sitting here for that part if you want it (ping me in email if you do)
 
 
# djati waskito 2017-09-06 06:20
Quoting Frank Rueter:
nice!!! I have an unfinished version of this sitting on my server and never had the time to polish it off.
Can you make the rows have the same colour as the nodes?
I have the code sitting here for that part if you want it (ping me in email if you do)

Yeah..it would be awesome if the rows have the same color as the nodes.
 
 
# Frank Rueter 2017-09-06 22:42
In case you want to incorporate this into your script, here are the two methods I use:
def __setColours(se lf):
'''get the node's actual tile colour'''
# bg colour
tileColour = self.node['tile _color'].value( ) or nuke.defaultNod eColor(self.nod e.Class())
bgCol = QtGui.QColor(*t ileToRGB(tileCo lour))
self.setBackground(QtGui.QBrush(bgCol))

def tileToRGB(v):
'''
__tileToRGB(v) -> tuple
Returns a tuple representing Red, Green, and Blue values
in a 0-255 range, from a 32 bit int as returned by Nuke's "tile_color" knob.
Keyword arguments:
v -- a 32 bit int as returned by Nuke's "tile_color" knob

Thanks to Ivan Busquets for this snippet
'''
R = (0xFF & v >> 24)
G = (0xFF & v >> 16)
B = (0xFF & v >> 8)
return R,G,B
 
 
# djati waskito 2017-09-06 06:19
this really helpfull ..thank you Mr.Mitja
 
 
# Frank Rueter 2017-09-06 06:56
Looks like it's only working in Nuke 11 as the knob_editors.py imports PySide2 directly rather than using Qt.py
 
 
# Frank Rueter 2017-09-06 22:41
Just to confirm: If you change the import statement in knob_editors.py to use Qt instead of PySide2 all seems to work well in Nuke 10.5.
 
 
# Mitja Müller-Jend 2017-09-08 19:19
Thanks for the input. Fixed the import and added coloured rows.
 
 
# Frank Rueter 2017-09-09 03:49
great, thanks!
 
 
# li zhaohui 2017-09-09 18:54
The panel is empty! ImportError: No module named NodeTable
 
 
# Frank Rueter 2017-09-09 22:27
You need to make sure the "NodeTable" folder is in your NUKE_PATH or inside your ~/.nuke directory
 
 
# li zhaohui 2017-09-11 03:18
ImportError: cannot import name knob_editors
 
 
# Mitja Müller-Jend 2017-10-18 04:45
Make sure to copy the whole folder, not just its content.
 
 
# Mohamed Abuzeid 2017-09-11 16:50
please make tutorial for installation , it's not easy , there's something wrong . Thanks .
 
 
# Frank Rueter 2017-09-11 22:37
It works just fine for me. Can you describe your installation steps so we can identify the issue?
 
 
# Nitant Karnik 2017-10-18 02:12
Hello, I can't seem to get the panel to show up in nuke. I should be able to right-click on the pane/tab area and see "Node Spreadsheet" in the list of windows right?

All the files are in the ~/.nuke directory and I don't see any errors
 
 
# Mitja Müller-Jend 2017-10-18 04:50
Yes, you should see the 'Node Spreadsheet' in the custom windows. Don't forget to add just the Qt.py file (https://github.com/mottosso/Qt.py/releases).
 
 
# Andreé Knutsson 2018-04-11 13:34
Funny enough, I get an error from NuBridge when I add the following pythonPath in our shared init.py

*nuke.pluginAddP ath("./Python/N odeTable")*

I've copied the qt.py into NUKE_PATH

OSX version 10.9.5
Nuke version 10.5v5

from terminal*
------------------------------------
Traceback (most recent call last):
File "*~"Path to nubridge pythonPath"*~/N uBridge/src/con troller/init.py ", line 4, in
import Nukepedia # for logger
File "src/controller /Nukepedia.py", line 20, in init controller.Nuke pedia (src/controller /Nukepedia.c:41 571)
File "src/controller /common.py", line 37, in init controller.comm on (src/controller/common.c:14396)
ImportError: No module named NukepediaDB
-------------------------------------------------------------

Edit: Nevermind, the nuke.pluginAddP ath("./Python/N odeTable") was unnecessary.
 
 
# Frank Rueter 2018-04-11 23:27
So you are ok or are you still seeing the import error?
 
 
# Mitja Müller-Jend 2018-04-11 23:40
It is not necessary to add `nuke.pluginAdd Path("./Python/ NodeTable")` to add this package to the plugin path. Adrée confirmed it's now working but I'm not sure why this line would mess with nuBridge.

https://bitbucket.org/filmkorn/nodetable/issues/45/nubridge-error-from-nodetable
 
 
# Frank Rueter 2018-04-12 00:04
Yes, that is very odd. Sometimes Python's import framework is pretty frustrating.
 
 
# Paul Loop 2017-09-20 17:39
Hi.Seems a great tool. But I have a problem when running.I can see a widget inside nuke, but I can't edit nodes, when I select something or entr node class nothing happens. I'm on win7 and nuke 10.5.
 
 
# Mitja Müller-Jend 2017-10-18 04:51
Do you see any errors? Please create a ticket here: https://bitbucket.org/filmkorn/nodetable/issues?status=new&status=open
 
 
# Frank Rueter 2018-06-28 23:13
Is there a way to make it deal with nested groups?
And a way to change knob values in relative way (i.e. current value * .5)?
 

You have no rights to post comments

We have 2340 guests and 52 members online