bplist00_editorViewerWindowYrootPatch_inputParameters_51 147 512 430 0 0 1280 1002  UclassUstateWQCPatch _publishedInputPortsUnodes[connectionsXuserInfoTportSkeyTnodeZmatchColor]ImageKernel_1[sensitivity ]QCImageKernel ZsourceCode\automaticDOD_float distHue(vec4 pix, vec4 color) { float diff = abs(pix.r - color.r); diff = diff > 3. ? 6. - diff : diff; return diff/3.0; } float distSaturation(vec4 pix, vec4 color) { float diff = abs(pix.g - color.g); return diff; } vec4 rgb2hsv(vec4 rgb) { float X = min(rgb.r, min(rgb.g, rgb.b)); float V = max(rgb.r, max(rgb.g, rgb.b)); float f = (rgb.r == X) ? rgb.g - rgb.b : (rgb.g == X) ? rgb.b - rgb.r : rgb.r - rgb.g; float i = (rgb.r == X) ? 3.0 : (rgb.g == X) ? 5.0 : 1.0; float H = (V == X) ? 0. : i - f / (V - X); float S = (V == X) ? 0. : (V - X) / V; return vec4(H, S, V, 1.0); } kernel vec4 multiplyEffect(sampler rgbImage, __color matchColor, float sensitivity) { vec4 rgb = sample(rgbImage, samplerCoord(rgbImage)); vec4 color = unpremultiply(matchColor); vec4 hsv = rgb2hsv(rgb); vec4 colorhsv = rgb2hsv(color); float comp = distHue(hsv, colorhsv); float comp2 = distSaturation(hsv, colorhsv); comp = sqrt(comp*comp + comp2*comp2) - (1.0)/sensitivity + abs(hsv.b - 0.5); vec4 outpix = compare( vec4(comp, comp, comp, 1.0), matchColor, vec4(hsv.b, hsv.b, hsv.b, 1.0)); return outpix; } O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}ņ! " #$9Y^_publishedOutputPortsO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Video InputpositionNSValue* {_NSPoint=ff}Ɔ scrolling%-&'+,Uinput( )*UvalueOv typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Monochrome?ZSplitter_2ZMonochrome./78ZinputColor( 0612345555UgreenTblueUalphaSred"?O{ typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameMonochrome Color_ColorMonochrome_1_Monochrome_Color:;<=>?@ABJMQSTVX\connection_8\connection_6\connection_4\connection_2\connection_7\connection_5\connection_3\connection_1CDEF+GHIZsourceNodeZsourcePort_destinationNode_destinationPortVoutput]Multiplexer_2ZinputIndexCDEFKG7L]Multiplexer_1ZinputImageCDEFNOKP\VideoInput_1[outputImageXsource_1CDEFRGKIZSplitter_1CDEF7OHPCDEFKGHUXsource_0CDEFWOKU[TextImage_1CDEFNOR&ZG[H] \Op typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameImageUImage_u{`aN\QCVideoInputbcdefg hijkl)nopqrsZanisotropy\wrappingMode[highQuality]videoSettings[borderColorVtarget]filteringMode\mipmapLevelsVuseYUV"[ClampToEdgeO0ctomcdscsgchvideapplcsetvdigvdigiidcappl0HnameIIDC FireWire VideomacswpptxxHdnamiSightireWire Video݀T1`̐{XPō{,duid '\vrct@@,mtrx@clip use  plyfposnzptompdscsgpnvidecmprZpsetsptl2vuytprldrat cmfrq4ptompdscsgpnvidecolrtpsetTcolr@seandfeat$t&idtempcolr Temperatureement^q4p qPd٠Txٰlhnt:dzeztԿԿdԔa@<d$^`0`왐x@q4q4`,@dPpa?zx`fstg,fstg'&># dfeat $t&idwhbucolrWhite Balance Ut^q4p qPd٠Txٰlhnt:dzeztԿԿdԔa@<d$^`0`왐x@q4q4`,@dPpa?zx`fstg,fstg;)dfeat $t&idwhbvcolrWhite Balance Vt^q4p qPd٠Txٰlhnt:dzeztԿԿdԔa@<d$^`0`왐x@q4q4`,@dPpa?zx`fstg,fstg;)uids '\ jptompdscsgpnvideimag Jpset imag seandfeat$t&idhue imagHue^눿ٰ^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg%h%?dfeat$t&idsatuimag Saturation^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg%%?dfeat$t&idbritimag Brightness^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg%%=dfeat$t&idgainimagGainhtness^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg'&>dfeat$t&idshtrimagShutteress^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg' &>Jdfeat$t&idxpsrimagExposuress^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg?)>۷odfeat$t&idedenimagEdge Enhancement^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^ 0 왐x@q4q4`,@dPpa?zx`fstg,fstg'd&uids '\ hue satu brit gain shtr xpsr edenptompdscsgpnvidemechpsetmechxseandfeat $t&idfcusmechFocus Balance Vt^q4p qPd٠xٰlhnt(dzeztԿԿdԔa@<d$^0왐x@q4q4`,@dPpa?zx`fstg,fstg=d)?*uids '\%J%W%e%l%s%%%%%%%%%%%%%%&L&X&]&f&o&x''''!'&'+'4