tabtabtab v1.8


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Ben Dickson
Alternative 'tab node creator thingy', with substring matching and weighting
Requirements:
11.0, 10.5, 10.0, 9.0, 8.0, 7.1, 7.0, 6.3 or later
Linux, Mac, Windows
11 Aug 2018
924

'tabtabtab', an alternative 'tab node creator thingy' for The Foundry's Nuke

It does substring matching (so 'blr' matches 'blur'), and weights your most used nodes first (so if I make the useful 'Add [math]' node often, it appears higher in the list than 'Add 3:2 pulldown')

Installation

Put tabtabtab on PYTHONPATH or NUKE_PATH somewhere (maybe in ~/.nuke/)

mkdir -p ~/.nuke
cd ~/.nuke
curl -O https://raw.github.com/dbr/tabtabtab-nuke/master/tabtabtab.py

Then to your ~/.nuke/menu.py add:

def ttt():
    import tabtabtab
    m_graph = nuke.menu('Node Graph')
    m_graph.addCommand('Tabtabtab', tabtabtab.main, 'Tab')

try:
    ttt()
except Exception:
    import traceback
    traceback.print_exc()

The original menu will still be available via 'Ctrl+Tab'. You can change the last 'Tab' argument to another shortcut if you wish.

Notes

This requires Nuke 6.3v5 or higher (for the integrated PySide module)

For older versions of 6.3, you must have a custom PyQt installation. For 6.2, see Dylan Palmboom's tabtabtabLegacy fork, which may also work in even more ancient version.

Relevant Foundry bug-id's:

  • [Fixed in Nuke 6.3v8] Bug #23576, 'Segmentation Fault on Nuke exit after using a custom PySide window' (causes a mostly harmless 'Segmentation fault' message on exiting Nuke)

  • Feature #11662 to get this functionality integrated into Nuke

In order to support Nuke 9, you need to use a different snippet in your menu.py, adding the tabtabtab call to the Node Graph instead of the Edit menu (see the updated installation instructions). The same snippet works in older verisons of Nuke.

More elabourate description

With the default 'tab thing', you press tab, start typing a node name (like 'Blu') and you get a list of nodes that start with 'Blu' (like 'Blur'):

Nuke

'tabtabtab' works very similarly, but does substring matching:

tabtabtab

In this example, 'tra' finds 'Transform' as you'd hope, but also other nodes, such as 'Trilinear'... This is appearing because the letters 'tra' can be found in order, 'TRilineAr'.

While this seems like it might cause lots of useless results, you quickly memorise shortcuts like 'trear' which matches 'TRilinEAR' and very little else. More usefully, 'trage' will uniquely match 'TRAnsformGEo' in an easy to type way, 'rdg' matches 'ReaDGeo'

The first letter must match, so 'geo' will match 'GeoSelect', but not 'ReadGeo'. However 'rgeo' will match 'ReadGeo'

Weighting

Each time you create a node, it's 'weight' is increase - the higher the weight, the higher the node appears in the list.

This means if you create lots of 'Add [math]' nodes, it will be weighted highly, so all you might need to type is tab then 'a', and it will be at the top of the list.

The nodes weight is shown by the block to the right of the node - the more green, the higher the weighting

Matching menu location

If you start typing a shortcut, it will only match the part before the '[Filter/SubMenu]' (e.g 'blf' will not match 'Blur [Filter]')

However if you type either '[' or two spaces, you can match against the menu location (the part in '[...]')

For example, 'ax' matches 'AddMix [Merge]' and 'Axis [3D]'. If you type 'ax[3' or 'ax 3' (ax-space-space-3) it will only match 'Axis [3D]'

