Hi Jonathan, Thanks for that. It's a shame that this functionality isn't released - I do still hark back to the Shake SDK that allowed you to pretty much have access to everything.
I was hoping to avoid having to completely parse the gizmo myself... This is a side project, though, so it may have to go on the back-burner for a bit. Cheers On 1 April 2013 17:24, Jonathan Egstad <[email protected]> wrote: > Hi Hugh, > > Since all the script/expression parsing is done in Nuke and not DDImage > it's probably easier to do this via TCL or Python in Nuke and not though > the DDImage plugin interface. > > I think the problem you'll run into is that creating a Node via the script > interface won't return you an Op* and the 'Node' class in DDImage is an > opaque pointer into the Nuke class. To my knowledge, even if you do create > the Nodes via the script interface there's no way to get their Ops via > DDImage. > > So I think you'll need to write your own parser the break the script text > down into Op/Knob sets and instantiate/set them that way. If there's split > knobs or expression bindings you'll still need to use the > Knob::script_command() interface to parse that text. > > Cheers, > -jonathan > > > On Mar 31, 2013, at 11:45 AM, Hugh Macdonald wrote: > > > Hi, > > > > I've dealt with embedding standard Nuke nodes inside a plugin in order > to do some kind of pre-processing, but I'm wanting to do the same, but with > a predefined group. > > > > I have the group definition as a string (let's say something like the > below, although this is a simplified example, that could very easily be > implemented without the group) > > > > Right now, I can create nodes using: > > > > Iop *transform = dynamic_cast<Iop*>(Iop::create("Transform")); > > > > But what I'm trying to do is something along the lines of: > > > > Iop *myGroup = dynamic_cast<Iop*>(Iop::createGroup(groupDefinition)); > > > > Where 'groupDefinition' is the string below. I would then have access to > the inputs, result and knobs defined in the group. > > > > > > Any ideas? > > > > Thanks > > > > Hugh > > > > > > Group { > > name Group1 > > selected true > > xpos -868 > > ypos 361 > > addUserKnob {20 User} > > addUserKnob {41 multiply T Grade3.multiply} > > addUserKnob {41 size T Blur3.size} > > } > > Input { > > inputs 0 > > name Input1 > > xpos -445 > > ypos 459 > > } > > Grade { > > name Grade3 > > xpos -445 > > ypos 499 > > } > > Blur { > > name Blur3 > > xpos -445 > > ypos 525 > > } > > Output { > > name Output1 > > xpos -445 > > ypos 625 > > } > > end_group > > > > _______________________________________________ > > Nuke-dev mailing list > > [email protected], http://forums.thefoundry.co.uk/ > > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev > > _______________________________________________ > Nuke-dev mailing list > [email protected], http://forums.thefoundry.co.uk/ > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev >
_______________________________________________ Nuke-dev mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev
