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