Change log

  • v1.0

    • Basically working
  • v1.1

    • Node weights are saved
  • v1.2

    • Window appears under cursor
  • v1.3

    • Created node remains selected between tab's, meaning 'tabtab' creates the previously node
    • Clicking a node in the list creates it
    • Window doesn't go offscreen if cursor is near edge
  • v1.4

    • Blocks Nuke UI when active. This greatly improves usability when the weights are slow to load (e.g in heavy Nuke script, or slow home-dir access), as it prevents key-presses intended for tabtabtab from being handled by Nuke (possibly creating new/modifying nodes etc)
    • Up/down arrow keys cycle correctly
    • Indicator blocks now actually indicate node weights, instead of always being green. The blocks are also now narrower, which looks nicer
    • Prevent vertical scrollbar (reduced number of shown items to 15)
    • Node weights are loaded on every invokation, preventing overwriting of values with multiple Nuke instances
  • v1.5

    • Fixes crash-on-exit for Nuke 6.3v8 (as Nuke bug #23576 is closed)
    • Window now closes properly
  • v1.6

    • Code to add to menu.py more robust, so tabtabtab errors will never prevent Nuke from starting

    • Search string starting with space will disable the non-consecutive searching, so [tab][space]scen will create a Scene instead of a highly weight ScanlineRender

    • Exposes menu items in nuke.menu('Nuke') along with the nodes. Meaning items in the 'File' menu etc are exposed, for example [tab]exit will be the same as 'File > Exit'

  • v1.7

    • ToolSets/Delete submenu is excluded from tabtabtab. Github issue #6

    • Document that Ctrl+Tab opens the original tab menu

    • Fixed bug which caused the node list to stop updating

    Github issue #10

    • Fixed bug where 'last used node' might have matched a different node (contrived example: the restored Blur [Filter] search text might have matched the more highly weighted Blur2 [Filter])
  • v1.8

    • Installation instructions updated to support Nuke 9

    • Weights file no longer overwritten if it fails to load for some reason. Github issue #13

    • Support PySide2

Please login in order to download these files.

Comments   

 
0 # Frank Rueter 2012-01-08 13:29
very clever, well done!
 
 
0 # julian van mil 2012-01-08 14:31
awesome!
 
 
0 # Matthieu Cadet 2012-01-09 09:42
Thanks for this nice script ! the Weighting node is an awesome idea !

however i found some bug ...

- when you hit Tab, sometimes the focus is set to the QListView and sometimes to the QLineEdit. ( might be always on the QLineEdit no ? )
- when you select an item in the QListView by a mouse click, i cannot hit Enter to create the Node.
- it might be useful to have the same behaviour than the default Nuke Tab command, when you Single click on a item in the list, the Node is created.
and the next time you press Tab, make the QLineEdit remember the last created node name, so you can hit Enter again to create the last created Node.

I hope you can fix this :-)

thanks.
Maty.
 
 
0 # Ben Dickson 2012-01-09 16:17
Maty: Done - two people at work suggested the exact same thing! You can now create the node by clicking in the list, and it remembers the previously created node (which also fixes the QLineEdit losing focus)

If you rerun the first block of installation commands ("cd" and "curl"), you should get these changes (updated Nukepedia, but it takes a while to get approved)

Thanks for all the feedback!
 
 
0 # Frank Rueter 2012-01-09 16:27
I just approved the update
 
 
0 # Ivan Busquets 2012-01-09 22:44
Very cool!

Thanks Ben ;-)
 
 
0 # Matthieu Cadet 2012-01-10 01:47
@Ben i've made this request because two people at work asked me for them too ! do we work at the same place ?? :-)
by the way, your version 1.3 works very fine now, i think this feature will be added to the next release of Nuke ;-)

thanks for your update!

maty.
 
 
0 # Matthieu Cadet 2012-01-10 06:08
Hi Ben!

i've noticed another bug with your script :P
It seems that Nuke crash on application exit, when the Tabtabtab is called.
Here a simple case when this occur :

-Launch Nuke
-Hit Tab to display the Tabtabtab
-Click anywhere or hit Esc to kill the Tabtabtab
-Exit Nuke
> nuke crashed ...

note that if you don't hit Tab key to display Tabtabtab and quit Nuke, it won't crash.

here my actual configuration:
Windows 7 64bits
Nuke 6.3v5 64bits

I hope you can reproduce the bug and fix it :-)

thanks!
maty.
 
 
0 # Zach Lewis 2012-01-10 21:51
Man, I want to try this so badly, but I'm afraid of the habits I'll develop... really cool, either way.
 
 
0 # Andreas Restle 2012-01-25 06:57
I must be doing something wrong, I'm getting the following error message on startup:

