bplist00 _inputParametersYcopyrightTnameYrootPatch[description VBFaderZFaderCurveVAFaderYCrossFade#[Toby Harris_SPARK DJ Style MixerUclassUstateWQCPatch+_publishedInputPortsUnodes[connectionsXuserInfo#()* TportSkeyTnode]ImageKernel_1!"Uinput Or streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameA VideoZSplitter_1WA_Video$&'%Or streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameB VideoZSplitter_2WB_Video ,4]cf-.]QCImageKernel/0123ZsourceCode\automaticDOD_/* SPARK-DJSTYLEMIXER-v1 A Core Image kernel routine that mixes two channels of video with controls analogous to a DJ mixer Toby Harris aka *spark; June2007; www.sparkav.co.uk Some rights reserved - Creative Commons Share and Share Alike */ kernel vec4 SPK_DJMXR_Kernel(sampler AVideo, sampler BVideo, float AFader, float BFader, float CrossFade, float FaderCurve) // Faders and FaderCurve are normalised { vec4 ret; float crossA; float crossB; // compute the crossfader lookup individually for A and B // so i can use a custom 'crossfader' curve FaderCurve = 1.0+(2.0*FaderCurve); crossA = (CrossFade>0.5)?(FaderCurve-FaderCurve*CrossFade):1.0; crossB = (CrossFade<0.5)?(FaderCurve*CrossFade):1.0; crossA = (crossA>1.0)?1.0:crossA; crossB = (crossB>1.0)?1.0:crossB; // now mash it all together... // fade to black each channel according to crossfader ret.rgb = (sample(AVideo, samplerCoord(AVideo)).rgb*(crossA*AFader))+(sample(BVideo, samplerCoord(BVideo)).rgb*(crossB*BFader)); ret.a = 1.0; return ret; } O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name SPK.DJ-MXRpositionNSValue* {_NSPoint=ff}56\[QCBillboard789:;<=BWXYW2_systemInputPortStates_ivarInputPortStates\pixelAlignedWversion\squarePixels[CIRendering>?W_enable@2Uvalue CDEFGHIPQRSUZinputColor]inputRotationVinputYVinputX]inputBlendingZinputScale@JKLMNOOOOUgreenTblueUalphaSred"?@ @ @ @T@V#@O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} [Billboard_1^_!ZQCSplitter`abYportClass]QCGLImagePortO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}L^d&`aeO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Lghijp_publishedOutputPortsO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameScale To Output RespositionNSValue* {_NSPoint=ff} scrollingklnomOv streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Input VideoZSplitter_4[Input_Videoqrstuvw]connection_10\connection_8\connection_9]connection_12]connection_11\connection_1xyz{|}~ZsourceNodeZsourcePort_destinationNode_destinationPort\ScreenInfo_1_outputPixelsWide\Expression_1_destinationWidthxyz{nVoutput_AffineTransform_1ZinputImagexyz{}~_ImageDimensions_1ZinputWidthxyz{~\outputResult_inputTransform_ScaleYxyz{~_inputTransform_ScaleXxyz{nutputImageUImage|\QCScreenInfoҕ2]cleanAperture O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}I_QCImageDimensionsO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}^n`aO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Q!Zidentifier]QCImageFilterأT _customInputPortStates[borderColor\wrappingMode\mipmapLevels]filteringModeVtargetZanisotropyի_inputTransform_Rotate_inputTransform_OriginX_inputTransform_OriginY_inputTransform_TranslateX_inputTransform_TranslateY@ @ @ @ @ _R=0 G=0 B=0 A=0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}![ClampToEdgeXBilinear_GL_TEXTURE_RECTANGLE_EXT_CIAffineTransform~\QCExpressionҾZexpression_destinationWidth/inputWidthO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"destinationWidth/inputWidth"positionNSValue* {_NSPoint=ff}WPatch_1hO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameScale To Output RespositionNSValue* {_NSPoint=ff} scrollingnomqrstuvxyz{|}~xyz{nxyz{}~xyz{~xyz{~xyz{n|ҕ2 օ^n`aڂأ۵T ի@ @ @ @ @ ~ҾWPatch_2v\connection_4\connection_2\connection_5\connection_3xyz{\xyz{!oxyz{VBVideoxyz{VAVideoxyz{&oO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+noteA Core Image kernel routine that mixes two channels of video with controls analogous to a DJ mixer Toby Harris aka *spark; June2007; www.sparkav.co.uk Some rights reserved - Creative Commons Share and Share AlikenameSPARK-DJSTYLEMIXER-v1 scrollingNSValue* {_NSPoint=ff}[_www.sparkav.co.uk%/4>JSZelv (.1:EMT[bip~U\hw*58AGLRV[^adgiluv    " - 2 < J }     ( 6 C P ^ l y  + 4 H S \ i <CH(4AN\cny  7 &/8:AGNST[^ejs #,