You can get knobs in order by using the nuke.Node.knob(n) and the number
of knobs via nuke.Node.numKnobs
Meaning you can iterate over the knobs, start removing knobs when you
get to the target tab, and stop at the next Tab_Knob:
def remove_user_knobs(node):
in_user_tab = False
to_remove = []
for n in range(node.numKnobs()):
cur_knob = node.knob(n)
is_tab = isinstance(cur_knob, nuke.Tab_Knob)
# Track is-in-tab state
if is_tab and cur_knob.name() == "User": # Tab name to remove
in_user_tab = True
elif is_tab and in_user_tab:
in_user_tab = False
# Collect up knobs to remove later
if in_user_tab:
to_remove.append(cur_knob)
# Remove in reverse order so tab is empty before removing Tab_Knob
for k in reversed(to_remove):
node.removeKnob(k)
# Select first tab
node.knob(0).setFlag(0)
remove_user_knobs(nuke.selectedNode())
On 23/01/16 04:32, Daniel Stein wrote:
I think Igor's suggestion would be the easiest workaround to implement
moving forward. If you haven't already stored that information another
option is get the output of node.writeKnobs with the
nuke.WRITE_USER_KNOB_DEFS flag and parse it to find the tab knobs and
the knobs nested inside them.
Super dirty and would only work for user knobs but it would do the trick.
On 22 January 2016 at 10:53, Igor Majdandzic <[email protected]
<mailto:[email protected]>> wrote:
nope, thats what he meant. He has to kill all the knobs on the tab
before he can remove the tab itself
Am 22.01.2016 um 17:46 schrieb Fredrik Averpil:
Not in front of a machine at the moment but...
Does this work?
nuke.removeKnob( myknob )
// Fredrik
On Fri, Jan 22, 2016 at 12:20 PM Igor Majdandzic
<[email protected] <mailto:[email protected]>>
wrote:
Hey Abraham,
I dont know if there is a nice fast fancy way of doing this.
But you could store a directory in a hidden knob, key could be
the tab and knobs are the values.
Work around I know, but it should do the trick.
Cheers
Igor
Am 21.01.2016 um 12:59 schrieb Schneider, Abraham:
Hi there!
I have some user knobs in my root node, that I want to get
rid of. It's a 'tab_knob' at the root level (let's call it
'testtab'), that contains several different knobs (strings,
etc.). Now I want to delete all the knobs inside this tab
knob and the tab knob itself.
I can get to the tab knob via "myknob =
nuke.Root().knob('testtab')" and I can remove knobs like
this: "nuke.Root().removeKnob(myknob)". This should work, if
the tab is empty. But because the tab contains other knobs,
it won't be deleted, as the removeKnob doesn't delete knobs
recursively.
So how would I find all the knobs of nuke.Root() that belong
to my tab knob, so that I can delete them first before
deleting the tab knob itself?
Or is there an even better way to remove the tab and all the
related knobs quickly?
Thanks, Abraham
*Abraham Schneider*
Head of VFX pipeline / VFX Supervisor
ARRI Media GmbH
Türkenstr. 89, 80799 München
Phone +49 89 3809-1096 <tel:%2B49%2089%203809-1096>
EMail [email protected] <mailto:[email protected]>
www.arri.de/arrimedia <http://www.arri.de/arrimedia>
<http://www.facebook.com/arrimedia> Click here
<http://www.facebook.com/arrimedia> to visit us on Facebook!
_______________________________________________
Nuke-python mailing list
[email protected]
<mailto:[email protected]>,http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected]
<mailto:[email protected]>,
<http://forums.thefoundry.co.uk/>http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected]
<mailto:[email protected]>,http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
--
CHIMNEY
*Igor Majdandzic*
Compositing Supervisor
__CHIMNEY Deutschland GmbH & Co. KG__
__Hanauer Landstraße 196__
60314 Frankfurt am Main
__Direct: +49 69 989 56 431 <tel:%2B49%2069%20989%2056%20431> -*NEW
PHONE NUMBER*- __
__Fax: +49__ 69 904 36 68 29
__Mobile: +49 176 321 375 72 <tel:%2B49%20176%20321%20375%2072>__
__Berlin, Frankfurt/Main, Stockholm, Malmö, ____Warsaw, Copenhagen,
Sydney, Singapore__
www.chimneygroup.com <http://www.chimneygroup.com/>
__AG Charlottenburg HRA 44507 B; Pers. haft. Gesellschafter: Chimney
Deutschland GmbH__
__AG Charlottenburg HRB 130013 B; Geschäftsführer: ____Ralf
Drechsler, __Michal Kalinowski,Carl Henric Larsson
_______________________________________________
Nuke-python mailing list
[email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
--
ben dickson
2D TD | [email protected]
rising sun pictures | www.rsp.com.au
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python