ImportError: No module named sip

This is on Win7 x64. Does anyone know how to fix this?

Cheers
 
 
0 # Matthieu Cadet 2012-01-25 07:23
Mmmm, maybe its because you try to use this script with Nuke 6.3v4 or lower ?
this script needs at least the Nuke 6.3v5 or a good compiled version of PyQt or PySide i think,
because your error is related to PyQt.
 
 
0 # Andreas Restle 2012-01-25 08:08
Spot-on! Time for an update.

Thanks Matthieu, and thank you Ben of course.
 
 
0 # Matthieu Cadet 2012-02-15 06:49
Hi Ben!

I wanted to know if you have found a solution for my previous comment about Nuke crashing on exit
after opening the Tabtabtab ?

thanks! i want to use this tool again ! :-)
 
 
0 # Dylan Palmboom 2012-02-16 06:31
Hi Ben

Is there any way I can get this to work with Nuke 6.2v1? I really want to try it out :-)
 
 
0 # Dylan Palmboom 2012-02-16 06:36
When I press tab in Nuke 6.2v1, it crashes nuke and gives the following error: QWidget: Must construct a QApplication before a QPaintDevice

Maybe you know of a way to modify the code so it works on this version of Nuke?

Thanks
 
 
0 # Ben Dickson 2012-02-17 03:31
Matthieu: sadly that seems to be a Nuke bug, bug id #23576, "Segmentation Fault on Nuke exit after using a custom PySide window"

Dylan: Making it work pre Nuke 6.3v5 is probably doable, but not necessarily straight forward.. nukescripts/pyQ tAppUtils.py and http://www.nukepedia.com/gizmos/python-scripts/ui/pyqt-with-non-modal-widgets/ might be of help, but I don't have a pyQt installation to test with..
 
 
0 # Dylan Palmboom 2012-02-17 03:58
Thanks Ben, I've been experimenting with the code and have got the widget to pop up in Nuke making sure there is a QApplication object as in pyQtAppUtils. I had to set a style too so that it fits in with nuke 6.2 otherwise it is white. I will have a look at that non-modal widgets script :-). It might stop the viewer in a separate window disappearing everytime tabtabtab is opened... It's nothing major though :-). The main thing I would like to do, is get all the menu items in the Nodes menu as you do for Nuke 6.3. Nuke 6.2 doesn't seem to have an items() method to do this, so I'm not sure.

Your script is really clever!
 
 
0 # Dylan Palmboom 2012-02-17 07:54
Hi Ben, I have managed to get your tabtabtab to work with Nuke 6.2v1 :D! I ended up manually creating the list of menu items that populates the widget. I know this is not efficient (I can't find any methods to return the list of menu items in a menu), but it's a workaround for now haha. The list contains all the standard menu items. Let me know if you would like me to email you the slightly modified script to have as an option on your download for Nuke 6.2 users?
 
 
0 # Frank Rueter 2012-02-17 15:15
you can't upload two different versions of the same script and have them both be downloadable. Probably best to create anew upload (maybe "tabtabtabLegac y" or something).
Thanks for the cool stuff!
 
 
0 # Dylan Palmboom 2012-02-18 00:15
Thanks Frank, I will do that :-)
 
 
0 # Ben Dickson 2012-03-01 03:48
Just uploaded a new version 1.4, which fixes the main remaining bugs I'm aware of. Also the readme now mentions a few relevant bug-id's, the 6.3v5 version requirement, and tabtabtabLegacy o/
 
 
0 # Dylan Palmboom 2012-03-02 07:38
Hi Ben

I have just uploaded tabtabtabLegacy 1.4. I jumped the version from 1.0 to 1.4 just to keep it the same as yours. I like the changes and fixes you made. In tabtabtabLegacy .py, I have outlined the small changes I made in ###tabtabtabLeg acy### tags so that you can see what I did. They're very small changes. Maybe you could test it for Nuke 6.3 and if it works and you're happy to do it, incorporate it into your tabtabtab? In the code, it checks the version of Nuke, so maybe this will work.

