Yea, that is sweet. If you have any groups on the target tab it will mess
things up though since they're also classed as Tab_Knobs and will be the
next one found. In that case maybe you could specify a target stop tab as
well.

On 27 January 2016 at 01:57, Igor Majdandzic <subscripti...@badgerfx.com>
wrote:

> Nice one Ben.
>
> Am 27.01.2016 7:02 vorm. schrieb Ben Dickson <ben.dick...@rsp.com.au>:
> >
> > 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 <
> subscripti...@badgerfx.com
> > > <mailto:subscripti...@badgerfx.com>> 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
> > >>     <subscripti...@badgerfx.com <mailto:subscripti...@badgerfx.com>>
> > >>     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 aschnei...@arri.de <mailto:aschnei...@arri.de>
> > >>>         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
> > >>>         Nuke-python@support.thefoundry.co.uk  <mailto:
> Nuke-python@support.thefoundry.co.uk>,http://forums.thefoundry.co.uk/
> > >>>
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
> > >>
> > >>         _______________________________________________
> > >>         Nuke-python mailing list
> > >>         Nuke-python@support.thefoundry.co.uk
> > >>         <mailto:Nuke-python@support.thefoundry.co.uk>,
> > >>         <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
> > >>     Nuke-python@support.thefoundry.co.uk  <mailto:
> Nuke-python@support.thefoundry.co.uk>,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
> > >     Nuke-python@support.thefoundry.co.uk
> > >     <mailto:Nuke-python@support.thefoundry.co.uk>,
> > >     http://forums.thefoundry.co.uk/
> > >
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Nuke-python mailing list
> > > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
> > > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
> > >
> >
> > --
> > ben dickson
> > 2D TD | ben.dick...@rsp.com.au
> > rising sun pictures | www.rsp.com.au
> > _______________________________________________
> > Nuke-python mailing list
> > Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
> _______________________________________________
> Nuke-python mailing list
> Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to