Ah, gotcha. I just thought you might be looking at the input labels as a means to check what kind of nodes each input would accept. Sorry I misinterpreted that.
But yes, a method to get the actual label of each input would be nice. Cheers, Ivan On Tue, May 24, 2011 at 1:48 AM, Ean Carr <eanc...@gmail.com> wrote: > Hi Ivan, > > I have a simple panel that lets a user set a node's inputs by name, just > like you could do in Shake. Right now, my panel presents the inputs by > integer (0, 1 etc.) along with "Mask" by figuring out if there's a > difference between inputs and optional inputs. > > It's all working fine, I'd just like to present the user with the labels of > the actual pipes. A Switch node matches my labels, but a Merge node doesn't > (0 = A, 1 = B). Neither does my example, of course, a Reconcile3D. > > Your idea could work, but I would love to have a method that worked in all > cases, even getting gizmos' input names. > > Thanks, > -E > > > On Sun, May 22, 2011 at 8:58 PM, Ivan Busquets <ivanbusqu...@gmail.com>wrote: > >> Hi Ean, >> >> Out of curiosity, do you need the input labels to figure out what kind of >> nodes you can connect to them, or for any other reason? >> >> This won't get you the input labels, but you can test for the kind of >> nodes that can be connected to a certain input using <node>.canSetInput(i, >> node) >> >> Depending on what you need to do, this may give you enough information, >> and it will be more generic and safer than just testing for already >> connected inputs, since certain inputs may accept more than one parent class >> (like Reconcile3D may take both a camera and an Axis into its "axis" input), >> or you may come across connected inputs that don't give you enough >> information (a NoOp can be connected to any input). >> >> You could, for example, create a temp node of each relevant parent class, >> and use those to test "canSetInput()" for each input in your node. Here's an >> example in case it's of any help: >> >> ######################## >> n = nuke.selectedNode() >> >> nodeTypes = [ ('Axis', nuke.nodes.Axis2()) , ('Camera', >> nuke.nodes.Camera2()), ('Geo', nuke.nodes.Card2()), ('Transform', >> nuke.nodes.Transform()), ('Iop' , nuke.nodes.Blur())] >> >> >> for input in range(n.optionalInput()): >> >> print "input %s accepts %s nodes" % (input, ' and '.join([name for >> (name, node) in nodeTypes if n.canSetInput(input, node)])) >> >> >> for (name,tempnode) in nodeTypes: >> >> nuke.delete(tempnode) >> >> ######################## >> >> >> Cheers, >> Ivan >> >> On Sun, May 22, 2011 at 8:30 AM, Ean Carr <eanc...@gmail.com> wrote: >> >>> Hey Lucien, >>> >>> Not a bad idea, but I can't rely on the inputs being connected already. >>> Was hoping there was a method for getting the pipe names in any situation. >>> Might do a feature request for that. >>> >>> Thanks, >>> Ean >>> >>> >>> On Fri, May 20, 2011 at 2:18 PM, Lucien FOSTIER <lucienfost...@gmail.com >>> > wrote: >>> >>>> Hi Ean, >>>> >>>> If i understand you correctly, you could do/ >>>> >>>> recon=nuke.toNode("Reconcile3D1") >>>> >>>> for n in range(recon.inputs() ): >>>> print recon.input(n).Class() >>>> >>>> >>>> having the class of the input node should help you determining the >>>> corresponding input name. >>>> >>>> hope that helps >>>> >>>> -- >>>> lucien FOSTIER >>>> 75012 PARIS >>>> 0625423061 >>>> http://lucienfostier.com >>>> _______________________________________________ >>>> 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 >> >> > > _______________________________________________ > 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