Group {
name GM_Liquid_Distortion
tile_color 0x55ffbfff
addUserKnob {20 User l Liquid}
addUserKnob {7 contrast_liq l Contrast R 1 4}
contrast_liq 3
addUserKnob {41 scale1 l Scale T CONTROL.scale1}
addUserKnob {7 speed_liq l Speed R 1 100}
speed_liq 50
addUserKnob {41 slid_03 l Offset T CONTROL.slid_03}
addUserKnob {41 size l Blur T Blur_liq.size}
addUserKnob {6 crop l Crop +STARTLINE}
crop true
addUserKnob {26 ""}
addUserKnob {7 mix l Mix}
mix 0.5
addUserKnob {26 ""}
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/liquid-distortion')\n" +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 TEXT l "" +STARTLINE T "1.01 version"}
addUserKnob {26 credit l "" +STARTLINE T "GM_Liquid Distortion© by Attila Gasparetz"}
}
Input {
inputs 0
name mask
xpos -260
ypos -202
number 1
}
Input {
inputs 0
name Input
xpos 400
ypos -514
}
Dot {
name Dot18
xpos 434
ypos -270
}
set N2f33880 [stack 0]
Dot {
name Dot12
xpos 214
ypos -270
}
set N2f33500 [stack 0]
Dot {
name Dot17
xpos 214
ypos -438
}
Dot {
name Dot2
xpos -6
ypos -438
}
set N2f32e00 [stack 0]
Shuffle {
red black
green black
blue black
alpha white
name Shuffle1
xpos -40
ypos -298
}
ChannelMerge {
inputs 2
operation multiply
name ChannelMerge1
xpos -40
ypos -215
disable {{"!\[exists parent.input1]"}}
}
push $N2f32e00
Expression {
temp_name0 seed
temp_expr0 "\[ regexp -inline \{\\d+\} \[knob name] ]"
temp_name1 scale
temp_expr1 CONTROL.slid_02*random(seed*2)
temp_name2 offset
temp_expr2 random(seed)*CONTROL.slid_03
expr0 noise((cx+offset)*scale,(cy+offset)*scale,frame/CONTROL.slid_01)
expr1 noise((cx+offset)*scale,(cy+offset)*scale,frame/CONTROL.slid_01)
expr2 0
name ELEMENTS_liq
xpos -590
ypos -442
}
ColorCorrect {
contrast {{contrast_liq}}
shadows 0
name ColorCorrect_liq
xpos -590
ypos -346
}
Dot {
name Dot13
xpos -556
ypos -294
}
set N2f55880 [stack 0]
TimeOffset {
time_offset 2
time ""
name TimeOffset_to_red
xpos -700
ypos -298
}
push $N2f55880
Copy {
inputs 2
from0 rgba.red
to0 rgba.red
name Copy3
xpos -590
ypos -232
}
Dot {
name Dot14
xpos -556
ypos -150
}
set N2f55180 [stack 0]
TimeOffset {
time_offset {{-TimeOffset_to_red.time_offset}}
time ""
name TimeOffset_to_green
xpos -700
ypos -154
}
push $N2f55180
Copy {
inputs 2
from0 rgba.green
to0 rgba.green
name Copy4
xpos -590
ypos -88
}
Blur {
channels rgb
size 30
name Blur_liq
xpos -370
ypos -82
}
Merge2 {
inputs 2
operation mask
name Merge1
xpos -40
ypos -82
}
push $N2f33500
Expression {
expr0 (x+0.5)/width
expr1 (y+0.5)/height
name Expression_STmap
xpos 180
ypos -178
}
Merge2 {
inputs 2
mix {{(parent.mix)/100 x1005 0.1}}
name Merge_dist_to_st
xpos 180
ypos -82
}
Dot {
name Dot1
tile_color 0x949494ff
note_font_size 22
note_font_color 0xffffffff
xpos 214
ypos -6
}
push $N2f33880
STMap {
inputs 2
uv rgb
name STMap_liq
xpos 400
ypos -16
}
Crop {
box {{input.format.x} {input.format.y} {input.width} {input.height}}
name Crop_liq
xpos 400
ypos 62
disable {{!parent.crop}}
}
Output {
name Output
xpos 400
ypos 110
}
NoOp {
inputs 0
name CONTROL
tile_color 0x444444ff
note_font_size 30
xpos -590
ypos -523
addUserKnob {20 User}
addUserKnob {7 slid_01 l slider01_speed R 1 100}
slid_01 {{101-(speed_liq)}}
addUserKnob {7 slid_02 l slider02_scale R 0 100}
slid_02 {{100-scale1}}
addUserKnob {7 slid_03 l slider03_seed R 1 100}
slid_03 1
addUserKnob {7 scale1 l scale R 0 100}
scale1 50
}
end_group