Channel Hotbox v2.0


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Falk Hofmann
Easy way of changing layer inside the viewer.
Requirements:
13.1, 12.2, 12.1, 12.0, 11.3, 11.2, 11.1, 11.0, 10 or later
Linux, Mac, Windows
11 Oct 2021
2542

update v2.0

  • Converted to Python 3 for Nuke 13 usage
  • Stylesheet adjustments to display modification context.
  • Bug fix for new shuffle node.

update v1.8

  • Thanks to Lukas Fabian's feedback, a major fail is fixed. The shuffle list are now empty on each time and doesn't have the previous selection stored withhin.

update v1.7

  • Option to create new shuffle node.
  • The new shuffle node is set as default from nuke 12.1 onwards. Below this, it will create an 'old' shuffle node. if you want to explicitly use the old one in Nuke 12.1 and above, you can set the value to '0' on top of the script.

update v1.6

  • Implemented suggestion from Mitchell Kehn to better handle window focus.
  • Minor refactoring.

update v1.5

  • Code clean up.
  • Removed option to choose between open up on cursor or centeredon screen. Now openening fixed under the cursor.
  • Specified installation command inside script.

update v1.4 

  • added compatibility for nuke11 and pyside2 
  • option to create grade node with channel set to selected layer
  • switch back to rgba via 'alt'
  • replaced autcompleter to inside the line-edit
  • code clean up
  • sanity check if viewer available and connected

 

 

the channel Hotbox

i wrote this small tool in PySide for easy and fast changing channels/layer inside the viewer since the dropdown menu or the page up/down solution are too tedious. after i tested it a while in production i added the option to also use it for shuffling out channels.

it is based on the current viewer and which node it is connected to. NOT the selected node inside the nodegraph. the script checks all available layer at this node and gives you the option to show, shuffle or grade them.

 

 

demo on vimeo

vimeo link

 

 

click:
change the viewer to the selected channel

shift+click:
shuffle out all selected channels

strg+click:
create grade node with channel set to selected

alt:
switch viewer back to rgba

 

To install with hotkey on alt+q, add this to your menu.py and make sure that the script is located in your nuke plugin path:

import channel_hotbox
nuke.menu('Nuke').findItem('Edit').addCommand('HotBox', 'channel_hotbox.start()', 'alt+q')

I have worked with it under windows and linux. on ubuntu it seems correct, under centos is an issue with the transparent background, which will shown as black.

 

Any kind feedback is welcome.

 

cheers,

Falk

Please login in order to download these files.

Comments   

 
+3 # Chris Forrester 2014-03-12 10:33
This is a great script and will certainly encourage me more to use the layers, as like yourself I got tired of constantly flipping through the drop down menu. Is a great tool if you are picking up from someone else and want to quickly assess how the layers look as they flow through the script.
 
 
+2 # Adrian Sutherland 2014-09-24 21:35
This is great! Much more efficient way of cycling through layers. Will certainly speed up workflow :-)
 
 
+1 # Sam Cole 2014-10-11 01:03
Any reason not to use an explicit open source license?
 
 
+1 # Falk Hofmann 2015-06-09 20:39
hey Sam,
nope, there isn't an explicit reason,will change that with the next version.
feel free to use it open as you like!
 
 
+1 # Michael Clemens 2014-11-19 01:51
How do you execute this? How do you bring it up in Nuke?
 
 
+1 # Seth Peterson 2015-02-12 18:31
Quoting Michael Clemens:
How do you execute this? How do you bring it up in Nuke?



Just drop the hotbox.py into your plugin dir. On my Mac it's ''Applications ▸ Nuke9.0v1 ▸ Nuke9.0v1(Show package contents) ▸ Contents ▸ MacOS ▸ plugins''

Then put this at the end of your menu.py (This makes the tilda key the hotkey):

#### add menu item to Edit menu
import hotbox
nuke.menu("Nuke").findItem("Edit").addCommand("HotBox", 'hotbox.create_ it()', "`")
 
 
0 # karthick efx 2017-08-20 18:34
how to import this did u get this hot box
any video for this
 
 
+1 # karthick efx 2017-08-20 19:08
did u get this video
 
 
0 # Sebastian Ernst 2015-03-20 02:27
Getting this error when trying to run script:

---------------------------
Nuke
---------------------------
an integer is required

Line 165 woop

