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

Reply via email to