bplist00 _inputParametersYcopyright[description_editorViewerWindowYrootPatch TsizeTflip#?_ toneburst 2007 www.toneburst.net_3VDMX qcFX. Recreation of PhotoBooth Squeeze effect._"2055 672 314 302 1280 0 1280 1024 UclassUstateWQCPatch,FXtimebaseXuserInfo_publishedInputPorts[connectionsUnodesVparentO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+noteZCode adapted from Libero Spagnolina's tutorial at http://dem.ocracy.org/libero/photobooth/ scrollingNSValue* {_NSPoint=ff}~/$( "#TportTnodeSkeyUinput!Ou typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name inputImageZSplitter_1ZinputImage%'&Oo typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+namesizeZSplitter_3)+*Oo typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameflipZSplitter_2-./0123;?CDE\connection_4\connection_2\connection_7\connection_5\connection_3\connection_1456789:#ZsourceNodeZsourcePort_destinationNode_destinationPortWPatch_1Wimage_1[Billboard_14567<=8>ZSplitter_4VoutputUimage4567@A:B\ScreenInfo_1[outputWidthZinputScale4567"=<4567+=84567'=8G`fHI_WQCClearJKLMNS\RR_systemInputPortStates_ivarInputPortStates_clearDepthBuffer_clearColorBufferOPW_enableQRUvalue TUZinputColorQVWXYZ[[[[UgreenTblueUalphaSred"O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+note,Required for qcFX to work correctly in VDMX.positionNSValue* {_NSPoint=ff}ņ WClear_1ab@\QCScreenInfocRe]cleanAperture O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+noteQGets the width and height of the rendering destination (ie VDMX's output window).positionNSValue* {_NSPoint=ff}?gh:[QCBillboardJKijklmp ~ R\pixelAlignedWversion\squarePixels[CIRenderingOnQR Tqrstuxyz{]inputRotationVinputYVinputX]inputBlendingQvWXYZwwww"?Q[Q[Q[Q|O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+notedThis object draws the output of the composition, that will appear as the output of the qcFX in VDMX.positionNSValue* {_NSPoint=ff} "ZQCSplitter҅YportClass]QCGLImagePortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name VDMX Video inpositionNSValue* {_NSPoint=ff}^҆noteVideo In from VDMX.O# typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nametoneburst 2007positionNSValue* {_NSPoint=ff}O膒noteccreated by toneburst, July 07. Feel free to modify in any way you see fit. http://www.toneburst.netWPatch_4'ԅXinputMinXinputMax\QCNumberPort#?#?O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameSizepositionNSValue* {_NSPoint=ff}сnoteSize or centre area.<҅O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameVideo InpositionNSValue* {_NSPoint=ff}Ё҆_QCQuickTimePlayerKj R [highQuality_deinterlaceFields_maskCompatibilityўYinputPathQ_e/Volumes/LaCie Disk 1/More PD Movies April 07/Photo-JPEG/Impact 66 Pt.1 (1966)/ImpactPt.1 Clip_14.movO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Test MoviepositionNSValue* {_NSPoint=ff}, _QuickTimePlayer_18_publishedOutputPortsO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Light TunnelpositionNSValue* {_NSPoint=ff}P scrolling円+>Op typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameimage"&ZinputIndex*]Multiplexer_1۵.1-0/2\connection_9]connection_10]connection_11\connection_6\connection_84567"=]ImageKernel_24567+=>4567]ImageKernel_1[outputImageXsource_04567+=#_ImageDimensions_14567ľ_outputPixelsHighVheight4567Xsource_14567+=>4567ʻ_outputPixelsWideUwidth4567"=4567Ļ4567ʾˡ=ѳ9_QCImageDimensionsO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}jٻ]QCImageKernelRZsourceCode\automaticDOD_X/* Code from Libero Spagnolini http://dem.ocracy.org/libero/photobooth/ */ kernel vec4 squeeze(sampler image, float width, float height, float size) { // current pixel pos. in pixels vec2 xy = samplerCoord(image); // current pix coords as numbers from 0.0 to 1.0 vec2 texCoord; texCoord.x = xy.x / width; texCoord.y = xy.y / height; // current pix coord as number from -1.0 to 1.0 vec2 normCoord = 2.0 * texCoord -1.0; // cartesian to polar coords float r = length(normCoord); float phi = atan(normCoord.y, normCoord.x); // the actual effect r = r < size ? size : r; // convert polar coords back to cartesian normCoord.x = r * cos(phi); normCoord.y = r * sin(phi); // scale back to pixel coords texCoord.x = (normCoord.x / 2.0 + 0.5) * width; texCoord.y = (normCoord.y /2.0 + 0.5) * height; return sample(image, texCoord); } O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameLight Tunnel Inv.positionNSValue* {_NSPoint=ff}醆R_X/* Code from Libero Spagnolini http://dem.ocracy.org/libero/photobooth/ */ kernel vec4 squeeze(sampler image, float width, float height, float size) { // current pixel pos. in pixels vec2 xy = samplerCoord(image); // current pix coords as numbers from 0.0 to 1.0 vec2 texCoord; texCoord.x = xy.x / width; texCoord.y = xy.y / height; // current pix coord as number from -1.0 to 1.0 vec2 normCoord = 2.0 * texCoord -1.0; // cartesian to polar coords float r = length(normCoord); float phi = atan(normCoord.y, normCoord.x); // the actual effect r = r > size ? size : r; // convert polar coords back to cartesian normCoord.x = r * cos(phi); normCoord.y = r * sin(phi); // scale back to pixel coords texCoord.x = (normCoord.x / 2.0 + 0.5) * width; texCoord.y = (normCoord.y /2.0 + 0.5) * height; return sample(image, texCoord); } O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Light TunnelpositionNSValue* {_NSPoint=ff}+҅O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameVideo InpositionNSValue* {_NSPoint=ff}醆"҅O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameSizepositionNSValue* {_NSPoint=ff}]QCMultiplexerӅZinputCountO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameTypepositionNSValue* {_NSPoint=ff}}цnoteSwitches between+҅]QCBooleanPortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameFlippositionNSValue* {_NSPoint=ff}сnote5Flips between Normal and Inverted versions on effect.%/;PZ_dirs '=IOVVZchmqwz'4AN[hu~ "+4=HOWbz '/<HKNOZhov    ' 0  !$;<=>RYd{HLUX .<IV_mv(1:<EHOVjm )6IPWelq%*