Group {
name GM_Moving_Lines
tile_color 0xe8f57dff
note_font "DejaVu Sans"
addUserKnob {20 User}
addUserKnob {4 output l Output M {"Pattern Only" "Pattern Over Image" "Distorted Image" STMap ""}}
output "Pattern Over Image"
addUserKnob {6 keep_a l "Keep Original Alpha" -STARTLINE}
keep_a true
addUserKnob {26 ""}
addUserKnob {41 type_1 l Type T proxy.type}
addUserKnob {41 axis_1 l Axis T proxy.axis}
addUserKnob {41 direction_1 l Direction T proxy.direction}
addUserKnob {41 thickness_1 l Thickness T proxy.thickness}
addUserKnob {41 chew l Gap T key_chew_ML.chew}
addUserKnob {41 speed_1 l Speed T proxy.speed}
addUserKnob {41 value_1 l Value +INVISIBLE T proxy.value}
addUserKnob {41 offset_1 l Offset T proxy.offset}
addUserKnob {7 blur l Blur R 0 100}
addUserKnob {41 multiply l Color T Grade_ML.multiply}
addUserKnob {6 invert +STARTLINE}
invert true
addUserKnob {26 ""}
addUserKnob {6 cross l "Enable Cross" +STARTLINE}
cross true
addUserKnob {41 operation1 l Operation T Merge_Proxy.operation1}
addUserKnob {26 ""}
addUserKnob {41 mix l Mix T Merge2.mix}
addUserKnob {26 "" +STARTLINE}
addUserKnob {22 tut l Tutorial T "import os\nimport sys\n\ntry:\n import subprocess\n def _run(cmd, shell, wait):\n opener = subprocess.Popen(cmd, shell=shell)\n if wait:\n opener.wait()\n return opener.pid\nexcept ImportError:\n import popen2\n def _run(cmd, shell, wait):\n opener = popen2.Popen3(cmd)\n if wait:\n opener.wait()\n return opener.pid\n\ndef _open(url, wait=0):\n if sys.platform == \"darwin\":\n cmd = \[\"open\", url]\n elif hasattr(os, \"startfile\"):\n return os.startfile(url)\n elif os.environ.has_key(\"KDE_FULL_SESSION\") or os.environ.has_key(\"KDE_MULTIHEAD\") or \\\n os.environ.has_key(\"GNOME_DESKTOP_SESSION_ID\") or os.environ.has_key(\"GNOME_KEYRING_SOCKET\"):\n cmd = \[\"xdg-open\", url]\n else:\n raise OSError, \"Desktop not supported.\"\n\n return _run(cmd, 0, wait)\n\n_open('https://www.gatimedia.co.uk/moving-lines')\n" +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 TEXT l "" +STARTLINE T "1.01 version"}
addUserKnob {26 HeadlineB l "" +STARTLINE T "GM_Moving_LinesĀ© by Attila Gasparetz"}
}
Input {
inputs 0
name Input
xpos 180
ypos -874
}
Dot {
name Dot9
xpos 214
ypos -750
}
set N35ce000 [stack 0]
Remove {
name Remove_ML
tile_color 0x555555ff
xpos 180
ypos -640
}
Dot {
name Dot5
tile_color 0x949494ff
note_font_size 22
note_font_color 0xffffffff
xpos 214
ypos -534
}
set N7a31880 [stack 0]
Dot {
name Dot7
tile_color 0x949494ff
note_font_size 22
note_font_color 0xffffffff
xpos -6
ypos -534
}
Expression {
channel3 alpha
expr3 "( \[value proxy.type](\[if \{\[numvalue proxy.axis] == 0\} \{return \"y\"\} else \{return \"x\"\}]/proxy.thickness \[if \{\[numvalue proxy.direction] == 0\} \{return \"-\"\} else \{return \"+\"\}] (frame+proxy.offset)*proxy.speed ) )*proxy.value"
name Moving_Lines_Exp1
tile_color 0x555555ff
selected true
xpos -40
ypos -490
addUserKnob {20 User}
addUserKnob {4 type M {sin cos tan}}
addUserKnob {4 axis M {x y}}
axis y
addUserKnob {4 direction M {up down}}
direction down
addUserKnob {7 thickness R 1 100}
thickness 34.5
addUserKnob {7 speed R 0 2}
speed 0.3
addUserKnob {7 value R 0 10}
value 1
addUserKnob {7 offset R 0 100}
}
Clamp {
name Clamp_ML1
tile_color 0x555555ff
xpos -40
ypos -424
}
Group {
name key_chew_ML1
help "======== KeyChew beta ========\n=============================\n\nThis is a port of the KeyChew macro for Shake to Nuke.\n\nThere might be tiny differences on the results given in both apps. Some of them are caused by the internal algorithms of each app, and others by the way I faked the JSplineV\nexpression of Shake in Nuke. If you know a better way to solve this, let\nme know!!\n\n=============================\n 2009 Cuco Bures\n============================="
tile_color 0x555555ff
xpos -40
ypos -346
addUserKnob {20 Controls}
addUserKnob {7 chew t "\t\t" R -200 200}
chew {{parent.key_chew_ML.chew}}
addUserKnob {7 soften R 0 200}
soften {{parent.key_chew_ML.soften}}
addUserKnob {6 matteMult +STARTLINE}
}
Input {
inputs 0
name Input
xpos 0
}
set N7a30700 [stack 0]
Dot {
name Dot1
xpos 366
ypos 5
}
set N7a30380 [stack 0]
push $N7a30380
Invert {
name Invert1
xpos 177
ypos 34
}
push $N7a30380
Switch {
inputs 2
which {{"\[value parent.chew]>=0?0:1"}}
name Switch1
xpos 177
ypos 87
}
Blur {
size {{"(floor(abs(\[value parent.chew]))/4)+(floor(abs(\[value parent.chew]))/8)" i}}
name FgEdgeBlur
xpos 177
ypos 111
}
Grade {
channels alpha
multiply {1 1 1 {max(FgEdgeBlur.size*1.5,1) i}}
black_clamp false
name FgEdgeMult
xpos 177
ypos 165
}
Grade {
channels alpha
gamma {1 1 1 {JSplineVFake(floor(abs(parent.chew))) i}}
name FgEdgeGamma1
xpos 177
ypos 213
addUserKnob {20 User}
addUserKnob {7 JSplineVFake}
JSplineVFake {{curve i l 0.9958 k x5 0.95 0.8 x20 0.5 x40 0.3 x80 0.2 l x200 0.1}}
}
set N7a5d180 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge1
xpos 332
ypos 218
}
push $N7a5d180
Switch {
inputs 2
which {{"\[value parent.chew]>=0?0:1"}}
name Switch2
xpos 177
ypos 284
}
Clamp {
name Clamp2
xpos 177
ypos 323
}
Blur {
size {{"(floor(abs(\[value parent.soften]))/4)+(floor(abs(\[value parent.soften]))/8)"}}
name BlurResult
xpos 177
ypos 446
}
push $N7a30700
ShuffleCopy {
inputs 2
name ShuffleCopy1
xpos 0
ypos 451
}
Premult {
name Premult1
xpos 0
ypos 486
disable {{"1-\[value parent.matteMult]" i}}
}
Output {
name Output1
xpos 0
ypos 556
}
end_group
Dot {
name Dot8
tile_color 0x949494ff
note_font_size 22
note_font_color 0xffffffff
xpos -6
ypos -270
}
push $N7a31880
Expression {
channel3 alpha
expr3 "( \[value proxy.type](\[if \{\[numvalue proxy.axis] == 0\} \{return \"x\"\} else \{return \"y\"\}]/proxy.thickness \[if \{\[numvalue proxy.direction] == 0\} \{return \"-\"\} else \{return \"+\"\}] (frame+proxy.offset)*proxy.speed ) )*proxy.value"
name Moving_Lines_Exp
tile_color 0x555555ff
xpos 180
ypos -490
addUserKnob {20 User}
addUserKnob {4 type M {sin cos tan}}
addUserKnob {4 axis M {x y}}
axis y
addUserKnob {4 direction M {up down}}
direction down
addUserKnob {7 thickness R 1 100}
thickness 19.5
addUserKnob {7 speed R 0 2}
speed 0.3
addUserKnob {7 value R 0 10}
value 1
addUserKnob {7 offset R 0 100}
addUserKnob {7 rotate R 0 180}
rotate 23.6
}
Clamp {
name Clamp_ML
tile_color 0x555555ff
xpos 180
ypos -424
}
Group {
name key_chew_ML
help "======== KeyChew beta ========\n=============================\n\nThis is a port of the KeyChew macro for Shake to Nuke.\n\nThere might be tiny differences on the results given in both apps. Some of them are caused by the internal algorithms of each app, and others by the way I faked the JSplineV\nexpression of Shake in Nuke. If you know a better way to solve this, let\nme know!!\n\n=============================\n 2009 Cuco Bures\n============================="
tile_color 0x555555ff
xpos 180
ypos -346
addUserKnob {20 Controls}
addUserKnob {7 chew t "\t\t" R -200 200}
addUserKnob {7 soften R 0 200}
addUserKnob {6 matteMult +STARTLINE}
}
Input {
inputs 0
name Input
xpos 0
}
set Nad40700 [stack 0]
Dot {
name Dot1
xpos 366
ypos 5
}
set Nad40380 [stack 0]
push $Nad40380
Invert {
name Invert1
xpos 177
ypos 34
}
push $Nad40380
Switch {
inputs 2
which {{"\[value parent.chew]>=0?0:1"}}
name Switch1
xpos 177
ypos 87
}
Blur {
size {{"(floor(abs(\[value parent.chew]))/4)+(floor(abs(\[value parent.chew]))/8)" i}}
name FgEdgeBlur
xpos 177
ypos 111
}
Grade {
channels alpha
multiply {1 1 1 {max(FgEdgeBlur.size*1.5,1) i}}
black_clamp false
name FgEdgeMult
xpos 177
ypos 165
}
Grade {
channels alpha
gamma {1 1 1 {JSplineVFake(floor(abs(parent.chew))) i}}
name FgEdgeGamma1
xpos 177
ypos 213
addUserKnob {20 User}
addUserKnob {7 JSplineVFake}
JSplineVFake {{curve i l 0.9958 k x5 0.95 0.8 x20 0.5 x40 0.3 x80 0.2 l x200 0.1}}
}
set Nad73180 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge1
xpos 332
ypos 218
}
push $Nad73180
Switch {
inputs 2
which {{"\[value parent.chew]>=0?0:1"}}
name Switch2
xpos 177
ypos 284
}
Clamp {
name Clamp2
xpos 177
ypos 323
}
Blur {
size {{"(floor(abs(\[value parent.soften]))/4)+(floor(abs(\[value parent.soften]))/8)"}}
name BlurResult
xpos 177
ypos 446
}
push $Nad40700
ShuffleCopy {
inputs 2
name ShuffleCopy1
xpos 0
ypos 451
}
Premult {
name Premult1
xpos 0
ypos 486
disable {{"1-\[value parent.matteMult]" i}}
}
Output {
name Output1
xpos 0
ypos 556
}
end_group
Merge2 {
inputs 2
operation {{Merge_Proxy.operation1}}
name Merge_ML
tile_color 0x555555ff
xpos 180
ypos -274
disable {{"parent.cross ==0"}}
}
Invert {
name Invert_ML
tile_color 0x555555ff
xpos 180
ypos -160
disable {{"parent.invert == 0"}}
}
Dot {
name Dot6
tile_color 0x949494ff
note_font_size 22
note_font_color 0xffffffff
xpos 214
ypos -78
}
set Nadb0e00 [stack 0]
Dot {
name Dot2
xpos 214
ypos 18
}
set Nadb0a80 [stack 0]
push $Nadb0e00
push $N7a31880
Dot {
name Dot1
xpos 544
ypos -534
}
set Nadb0700 [stack 0]
ShuffleCopy {
inputs 2
red alpha
green black
blue black
alpha black
name ShuffleCopy_R
tile_color 0x555555ff
xpos 510
ypos -82
}
ShuffleCopy {
inputs 2
green alpha
blue black
alpha black
name ShuffleCopy_G
tile_color 0x555555ff
xpos 510
ypos 14
}
Dot {
name Dot12
xpos 544
ypos 66
}
set Nadddc00 [stack 0]
Blur {
size {{blur}}
name Blur1
label "Size: \[value size]"
xpos 730
ypos 49
}
push $Nadb0700
Dot {
name Dot10
xpos 1204
ypos -534
}
Expression {
expr0 (x+0.5)/width
expr1 (y+0.5)/height
name Expression1
xpos 1170
ypos -346
}
Merge2 {
inputs 2
mix {{Merge2.mix/5}}
name Merge1
xpos 1170
ypos 62
}
set Naddca80 [stack 0]
push $Naddca80
push $N35ce000
Dot {
name Dot11
xpos 984
ypos -750
}
Shuffle {
alpha black
name Shuffle1
label "\[value in]"
xpos 950
ypos -184
disable {{keep_a}}
}
Dot {
name Dot13
xpos 984
ypos 258
}
set Naddc000 [stack 0]
STMap {
inputs 2
uv rgb
name STMap1
label "UV: \[value uv]"
xpos 1170
ypos 241
}
push $Nadb0a80
Dot {
name Dot3
xpos 214
ypos 114
}
set Nae01880 [stack 0]
Dot {
name Dot4
xpos 214
ypos 210
}
push $Nae01880
push $Nadddc00
ShuffleCopy {
inputs 2
blue alpha
alpha black
name ShuffleCopy_B
tile_color 0x555555ff
xpos 510
ypos 110
}
Grade {
name Grade_ML
xpos 510
ypos 158
}
ShuffleCopy {
inputs 2
name ShuffleCopy_A
tile_color 0x555555ff
xpos 510
ypos 206
disable {{"parent.alpha == 0"}}
}
Blur {
size {{Blur1.size}}
name Blur2
label "Size: \[value size]"
xpos 510
ypos 265
}
Premult {
name Premult1
xpos 510
ypos 374
}
set Nae00380 [stack 0]
push $Naddc000
Merge2 {
inputs 2
name Merge2
xpos 950
ypos 374
}
push $Nae00380
Switch {
inputs 4
which {{output}}
name Switch1
label "Which: \[value which]"
xpos 950
ypos 536
}
Output {
name Output
xpos 950
ypos 686
}
NoOp {
inputs 0
name Merge_Proxy
xpos 290
ypos -274
addUserKnob {20 User}
addUserKnob {4 operation1 M {atop average color-burn color-dodge conjoint-over copy difference disjoint-over divide exclusion from geometric hard-light hypot in mask matte max min minus multiply out over overlay plus screen soft-light stencil under xor ""}}
operation1 over
}
NoOp {
inputs 0
name proxy
tile_color 0x555555ff
xpos -150
ypos -490
addUserKnob {20 User}
addUserKnob {4 type l typ M {sin cos tan}}
addUserKnob {4 axis M {x y}}
addUserKnob {4 direction M {up down}}
addUserKnob {7 thickness R 1 100}
thickness 30
addUserKnob {7 speed R 0 2}
speed 1
addUserKnob {7 value R 0 10}
value 10
addUserKnob {7 offset R 0 100}
}
end_group