Also, when you open tabtabtab on 6.3, and there's a viewer open in a seperate window, does that window disappear, then come back after the node is chosen in tabtabtab? It does that in 6.2v1 as I mentioned before, but it doesn't break anything. If you find a way to stop this happening, please let me know :-).

Thanks again, let me know how it goes.
 
 
0 # John Vanderbeck 2012-06-27 07:43
This is pretty sweet!

It would be nice though if it worked like the standard Tab menu, with things like ctrl-enter to replace node, and shift-enter for node in new branch.
 
 
0 # Ben Dickson 2012-07-06 15:23
Just submitted v1.5 which should fix the segfault-on-exi t problem.


You can install immediately by following the installation instructions in the readme:
https://github.com/dbr/tabtabtab-nuke/#installation


> Also, when you open tabtabtab on 6.3, and there's a viewer open in a seperate window, does that window disappear, then come back after the node is chosen in tabtabtab?

I suspect this is because creating a Qt window in pre 6.3 is very close to starting a separate application - so as far as Nuke things, it is not the focused application, so hides the viewer (I think there's an option to disable that viewer behaviour?). With the integrated Qt, Nuke remains the active window, so acts normally


I'll try and incorporate the legacy stuff at some point soon (forgot to do it for this version!) - I want to shuffle things around so the tabtabtabLegacy module is a short file with just the compatibility stuff in it, rather than have it mixed in with "if LEGACY:" type things, just for pedantic-tidyne ss sake :P

> with things like ctrl-enter to replace node

That should work already - or at least it does for me (on OS X with 6.3v7 and v8, and if I recall right it works on Linux also).

If it doesn't work for you, I'm stuck - the code just calls the regular `nuke.createNod e("Blur")` function, and that function checks if the modifier-keys are pressed and does the appropriate node-layout. I've not seen any function/parame ter to explicitly branch a node etc (short of making the node, and manually dealing with the connections and positioning)

What OS and Nuke version are you using?
 
 
0 # Quico Noizeux 2013-05-13 08:06
Hi Ben,
On commands not weighted it has a different behaviour.
For example:
[space][sce] --- > creates a scene
[tab][tab] --> creates ScanlineRender


Thanks :-)


Quico.
 
 
0 # Erin Nash 2013-05-13 09:35
Nice updates for 1.6, and amazing productivity tool over all.
 
 
0 # Mike Connolly 2015-07-19 21:48
A bug I just realised that's been bugging me for ages (tracked it down with a clean User account and backtracked from there)

If tabtabtab is installed then tabbing between boxes in a nodes palette does not work. i.e. bring up a transform node, cursor in the translate x box, type a number, then tab to the y box and instead of moving the cursor to that box, tabtabtab comes up.

