Grade { name WaveGrade selected true xpos -1140 ypos -34 addUserKnob {20 User} addUserKnob {22 random_wave l "Add Random Wave" T "## Add Random Wave\nwaveGr = nuke.thisNode()\n\nknob = waveGr\['knobs'].value()\nif knob == \"lift\":\n knob = \"black\"\nif knob == \"gain\":\n knob = \"white\"\nif knob == \"offset\":\n knob = \"add\"\n\nchan = waveGr\['channels_1'].value()\nif chan == \"all\":\n waveGr\[knob].setExpression(\"random((frame+offset)/waveLength) * (maxVal-minVal) + minVal\")\nif chan == \"red\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"random((frame+offset)/waveLength) * (maxVal-minVal) + minVal\", 0)\nif chan == \"green\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"random((frame+offset)/waveLength) * (maxVal-minVal) + minVal\", 1)\nif chan == \"blue\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"random((frame+offset)/waveLength) * (maxVal-minVal) + minVal\", 2)\nif chan == \"alpha\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"random((frame+offset)/waveLength) * (maxVal-minVal) + minVal\", 3)" +STARTLINE} addUserKnob {22 sine_wave l "Add Sine Wave" -STARTLINE T "## Add Sine Wave\nwaveGr = nuke.toNode('WaveGrade')\n\nknob = waveGr\['knobs'].value()\nif knob == \"lift\":\n knob = \"black\"\nif knob == \"gain\":\n knob = \"white\"\nif knob == \"offset\":\n knob = \"add\"\n\nchan = waveGr\['channels_1'].value()\nif chan == \"all\":\n waveGr\[knob].setExpression(\"(sin(2*pi*(frame+offset)/waveLength)+1)/2 * (maxVal-minVal) + minVal\")\nif chan == \"red\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(sin(2*pi*(frame+offset)/waveLength)+1)/2 * (maxVal-minVal) + minVal\", 0)\nif chan == \"green\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(sin(2*pi*(frame+offset)/waveLength)+1)/2 * (maxVal-minVal) + minVal\", 1)\nif chan == \"blue\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(sin(2*pi*(frame+offset)/waveLength)+1)/2 * (maxVal-minVal) + minVal\", 2)\nif chan == \"alpha\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(sin(2*pi*(frame+offset)/waveLength)+1)/2 * (maxVal-minVal) + minVal\", 3)"} addUserKnob {22 triangle_wave l "Add Triangle Wave" -STARTLINE T "## Add Triangle Wave\nwaveGr = nuke.thisNode()\n\nknob = waveGr\['knobs'].value()\nif knob == \"lift\":\n knob = \"black\"\nif knob == \"gain\":\n knob = \"white\"\nif knob == \"offset\":\n knob = \"add\"\n\nchan = waveGr\['channels_1'].value()\nif chan == \"all\":\n waveGr\[knob].setExpression(\"(asin(sin(2*pi*(frame+offset)/waveLength))/pi+0.5) * (maxVal-minVal) + minVal\")\nif chan == \"red\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(asin(sin(2*pi*(frame+offset)/waveLength))/pi+0.5) * (maxVal-minVal) + minVal\", 0)\nif chan == \"green\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(asin(sin(2*pi*(frame+offset)/waveLength))/pi+0.5) * (maxVal-minVal) + minVal\", 1)\nif chan == \"blue\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(asin(sin(2*pi*(frame+offset)/waveLength))/pi+0.5) * (maxVal-minVal) + minVal\", 2)\nif chan == \"alpha\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"(asin(sin(2*pi*(frame+offset)/waveLength))/pi+0.5) * (maxVal-minVal) + minVal\", 3)\n"} addUserKnob {22 square_wave l "Add Square Wave" T "## Add Square Wave\nwaveGr = nuke.thisNode()\n\nknob = waveGr\['knobs'].value()\nif knob == \"lift\":\n knob = \"black\"\nif knob == \"gain\":\n knob = \"white\"\nif knob == \"offset\":\n knob = \"add\"\n\nchan = waveGr\['channels_1'].value()\nif chan == \"all\":\n waveGr\[knob].setExpression(\"int(sin(2*pi*(frame+offset)/waveLength)+1) * (maxVal-minVal) + minVal\")\nif chan == \"red\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"int(sin(2*pi*(frame+offset)/waveLength)+1) * (maxVal-minVal) + minVal\", 0)\nif chan == \"green\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"int(sin(2*pi*(frame+offset)/waveLength)+1) * (maxVal-minVal) + minVal\", 1)\nif chan == \"blue\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"int(sin(2*pi*(frame+offset)/waveLength)+1) * (maxVal-minVal) + minVal\", 2)\nif chan == \"alpha\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"int(sin(2*pi*(frame+offset)/waveLength)+1) * (maxVal-minVal) + minVal\", 3)" +STARTLINE} addUserKnob {22 sawtooth_wave l "Add Sawtooth Wave" -STARTLINE T "## Add Sawtooth Wave\nwaveGr = nuke.thisNode()\n\nknob = waveGr\['knobs'].value()\nif knob == \"lift\":\n knob = \"black\"\nif knob == \"gain\":\n knob = \"white\"\nif knob == \"offset\":\n knob = \"add\"\n\nchan = waveGr\['channels_1'].value()\nif chan == \"all\":\n waveGr\[knob].setExpression(\"((frame+offset) % waveLength)/waveLength * (maxVal-minVal) + minVal\")\nif chan == \"red\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"((frame+offset) % waveLength)/waveLength * (maxVal-minVal) + minVal\", 0)\nif chan == \"green\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"((frame+offset) % waveLength)/waveLength * (maxVal-minVal) + minVal\", 1)\nif chan == \"blue\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"((frame+offset) % waveLength)/waveLength * (maxVal-minVal) + minVal\", 2)\nif chan == \"alpha\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"((frame+offset) % waveLength)/waveLength * (maxVal-minVal) + minVal\", 3)"} addUserKnob {22 bounce_wave l "Add Bounce Wave" -STARTLINE T "## Add Bounce Wave\nwaveGr = nuke.thisNode()\n\nknob = waveGr\['knobs'].value()\nif knob == \"lift\":\n knob = \"black\"\nif knob == \"gain\":\n knob = \"white\"\nif knob == \"offset\":\n knob = \"add\"\n\nchan = waveGr\['channels_1'].value()\nif chan == \"all\":\n waveGr\[knob].setExpression(\"abs(sin(pi*(frame + offset)/waveLength))* (maxVal-minVal) + minVal\")\nif chan == \"red\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"abs(sin(pi*(frame + offset)/waveLength))* (maxVal-minVal) + minVal\", 0)\nif chan == \"green\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"abs(sin(pi*(frame + offset)/waveLength))* (maxVal-minVal) + minVal\", 1)\nif chan == \"blue\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"abs(sin(pi*(frame + offset)/waveLength))* (maxVal-minVal) + minVal\", 2)\nif chan == \"alpha\":\n waveGr\[knob].setSingleValue(False)\n waveGr\[knob].setExpression(\"abs(sin(pi*(frame + offset)/waveLength))* (maxVal-minVal) + minVal\", 3)"} addUserKnob {26 ""} addUserKnob {4 knobs l Knobs M {blackpoint whitepoint lift gain multiply offset gamma ""}} knobs gain addUserKnob {4 channels_1 l Channels M {all red green blue alpha ""}} addUserKnob {26 ""} addUserKnob {7 waveLength R 0 100} waveLength 20 addUserKnob {7 maxVal R 0 10} maxVal 4 addUserKnob {7 minVal R 0 10} addUserKnob {7 offset t "\t\t" R 0 100} addUserKnob {26 ""} addUserKnob {22 set_def l "Set all to default" T "## Set all to default\nwaveGr = nuke.thisNode()\n\nwaveGr\['blackpoint'].clearAnimated()\nwaveGr\['blackpoint'].setValue(0)\nwaveGr\['whitepoint'].clearAnimated()\nwaveGr\['whitepoint'].setValue(1)\nwaveGr\['black'].clearAnimated()\nwaveGr\['black'].setValue(0)\nwaveGr\['white'].clearAnimated()\nwaveGr\['white'].setValue(1)\nwaveGr\['multiply'].clearAnimated()\nwaveGr\['multiply'].setValue(1)\nwaveGr\['add'].clearAnimated()\nwaveGr\['add'].setValue(0)\nwaveGr\['gamma'].clearAnimated()\nwaveGr\['gamma'].setValue(1)" +STARTLINE} addUserKnob {26 ""} addUserKnob {26 info l "" +STARTLINE T "modified by Attila Gasparetz | v1.01 | 2020 | "} addUserKnob {26 link l "" -STARTLINE T "For more info"} }