Any help?
 
 
+1 # Falk Hofmann 2015-06-09 20:37
oh jesus! haven't checked in on Nukepedia for a while. sorry about that.
if it's still an issue, please let me know. in my experience, this kind of error means, that a viewer is missing.
 
 
+1 # Dominique Richer 2016-04-09 15:56
I know it is pretty old but has anybody try this on a Mac (i'm on El Capitan) and when I use the shortcut assigned to the hotbox, I have to cmd+tab to see the hotbox (on nuke 8.0v6). Worked perfectly on Linux Centos 6. Any help would be nice!
 
 
+1 # Falk Hofmann 2016-04-10 10:28
sorry, haven't had the chance to test on a mac.

sounds like you would have to set explicit the focus to the panel.
so it would be a line of a pyside attribute or just something like "setFocus(chann elHotbox)". but i would to dig around in the PySide doc as well.
 
 
+1 # Dominique Richer 2016-04-10 15:00
I am not a pyside expert but I couldn't get the 'setFocus()' function to work. What I found was that if I replace 'self.setWindow Flags(QtCore.Qt .FramelessWindo wHint)' with 'self.setWindow Flags(QtCore.Qt .FramelessWindo wHint | QtCore.Qt.Windo wStaysOnTopHint )' it works on mac and still works on linux too.
 
 
+1 # Alex snookes 2016-09-05 16:10
Has anyone been able to get this to work in nuke using the Tilda (`) key as i am still having problems with it?
 
 
+1 # Falk Hofmann 2016-09-05 19:53
hey Alex,
on my machines does it work on linux and windows. do you have an english keyboard layout so you don't need an extra key modifier? could be the issue.
rather than this you could just set the hotkey to a different key by just changing the key in the last quotes.

for example to run this by hitting "v" you could change the command to:

nuke.menu("Nuke").findItem("Edit").addCommand("HotBox", 'hotbox.create_ it()', "v")
 
 
+1 # karthick efx 2017-08-20 18:10
how to put in nuke Python
Channel Hotbox v1.4 ?
 
 
0 # Falk Hofmann 2017-08-21 10:10
add this to your menu.py

import hotbox
nuke.menu("Nuke").findItem("Edit").addCommand("HotBox", 'channelHotbox. start()', "alt+q")


alt+q will be the short cut. you can change this to whatever you like

you might want to check out this tutorial
http://www.nukepedia.com/gizmos/creating-a-new-menu-for-custom-gizmos
 
 
+1 # li zhaohui 2017-11-22 06:33
There are some problems. There are 2 EXR files in the project, and the layers of the 2 files are different. After disassembling a EXR, the Channel Hotbox tool splits first EXR Shuffle layers when splitting the second exr!
 
 
+1 # Falk Hofmann 2017-12-18 22:18
hey there,
just to confirm:
the hotbox is affected by the current looked at node. so in case you are selecting one stream and currently viewing another one, the hotbox will listen the channels of the active viewer, not the selected node.
are you still having issues with keeping this in mind?
 
 
+1 # Seth Peterson 2017-12-12 23:33
Hi guys, has anyone had any luck getting v1.4 working on OSX?

I'm running Nuke 11.1v1

macOS High Sierra 10.13.1

At launch, I get the "can not interpret menu.py" error.
 
 
0 # Falk Hofmann 2017-12-18 22:24
hey Seth,
seems like asimple menu.py error not an issue with the actual script.
the following should do the trick inside the menu.py with mapping the shortcut to alt+q

import channelHotbox
nuke.menu('Nodes').addMenu("my stuff").addComm and("channelHot box", 'channelHotbox. start()', 'alt+q')

but i do not had chance to actually test it on OSX.
alternatively you could test it with leaving the menu blank and run the following inside the script editor, while making sure the script is inside your nuke pluginpath

import channelHotbox
channelHotbox.start()
 
 
+1 # Seth Peterson 2017-12-18 23:50
Hi Falk,

Thanks for the response. That seemed to do it! I'll keep testing the other features and let you know what I find. Thanks again.

-Seth
 
 
+1 # Seth Peterson 2018-01-03 20:10
Hi Falk,

Seems I ran into one more small issue. When I switch the UX options to:

SHOW_ON_CURSOR = 0
SHOW_ON_SCREEN = 1

I get this error: 'module' object has no attribute 'QApplication'


When I switch the options to:

SHOW_ON_CURSOR = 0
SHOW_ON_SCREEN = 0

I get this error: 'module' object has no attribute 'QDesktopWidget'

Any thoughts? Thanks in advance.
 
 
+1 # Falk Hofmann 2018-02-19 21:28
Hey Seth,
sorry for the late response.
Seems like a PySide issue. Are you on Nuke 11 already or on 10.5 and below?
 
 
+1 # Seth Peterson 2018-02-20 17:18
Hi Falk,

No worries buddy. I'm using 11.1v1.

Cheers,

-Seth
 
 
0 # Falk Hofmann 2018-04-04 21:59
sorry man,
late again.
i couldn't figure out what the actual issue is.
in the very latest version of this thingy i removed the option for switching around the position. therefore this issue should not appear anymore, well and the option as well.
sorry that i could not find a straight solution, but i never encountered this issue on my end. therefore it's pretty hard to debug.
 
 
+1 # Alexey Kuchinski 2018-02-19 11:39
Hi Falk, installed your script today and have some feedback:

1 - it is awesome, very responsive and fast!!!
2 - on the installation page of Nukepedia - can you please clean up the installation advises mess? the name of the module is changing from answer to answer :D - it is confusing!
thanks!
 
 
0 # Falk Hofmann 2018-02-19 21:26
thanks Alexey!
All the descriptions and names were changing. sorry about that.
I submitted just now cleaned up version.
should be online soon.
 
 
0 # Alexey Kuchinski 2018-02-20 13:43
thanks
next thing:
is it possible to have only one instance of the pop up?
right now if i did open the channel box and clicked outside of it
the window will stay in the background, and later i will open one more window and so on.
the point is i do not want to pay attention if i did close it or not so every new window is closes one before.
hope you getting my point
thanks
 
 
+1 # Michael Habenicht 2018-03-16 15:03
Works if you set QtCore.Qt.Popup as additional window flag. Then it is automatically closed when you click outside of it.
 
 
+1 # baltazar gnomonich 2018-03-24 15:57
regarding the pop up, sorry for nube question, should i add something in the channel_hotbox. py ?
 
 
+2 # Falk Hofmann 2018-04-04 21:57
Quoting baltazar gnomonich:
regarding the pop up, sorry for nube question, should i add something in the channel_hotbox.py ?

hey baltazar,
like michael pointed out you could add an additional flag.
take a look at line numbers 121, 122 and just keep adding one more with QtCore.Qt.Popup
 
 
0 # Falk Hofmann 2018-04-04 21:53
cool, thank you Michael!
 
 
0 # Marcel Pichert 2018-04-23 08:45
Really nice script thanks Falk! :)
 
 
0 # Mitchell Kehn 2018-05-30 08:07
Hey Falk,

I made a change to your script that closes the hotbox if the user clicks away from it, rather than keeping it open but running it the background.
With things like this where there's no frame drawn around a pop-up that's pretty common behavior, and It doesn't seem uncommon to have something like 10 of these stuck open behind the main nuke window.
Mind if I email it to you?
 
 
0 # Falk Hofmann 2018-05-30 10:14
Quoting Mitchell Kehn:
Mind if I email it to you?


not at all!
please send over your enhancements and i will implement them as soon as i can
 
 
0 # Mitchell Kehn 2018-05-30 14:02
Just sent a link to a gist with the updated file through the contact form on your website :)
 
 
0 # sebastian cerisara 2018-10-29 19:46
Hi falk,
I get this error in the script editor when trying to import:

ImportError: No module named channel_hotbox

can you help me with this?
 
 
0 # Alexey Kuchinski 2019-02-09 16:01
Hi man, after one year running your tool, no bugs, works like a charm, thank you!
 
 
0 # Kien Nguyen 2020-01-16 17:38
Hey Falk
Can you also add the alpha channel as a "hot box"
It would be amazing if you could
Thanks in advance
 
 
0 # Falk Hofmann 2020-04-22 19:42
Hey Kien,
sorry for the late reply. must have fallen through the cracks.

in theory, if you have a channel in your stream which is called "alpha" it should be place on the third position.
the order is pretty fixed at the first positions.

if available it is:

rgba, rgb, alpha followed by all other channels.
 
 
0 # yakiilya yakiilya 2020-04-22 12:41
can you change code, for support new Shufle2 in nuke 12.1 ?
 
 
0 # Falk Hofmann 2020-04-22 19:39
hey there,
sure!
lets see if i can make it during the upcoming weekend.
 
 
0 # Falk Hofmann 2020-05-02 12:00
Quoting yakiilya yakiilya:
can you change code, for support new Shufle2 in nuke 12.1 ?


hey yakiilya,
I updated to script so its works within the shuffle node if desired to use those.
 
 
0 # Lukas Fabian 2020-05-04 09:17
hey Falk, thanks for the tool really like it so far!

But I it seems for me as if the list of selected layers doesn´t get erased after channel_hotbox gets closed.

So if I create a shuffle for layerA and than I open channel_hotbox again to create a shuffle for layerB i get to shuffles for layerA and layerB altough I didn´t select layerA again. After clicking around a little, I and up with 6 or more shuffles that created every time if I not carefully deselect them in a second step.
Selection seems to stay even for different read nodes (that have some of the same layer names)

I am using channel_hotbox v1.7 in Nuke11.3v6 on Windows10
 
 
+1 # Falk Hofmann 2020-05-04 10:07
hey Lukas,
thanks for reporting. I'll check it out later and potentially submit a fix.
i might have broken something with the last update and havent noticed yet..
 
 
0 # Falk Hofmann 2020-05-04 18:32
hey there,
so i can't replicate the mentioned behavior. as i see in the code, the list gets deleted every time. but i am also on linux with nuke 12.
would you mind sending me your email address, so i could send you a version to check it out? i am still not sure if this would be the solution, but since i can't check on windows, i would appreciate the help for debugging.

www.kombinat-13b.de/contact/
 
 
0 # Lukas Fabian 2020-05-04 20:05
sure thing!
 
 
0 # Quang Tran 2020-05-29 11:37
Anyone fixed the black screen issue on CentOS due to transparent background by coincidence? Would love to have it in my Nuke next to Flame. Thanks.
 
 
0 # Falk Hofmann 2020-05-29 13:50
Hey there,
I'm using this tool on CentOs and haven't had this issue so far. Even though i remember seeing this somewhere.
A solution could be using a stylesheet rather than a pyside flag.
But again, I can't reproduce ATM.
 
 
0 # Falk Hofmann 2020-06-24 21:28
aaaaand once changed to mate, its black.
 
 
+1 # Jung Keun Kim 2020-06-23 11:33
Hey Falk. thank you so much to making this tool for us.
and I want to report a bug for you.

When shuffle out a layer that contains only rgb channels, the order of rgb is mixed incorrectly. pls check it. thank you
 
 
0 # Falk Hofmann 2020-06-24 21:29
hey there,
thanks for reporting.
Which nuke version and which shuffle node are you referring to?
the "old" shuffle node or the "new" one?
 
 
0 # yakiilya yakiilya 2020-12-08 13:44
same one problem as Jung Keun Kim
nuke version is 12.2v3 and shuffle node is "new"
shuffle swap channels as:
R>B
G>G
B>R
in some pass, such as specular , direct or emission
 
 
0 # Gregor Stephani 2021-02-05 12:08
I had the same issue, you can fix it by forcing it to create the old shuffle node.

Just change SHUFFLE_TYPE on line 61 to 0
 
 
0 # jian zhang 2021-09-06 08:56
hey falk,i still have a bug with "new" shuffle
My nuke version is 12.2v5 and the shuffle swap channels as:
R--A
G--B
B--G
A--R
>.< i dont know why
 
 
0 # Falk Hofmann 2021-10-11 19:56
hey there,

i have updated the script just now. since i can't reproduce the issue on my end it is fairly hard to fix this very issue.

feel free to check out the updated version. if the issue persist, feel free to send over a demo image for debugging on my end.
 
 
0 # Fabian Holtz 2021-10-14 13:53
Awesome Falk, such a useful tool! :lol:
 
 
0 # Falk Hofmann 2021-10-17 07:57
Quoting Fabian Holtz:
Awesome Falk, such a useful tool! :lol:

great tool. much wow!
 
 
+1 # Victor lavrentev 2022-02-03 13:34
Just such a tool was needed, I was already going to write it myself, but it turned out there was already a ready one. Thanks a lot!
 
 
+1 # Jung Keun Kim 2022-03-15 06:37
I got an error when I testing UnrealReader. Could you plz help me?

File "C:/Users/user/ .nuke/Python\ch annel_hotbox.py ", line 217, in keyReleaseEvent
shuffle = self.create_new _shuffle(layer, node)
File "C:/Users/user/ .nuke/Python\ch annel_hotbox.py ", line 275, in create_new_shuf fle
shuffle.knob("mappings").setValue(mapping)
RuntimeError: Channel "DetailLighting .alpha" not found in input channels
 
 
0 # Aleksandr Pushkarev 2024-03-04 10:07
I've got the same problem
 
 
0 # Joe Censoplano 2023-07-20 16:57
has anyone figured out how to get these as buttons in W_hotbox instead of using hot keys?
 

You have no rights to post comments

We have 2282 guests and 77 members online