Spoke too soon about the bug fix with the expressions. This bug doesn't have to 
do with renaming nodes though - regardless, still there, 6.2v3: 

I'm pretty careful about keeping {parent.} in the expressions - the problem is 
finding the expression in the first place. With 
node.dependencies(nuke.EXPRESSIONS) one can find the gizmo with the 
expressions, but there are a bunch of nodes inside it so I have no idea from a 
casual glance where it's coming from. 

Ok - found it, maybe. I had {width} and {height} instead of {parent.width} 
{parent.height} in a crop node inside the gizmo. But nope, fixed that and I'm 
still getting a link magically appearing.

As far as I can tell, the only expressions left in all the nodes in the gizmos 
are expressions that have 'parent' in them.

part 2:

I fixed the part about the gizmo bug breaking connections when using an 
onCreate callback by overriding nuke.nodePaste and skipping the onCreate:

def nodePaste(*args):
    import _nuke
    p = _nuke.nodePaste(*args)
    s = nuke.selectedNodes(filter='myGizmo')
    for n in s:
        buildMyGizmo(node=n)
    return p

And for the onCreate callback bug:

def buildMyGizmos():
    for n in nuke.allNodes('myGizmo'):
        buildMyGizmo(node=n)

nuke.nodePaste = nodePaste
nuke.addOnScriptLoad(buildMyGizmos)

Seems to work so far... except that dang expression link...
Cheers
JRAB

On Apr 4, 2011, at 12:49 AM, Frank Rueter wrote:

> I remember seeing this and I think I was able to fix it by cleaning up the 
> respective expressions.
> Can you give an example of one of those expressions? Will the problem go away 
> if you explicitly reference "parent.knobName" rather than just "knobName"?
> 
> On Apr 4, 2011, at 10:35 AM, John RA Benson wrote:
> 
>> The links are there the instant the nodes are pasted, but disappear after 
>> they are deselected (osx - will try linux tomorrow). They don't seem to 
>> re-appear like they did previously, so that's good. Unfortunately, the 
>> broken connections are still happening! Is there a way to tell nuke to do 
>> something after a paste has been completed? 
>> 
>> thanks!
>> jrab
>> 
>> On Apr 3, 2011, at 7:30 PM, Deke Kincaid wrote:
>> 
>>> Try out 6.2v3.  One of these bugs sounds like this one which was fixed:
>>> BUGID 15967-An erroneous expression link was created if you renamed a
>>> node whose name was in use within a group or a gizmo.
>>> 
>>> -deke
>>> 
>>> On Sun, Apr 3, 2011 at 09:43, John RA Benson
>>> <[email protected]> wrote:
>>>> 6.2v1 linux and osx
>>>> also turns out it's not the updateUI callback. Arg.
>>>> 
>>>> Also dealing with a nasty bug where a gizmo that's getting internal stuff 
>>>> built will break connections when it's copied. Any hints on that one 
>>>> appreciated. I'm hoping I can do something where I don't use the onCreate 
>>>> callback but call the function that builds the gizmo after a paste:
>>>> 
>>>> s = nuke.selectedNodes(filter='myGizmo')
>>>>      for n in s:
>>>>              buildMyGizmo(node=n)
>>>> 
>>>> I see something called nukescripts.drop.dropData and in the docs:
>>>>      # This function is called whenever data is dropped onto the DAG. 
>>>> Override it to perform other actions.
>>>>      # If you handle the drop, return True, otherwise return None.
>>>> 
>>>> But I'm nut sure exactly if this applies to what I want to do or how to do 
>>>> it.
>>>> 
>>>> any help appreciated - thanks!
>>>> jrab
>>>> 
>>>> 
>>>> On Apr 3, 2011, at 5:56 PM, Deke Kincaid wrote:
>>>> 
>>>>> What version of nuke?  This sounds like a bug about erroneous expressions 
>>>>> linking from inside gizmos to external nodes.  It was fixed a few v 
>>>>> releases ago.
>>>>> 
>>>>> -deke
>>>>> 
>>>>> On Apr 3, 2011, at 7:52, John RA Benson <[email protected]> 
>>>>> wrote:
>>>>> 
>>>>>> Hey there -
>>>>>> 
>>>>>> I have a gizmo that is doing a funny thing. Sometimes when I create it, 
>>>>>> a green expression link will appear to another gizmo of the same class. 
>>>>>> If I click on the gizmo it's pointing to, the expression goes away. 
>>>>>> Yeah, I'm doing some funny stuff with updateUI, but it's nothing 
>>>>>> (although I could be totally wrong) that would create that link.
>>>>>> 
>>>>>> I can do this:
>>>>>> s = nuke.selectedNode()
>>>>>> d = s.dependencies(nuke.EXPRESSIONS)[0]
>>>>>> d.dependent(nuke.EXPRESSIONS)
>>>>>> 
>>>>>> and I get 's' showing me that it has an expression pointing to 'd', and 
>>>>>> d.dependent() points back to 's'. Ok, good.
>>>>>> 
>>>>>> if I deselect s and then select d (the green arrow then goes away) and 
>>>>>> do d.dependent() again, I get an empty list.
>>>>>> 
>>>>>> None of the knobs on s or d have an expression, so maybe it's from 
>>>>>> something inside the gizmo that I'm pythonically setting?
>>>>>> 
>>>>>> What would be swell is to find out where this mystery expression is 
>>>>>> coming from in the first place. is there a 
>>>>>> 'tellMeWhichKnobHasTheExpressionSinceNuke.EXPRESSIONS_tellsMeThereIsOne' 
>>>>>> function?
>>>>>> 
>>>>>> hmmn - it appears to be due to the updateUI callback, but it would 
>>>>>> really be good to know which expression is being mysteriously generated 
>>>>>> by it.
>>>>>> 
>>>>>> Cheers!
>>>>>> JRAB_______________________________________________
>>>>>> Nuke-python mailing list
>>>>>> [email protected]
>>>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>>> _______________________________________________
>>>>> Nuke-python mailing list
>>>>> [email protected]
>>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>> 
>>>> _______________________________________________
>>>> Nuke-python mailing list
>>>> [email protected]
>>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>>> 
>>> _______________________________________________
>>> Nuke-python mailing list
>>> [email protected]
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> 
>> _______________________________________________
>> Nuke-python mailing list
>> [email protected]
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
> 
> _______________________________________________
> Nuke-python mailing list
> [email protected]
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

_______________________________________________
Nuke-python mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to