I've sadly had to disable tabtabtab as this has been v frustrating for a long time, and I've only just figured the correlation between the 2 out. ;-(
 
 
+2 # Frank Rueter 2015-07-19 22:12
It's not a bug in tabtabtab, but something that happened when shortcut contexts were introduced to Nuke. You now have to specify a context for a hotkey to prevent it from doing what you are describing when focus is not on the node graph. Try something like this in your menu.py:

menuBar.addCommand("Edit/Tabtabtab", tabtabtab.main, "Tab", shortcutContext =2)
 
 
0 # Mike Connolly 2015-07-21 00:22
Thanks Frank. I did that with baited breath as I miss my tababtab already, but got this:

Traceback (most recent call last):
File "/Users/electri cpig/.nuke/menu .py", line 40, in
menuBar.addComm and("Edit/Tabta btab", tabtabtab.main, "Tab", shortcutContext=2)
NameError: name 'menuBar' is not defined

Do you have one more step please?
 
 
0 # Frank Rueter 2015-07-21 01:54
sorry, menuBar in mymenu.py is nuke.menu('Nuke').
So if you put this line first it should work:
menuBar = nuke.menu('Nuke')

or
nuke.menu('Nuke').addCommand("Edit/Tabtabtab", tabtabtab.main, "Tab", shortcutContext =2)
 
 
0 # Mike Connolly 2015-07-21 23:33
Frank, you're an angel. Tabtabtab and palette tabbing all working.

I only needed:

import tabtabtab
nuke.menu('Nuke').addCommand("Edit/Tabtabtab", tabtabtab.main, "Tab", shortcutContext =2)

In the end, and deleted all the other python listed in the install at the top of this page.

Does this 'focus' ability apply to other contexts on the Mac? I remember IRIX being far more 'focus sensitive' than OS X, almost as though some focus ability is lost from the Mac compared to IRIX/Linux, and hence inhibits the Nuke GUI somewhat?
 
 
+1 # Frank Rueter 2015-07-22 00:41
Not sure what exactly you are asking?
The shortcut context has three options as per the help():
0==Window, 1=Application, 2=DAG

That's all there is to it I guess.
Soudns like you are referring to *nix' window managers being able to adjust window focus based on cursor position (with and without click), movement etc, somethign thet OSX doesn't support afaik.
 
 
0 # Chris Forrester 2015-09-09 16:29
Quoting Frank Rueter:
It's not a bug in tabtabtab, but something that happened when shortcut contexts were introduced to Nuke. You now have to specify a context for a hotkey to prevent it from doing what you are describing when focus is not on the node graph. Try something like this in your menu.py:

menuBar.addCommand("Edit/Tabtabtab", tabtabtab.main, "Tab", shortcutContext=2)


Thanks, I was not aware of the extra syntax and only noticed the issue Mike was having yesterday after so long using tabtabtab. All fixed for me now.
 
 
0 # Marco Recuay 2015-08-07 19:34
I found an annoying bug on my current workstation. I don't remember seeing it before, but documenting here in case anyone else has a similar issue.

The tabtabtab menu would not create in the correct position under the mouse, with the text entry directly under the mouse. Instead it would create the window exactly centered on the mouse pointer, so you had to sort of hunt around once the window opened.

The fix was to edit the tabtabtab.py file at lines 526 and 540, to move the *.under_cursor( ) calls one line down, below the *.show() call that follows it.

I don't pretend to have any real idea why, I just know that this fixed it for me.
 
 
0 # Chris Forrester 2015-09-09 16:17
Might be something I could add myself but I was thinking it would be interesting to use tabtabtab to create backdrops or stickynotes with the text added automatically.

I was thinking that a prefix would alert it of this case for example

@These are my roto nodes

Might create a backdrop node around the selected nodes already with the text after the @. Could use # for sticky notes and these would go to the side of selected nodes or the last clicked/selecte d area.

It got me thinking as I have a script that automatically asks for the text for the backdrop node but I often hit tab and start typing that first before I even created a backdrop! This way I get best of both worlds (once I start remembering to type the prefix first of course!)

Hope that makes sense, maybe others feel it is a good idea? Hit thumbs up if you do.

Regards and thanks for a wonderful script!

-Chris
 
 
0 # Tytus Majerski 2016-01-12 19:42
Using tabtabtab since version 1.0 and love it. Unfortunately does not work so well in nuke 9 :( The tab window under the cursor is now showing up while mouseover the properties tab. Can't tab-toggle between boxes. Experimenting with different shortcuts now.

Thanks for the script it's been great!
 
 
+1 # Frank Rueter 2016-01-12 20:15
Have you set your shortcut context for Nuke 9?
e.g.:
menuBar.addCommand("Edit/Tabtabtab", tabtabtab.main, "Tab", shortcutContext =2)
 
 
0 # Tytus Majerski 2016-01-12 20:32
Thanks Frank, I wasn't familiar with the shortcutContext checking it out now. It solved the issue!
 
 
0 # Steve Drew 2016-01-28 19:27
Thanks Frank, I was having the same issue.

Cheers!
 
 
0 # kire timov 2016-11-15 20:28
thank you, awesome script, i am not going back to the default nuke tab menu ;)
 
 
0 # Daniel Mellitz 2017-04-11 18:54
Just discovered this and think it's pretty cool.

I'm running into a weird bug though. On a Mac I'm finding that every time I invoke it (whether I select a node or not) it adds menu option to the Edit menu: A separation line and a "Start Dictation..." menu item.

After just a few times the bottom of the Edit menu looks like this:

________________________

Start Dictation...
________________________

Start Dictation...
________________________

Start Dictation...
________________________

Start Dictation...
________________________

Start Dictation...
________________________

Start Dictation...
________________________

Start Dictation...


It isn't retained between launches and doesn't appear to affect anything but is a bit disconcerting.

Dan
 
 
0 # Daniel Mellitz 2017-04-13 17:42
There also appears to be an issue where you can no longer use the tab key to jump between fields in the properties pane. This is kind of a deal breaker unfortunately.
 
 
0 # Marco Recuay 2017-04-13 21:28
Go to the main tabtabtab project page:
http://https//github.com/dbr/tabtabtab-nuke/

Use the latest version from there, and follow the instructions on there. They were updated for Nuke 9 and later, which sounds like the issue you are reporting here.
 
 
0 # Daniel Mellitz 2017-04-15 22:18
That worked for the field tabbing. Still getting the "Start Dictation..." bug.
 
 
0 # Marco Recuay 2017-04-16 00:00
Have you tried disabling dictation on your mac?
 
 
0 # Frank Rueter 2017-09-07 02:57
Hi Ben,

would it be hard to add the ability the pattern matching so that it also finds words in the middle of a node class?
E.g. when typing "blur" currently node classes like "ExponentialBlu r" are not listed.

Also, somebody had a suggestion to also support menu names, so that when you type "color" the nodes in the color menu are shown. This might get messy but sounded interesting as an option.
What do you reckon?
 
 
0 # Erwan Leroy 2017-11-08 16:29
Ben supports non-anchored finds if you change the function to use: nonconsec_find( needle, haystack, anchored = False)
 
 
0 # Frank Rueter 2017-11-08 20:09
Ah cool, I will give it a go, thanks
 
 
0 # Erwan Leroy 2017-11-08 20:22
Quote:
Also, somebody had a suggestion to also support menu names, so that when you type "color" the nodes in the color menu are shown. This might get messy but sounded interesting as an option.
If you start your search string by 2 spaces, it will search after.
I have made changes to the search results today and suggesting them to Ben, you can see my tweak here: https://github.com/dbr/tabtabtab-nuke/pull/18
 
 
0 # Daniel Short 2017-10-05 23:58
I'm having trouble getting this to work in 11.01.
It's worked fine in 10.5, but I've tried several fixes listed here to no success. I keep getting a plugin error.
 
 
0 # Frank Rueter 2017-10-06 01:37
that's likely because of this:
http://www.nukepedia.com/prepare-for-qt5
 
 
0 # max chan 2017-12-21 11:10
Quoting Frank Rueter:
that's likely because of this:
http://www.nukepedia.com/prepare-for-qt5


Quote:

Traceback (most recent call last):
File "C:/Users/max/.nuke\tabtabtab.py", line 16, in
ImportError: No module named sip
Quote:

try:
from PySide import QtCore, QtGui
from PySide.QtCore import Qt
except ImportError:
import sip
for mod in ("QDate", "QDateTime", "QString", "QTextStream", "QTime", "QUrl", "QVariant"):
sip.setapi(mod, 2)

from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import Qt
QtCore.Signal = QtCore.pyqtSignal
looks like the qt5 issue as mentioned.
 
 
0 # max chan 2018-01-31 15:53
So I've tried to modify the qt4 code to a qt5 version using online resources but I'm not technical enough to convert the codes.

i wanted to try out pyqt4topyqt5 but i'm not on linux

Quote:

def nuke_version_corresponds(nuke_version):
import nuke
current_nuke_version = str(nuke.NUKE_VERSION_MAJOR) + '.' + str(nuke.NUKE_VERSION_MINOR)
return current_nuke_version == nuke_version

def os_corresponds(os_suffix):
from sys import platform
if os_suffix == 'WIN':
return platform == "win32"
if os_suffix == 'LINUX':
return platform == "linux" or platform == "linux2"
if os_suffix == 'OSX':
return platform == "darwin"
assert(False)

def check_nuke_version_and_os(nuke_version, os_suffix, print_error_message=False):
if not os_corresponds(os_suffix):
if print_error_message:
print('platform doesn\'t match')
return False
if not nuke_version_corresponds(nuke_version):
if print_error_message:
print('nuke version doesn\'t match')
return False
return True

if check_nuke_version_and_os('10.5', 'WIN'):
import tabtabtab
m_edit = nuke.menu("Node Graph")
m_edit.addCommand("Tabtabtab", tabtabtab.main, "Tab")
so tabtabtab will only load for nk10.5 and when launching nk11, it's disabled.
I really don't want to remove tabtabtab from my menu.py so when i switch between different versions of nuke, i still have tabtabtab working on the qt4 versions.
 
 
0 # Erwan Leroy 2018-01-31 16:45
Go to Ben's Github (link at the top of this page) and download version 1.8. It's working just fine in both versions 11 and older.
 
 
0 # Erwan Leroy 2018-01-31 16:46
Actually the link is missing : after the https...
here: https://github.com/dbr/tabtabtab-nuke/
 
 
0 # Marcel Pichert 2018-02-02 13:54
It is a really helpfull script, but it doesn´t find my gizmos.

Is it not included or did i do something wrong?
 
 
0 # Erwan Leroy 2018-02-02 14:09
As long as your gizmos have a menu entry either one the 'Nodes' or 'Nuke' menus, it will find them.
 
 
0 # Sacha .... 2018-02-24 21:01
Is there no way for it to just search a folder? I have a gizmos folder can't I add that to its register somehow?

Otherwise I would have to add every single gizmo to my menu.py one line at a time correct?
 
 
0 # Erwan Leroy 2018-02-24 22:46
You don't have to add the gizmo entries in menu.py one by one, you could loop over your folder automatically. I'm sure there are a few plugins doing that already, or for a crude version you can put in your menu.py:
import os
for gizmo in os.listdir('/pa th/to/folder'):
gizmo = gizmo.rsplit('. ')[0]
nuke.menu('Node s').addCommand( gizmo, 'nuke.createNod e({0})'.format( gizmo)
 
 
0 # Erwan Leroy 2018-02-24 22:49
See a tool like this one for better example: http://www.nukepedia.com/python/ui/auto-creation-of-menu-items-for-gizmos-menupy
 
 
0 # Xavier Martín 2019-01-15 10:47
Roses are red,
Violets are blue,
if someone makes this work in N11,
gets a beer from me too.


Seriously I cannot live without this and I won't settle with the new search menu.
 
 
0 # Xavier Martín 2019-01-15 11:21
Doing a bit of debugging. It spits a python error. I was wondering if someone had encountered a similar thing.
Quote:
tabtabtab.py line 18, in
sip.setapi(mod, 2)
ValueError: API 'QDate' has already been set to version 1
 
 
0 # Xavier Martín 2019-01-15 11:40
I think I got a fix? :-?
Changing from line 17 of the tabtabtab.py to read as follows:

Quote:
for mod in ("QDate", "QDateTime", "QString", "QTextStream", "QTime", "QUrl", "QVariant"):
try:
sip.setapi(mod, 2)
except:
pass
Allows tabtabtab to initialise, but it is unable to update the weights. But then changing line 237:

Quote:
def update(self):
try:
filtertext = self._filtertext.lower()
except:
filtertext = (str(self._filtertext)).lower()
This bodge should ensure it doesn't stop working if some QString incompatibility arises.

Not very elegant. Anyone's got better ideas? Am I the only one running into this problem?
 
 
0 # Erwan Leroy 2019-01-15 13:05
What error are you getting? We've been using in 11 for months with very little issues.
 
 
0 # André F. Chaves 2019-03-14 20:13
tabtabtab's window keeps showing behind the node graph when it's on a second monitor. I tried changing the shortcutContext but nothing happens. Has anyone experienced this?
 
 
+1 # Gaetan Baldy 2023-01-30 11:02
Hello Ben, iI prefer to use your script than the default one, so i update it for python 3. i can send it to you if needed.
thanks for this tool !
 

You have no rights to post comments

We have 4179 guests and 103 members online