Hey Victor,
Answer to first question is 'no', pretty sure, but it's a feature request.
You can do this easily enough with an Input node called, say, 'mask' and a
knobChanged callback in your group, like below.
Cheers,
-Ean
set cut_paste_input [stack 0]
version 6.2 v4
push $cut_paste_input
Group {
name Group3
knobChanged "c = nuke.toNode('Copy1')\nif nuke.thisKnob().name() ==
'inputChange':\n if nuke.thisNode().input(1) != None:\n
c\['from0'].setValue('rgba.alpha')\n else:\n
c\['from0'].setValue('none')"
selected true
xpos -5210
ypos 2976
addUserKnob {20 User}
addUserKnob {41 from0 l "Copy channel" T Copy1.from0}
}
Input {
inputs 0
name mask
xpos 198
ypos 72
number 1
}
Input {
inputs 0
name Input
xpos 0
ypos 49
}
add_layer {rgba rgba.beta}
Copy {
inputs 2
to0 rgba.alpha
name Copy1
xpos 0
ypos 150
}
Output {
name Output1
xpos 0
ypos 225
}
end_group
On Fri, Jun 17, 2011 at 7:32 PM, Victor Perez <[email protected]>wrote:
> Hi guys,
>
> I'm trying to build a gizmo with a mask input (as most of Nuke standard
> nodes). I have two questions:
>
> Is it possible to customise the 'mask' input to be at the side of the node
> (just the small triangle instead of the top arrow)? And of course, how?
>
> My other question is how to customise the a pulldown choice knob (channels)
> to change dynamically as soon as you connect something into the 'mask'
> input. For instance the same behaviour as the 'Grade' node, as soon as you
> plug the 'mask' input into a roto node the 'mask' knob is activated and set
> as 'rgba.alpha' in the pulldown choice.
>
> I've copy a simple script containing the group, with the inputs and the
> 'mask' knob.
>
> Thanks for your help.
>
> Cheers,
>
> Victor
>
>
> set cut_paste_input [stack 0]
> version 6.2 v4
> push $cut_paste_input
> Roto {
> curves {AnimTree: "" {
> Version: 1.2
> Flag: 0
> RootNode: 1
> Node: {
> NodeName: "Root" {
> Flag: 512
> NodeType: 1
> Transform: 0 0 S 0 0 S 0 0 S 0 0 S 0 1 S 0 1 S 0 0 S 0 1024 S 0 778
> NumOfAttributes: 10
> "vis" S 0 1 "opc" S 0 1 "mbo" S 0 1 "mb" S 0 1 "mbs" S 0 0.5 "fo" S 0 1
> "fx" S 0 0 "fy" S 0 0 "ff" S 0 1 "ft" S 0 0
> }
> NumOfChildren: 1
> Node: {
> NodeName: "Ellipse1" {
> Flag: 576
> NodeType: 3
> CurveGroup: "" {
> Transform: 0 0 S 1 1 0 S 1 1 0 S 1 1 0 S 1 1 1 S 1 1 1 S 1 1 0 S 1 1
> 997.5 S 1 1 757.5
> Flag: 0
> NumOfCubicCurves: 2
> CubicCurve: "" {
> Type: 0 Flag: 8192 Dim: 2
> NumOfPoints: 12
> 0 S 1 1 -230.579 S 1 1 0 0 0 S 1 1 997.5 S 1 1 340 0 0 S 1 1 230.579 S
> 1 1 0 0 0 S 1 1 0 S 1 1 -230.579 0 0 S 1 1 1415 S 1 1 757.5 0 0 S 1 1 0 S 1
> 1 230.579 0 0 S 1 1 230.579 S 1 1 0 0 0 S 1 1 997.5 S 1 1 1175 0 0 S 1 1
> -230.579 S 1 1 0 0 0 S 1 1 0 S 1 1 230.579 0 0 S 1 1 580 S 1 1 757.5 0 0 S 1
> 1 0 S 1 1 -230.579 0
> }
> CubicCurve: "" {
> Type: 0 Flag: 8192 Dim: 2
> NumOfPoints: 12
> 0 S 1 1 -230.579 S 1 1 0 0 0 S 1 1 0 S 1 1 0 0 0 S 1 1 230.579 S 1 1 0
> 0 0 S 1 1 0 S 1 1 -230.579 0 0 S 1 1 0 S 1 1 0 0 0 S 1 1 0 S 1 1 230.579 0 0
> S 1 1 230.579 S 1 1 0 0 0 S 1 1 0 S 1 1 0 0 0 S 1 1 -230.579 S 1 1 0 0 0 S 1
> 1 0 S 1 1 230.579 0 0 S 1 1 0 S 1 1 0 0 0 S 1 1 0 S 1 1 -230.579 0
> }
> NumOfAttributes: 43
> "vis" S 0 1 "r" S 0 1 "g" S 0 1 "b" S 0 1 "a" S 0 1 "ro" S 0 0 "go" S 0
> 0 "bo" S 0 0 "ao" S 0 0 "opc" S 0 1 "bm" S 0 0 "inv" S 0 0 "mbo" S 0 0 "mb"
> S 0 1 "mbs" S 0 0.5 "mbsot" S 0 0 "mbso" S 0 0 "fo" S 0 1 "fx" S 0 0 "fy" S
> 0 0 "ff" S 0 1 "ft" S 0 0 "src" S 0 0 "stx" S 0 0 "sty" S 0 0 "str" S 0 0
> "sr" S 0 0 "ssx" S 0 1 "ssy" S 0 1 "ss" S 0 0 "spx" S 0 1024 "spy" S 0 778
> "stot" S 0 0 "sto" S 0 0 "sv" S 0 0 "sf" S 0 1 "sb" S 0 1 "nv" S 0 1 "view1"
> S 0 1 "ltn" S 0 1 "ltm" S 0 1 "ltt" S 0 0 "tt" S 0 6
> }
> }
> NumOfChildren: 0
> }
> }
> }
> }
> toolbox {selectAll {
> { selectAll ssx 1 ssy 1 sf 1 }
> { createBezier ssx 1 ssy 1 sf 1 sb 1 tt 4 }
> { createBSpline ssx 1 ssy 1 sf 1 sb 1 }
> { createEllipse ssx 1 ssy 1 sf 1 sb 1 tt 6 }
> { createRectangle ssx 1 ssy 1 sf 1 sb 1 }
> { brush ssx 1 ssy 1 sf 1 sb 1 }
> { eraser src 2 ssx 1 ssy 1 sf 1 sb 1 }
> { clone src 1 ssx 1 ssy 1 sf 1 sb 1 }
> { reveal src 3 ssx 1 ssy 1 sf 1 sb 1 }
> { dodge src 1 ssx 1 ssy 1 sf 1 sb 1 }
> { burn src 1 ssx 1 ssy 1 sf 1 sb 1 }
> { blur src 1 ssx 1 ssy 1 sf 1 sb 1 }
> { sharpen src 1 ssx 1 ssy 1 sf 1 sb 1 }
> { smear src 1 ssx 1 ssy 1 sf 1 sb 1 }
> } }
> toolbar_brush_hardness 0.200000003
> toolbar_lifetime_type all
> toolbar_source_transform_scale {1 1}
> toolbar_source_transform_center {320 240}
> colorOverlay 0
> lifetime_type "all frames"
> motionblur_shutter_offset_type centred
> source_black_outside true
> name Roto1
> selected true
> xpos -40
> ypos -171
> }
> Constant {
> inputs 0
> channels rgb
> name Constant1
> selected true
> xpos 120
> ypos -87
> }
> Group {
> inputs 2
> name Group1
> selected true
> xpos -40
> ypos -63
> addUserKnob {20 User}
> addUserKnob {41 from0 l "Copy channel" T Copy1.from0}
> }
> Input {
> inputs 0
> name mask
> xpos 183
> ypos 153
> number 1
> }
> Input {
> inputs 0
> name Input
> xpos 0
> ypos 45
> }
> Copy {
> inputs 2
> to0 rgba.alpha
> name Copy1
> selected true
> xpos 0
> ypos 148
> }
> Output {
> name Output1
> xpos 0
> ypos 225
> }
> end_group_______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python