bplist00kxyz|YrootPatch^portAttributes_editorViewerWindow_frameworkVersion_inputParametersYprotocols oUstateUclass >WXhUnodes[connectionsXuserInfo_publishedInputPortsXtimebase_systemInputPortStates!-4<qx-5;  Skey _customInputPortStatesYportClassWversionUinput O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_AudioSpectrum_QCStructurePortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameAudio Spectrum (Required)positionNSValue* {_NSPoint=ff}98ZQCSplitter__protocolInput_AudioSpectrum ",# $%&)*+XinputMaxXinputMin#?' (O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_AudioPeak\QCNumberPortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameAudio Peak (Required)positionNSValue* {_NSPoint=ff}M#__protocolInput_AudioPeak .3 /20 1O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_TrackInfoO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameTrack Info (Optional)positionNSValue* {_NSPoint=ff}S4__protocolInput_TrackInfo 5; 69:7 8O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_TrackSignal]QCBooleanPortO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameTrack Signal (Optional)positionNSValue* {_NSPoint=ff}Iֆ__protocolInput_TrackSignal =op  >kn? @ijAB CDEFGHMe_compositionMode[hasTimebase_ivarInputPortStates_compositionInputsXconsumerO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}憆IJYinputPathKLUvalueY/gradientNX\a OVWKPQRSTUUU%UgreenTblueSredUalpha">Z[QCColorPort__protocolInput_PrimaryColor YV[KZQRST+++%__protocolInput_SecondaryColor ]_`K^[QCIndexPortYdirection b)dKc#?XpositionfgW_enableKh _QCPatchRenderer_PatchRenderer_1flKh O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}D/noteListNSMutableArrayNSArraybounds#{_NSRect={_NSPoint=ff}{_NSSize=ff}}؁stringJHere we load the Gradient.qtz composition from the Composition Repository.colorNSColorcffff? zoomFactorNSNumberfposition$sname BackgroundWQCPatchWPatch_3 rw s)vt uO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_TrackPositionO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameTrack Position (Optional)positionNSValue* {_NSPoint=ff}A__protocolInput_TrackPosition yo< zc{=FPV] | }~Chhh\pixelAligned[CIRendering_optimizedRenderingXsizeModeO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}& ]inputRotation]inputBlendingZinputColor_inputPixelAlignedK+KKQRST%%%%Kh Treal[QCBillboard[Billboard_1  ^numberOfInputsWnewModeVscript_numberOfOutputsO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameFormat String (JS)positionNSValue* {_NSPoint=ff}x_/* Convert some of the Track Info which is contained in a structure into a formatted string. */ function (__string outputString) main (__structure inputStructure) { var result = new Object(); var str = ""; if (inputStructure != null) { if (inputStructure.name != null) str += inputStructure.name + "\n"; if (inputStructure.album != null) str += inputStructure.album; if (inputStructure.year != null) str += " [" + inputStructure.year + "]"; str += "\n"; if (inputStructure.artist != null) str += inputStructure.artist + "\n"; if (inputStructure.genre != null) str += inputStructure.genre; } result.outputString = str; return result; } \QCJavaScript\JavaScript_2  CF_verticalAlignment_horizontalAlignment\manualLayoutXfontNameXfontSizeVNormal[inputHeight^inputGlyphSize\inputKerning\inputLeadingZinputWidthK#?K#?QK+K+K#?333333O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}DxVGeneva]inputFontNameKKK+K+KK[QCTextImage[TextImage_2  }~ChhhO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} K+KKQRST%%%%Kh fKh [Billboard_2  O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Structure Splitter"positionNSValue* {_NSPoint=ff}ZSplitter_1 C YinputModeKO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}~_QCAnchorPosition_AnchorPosition_3  Zexpression_!(size + offset)*albumArt + offsetO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name#"(size + offset)*albumArt + offset"positionNSValue* {_NSPoint=ff}\QCExpression\Expression_1  9O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Boolean Splitter"positionNSValue* {_NSPoint=ff}(ZSplitter_5 Zidentifier_QCStructureMember_StructureMember_key_1 XinputKeyKWartworkO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}ȁ C KO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_AnchorPosition_1 o< ./6_publishedOutputPorts    h]cleanAperture O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}\QCScreenInfo\ScreenInfo_1  O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}䆆\QCRoundValue\RoundValue_1   ) O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Initial ValuepositionNSValue* {_NSPoint=ff}円  ^^^operationCount_numberOfOperations[operation_2[operation_1K^KO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Ɓ円VQCMathVMath_3&),\connection_7\connection_5\connection_4\connection_1 !"#$%_destinationPortZsourceNodeZsourcePort_destinationNodeYoperand_2_outputPixelsWide !"#'(Yoperand_1[outputWidth !"#*+ZinputValueVoutput !"#*- [outputValueO^ typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}D?`D zoomFactorNSNumberfpositionXnameQC Units to Whole Pixels descriptionFConverter from the Quartz Composer to the Core Image coordinate system01234TnodeTportUUnits 5Op typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameUnits712 89:\Whole_Pixels[outputFloor ;Ow typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Whole PixelsWPatch_4 >DEC ?C@AB^inputConditionKKO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}S!]QCImageResize]ImageResize_1 GNOHI JKL^MYimageData_colorCorrectionYallImages^fillBackgroundOPNG  IHDRQgAMAOX2tEXtSoftwareAdobe ImageReadyqe<JIDATxam@ @”Lp0ppVwd<?_Җ;Y655GWڦ]/JkdN^`g{lK3XG#}ls9D˃#衟&mGlE-;CF|?7 ( |@> |@A> |@> |@ |@> |@> |> |@> |@>> |@> |@o |@> |@> |> |@> |@>> |@> |@> |@> |@> |@> |@> |@> |@> |@> |@> |@> |@> |@~m P:3(.5(6Mc)4|jPs`LmU~6NMzO/npOO`" `^rË+Ncb ^AޮʷR<{`Y&QIENDB`O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Rounded-RectpositionNSValue* {_NSPoint=ff}}]QCImageLoader]ImageLoader_1 QU R)TSK 5O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameSizepositionNSValue* {_NSPoint=ff}<ZSplitter_2 W\ X)[YKZ#?O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameOffset XpositionNSValue* {_NSPoint=ff}ZSplitter_3 ^b _)a`KZO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameOffset YpositionNSValue* {_NSPoint=ff}ꆆZSplitter_4defghijklmnopqrstuvwxyz{}]connection_21]connection_15]connection_26\connection_8]connection_16\connection_3]connection_17\connection_9]connection_14]connection_11\connection_6]connection_23]connection_20]connection_24]connection_12\connection_2]connection_13]connection_22]connection_10]connection_27]connection_25]connection_19]connection_18 !"#|U+Tsize !"#~EZinputImage\outputMember !"# !"#VinputYWoutputY !"#OYinputMask[outputImage !"#3U+< !"#VinputXWoutputX !"#U+ !"#U+ !"#[inputString\outputString !"#<8E !"# !"#+^inputStructure !"#\+Voffset !"#\outputResult !"#b+ !"#f !"# !"#~E !"#<8E !"#\+ !"#~ !"#b+ !"#+XalbumArt !"#\outputHeight !"#+ !"#(Ox typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}ɆnoteListNSMutableArrayNSArraycolorNSColorcffff?stringUDraw the album art. We resize the image instead of the Billboard for better results.bounds#{_NSRect={_NSPoint=ff}{_NSSize=ff}}ɁYL NConvert the information in the Track Info structure into a string and draw it.? zoomFactorNSNumberfposition+'nameHUD12ZTrack_Info Ou typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name Track InfofKh   \advancedMode_showSamplerOptions\automaticDODZsourceCodeZbackgroundZforegroundKQRST%%%%KQRST+++%O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameAdaptive ThresholdpositionNSValue* {_NSPoint=ff}8_vec2 localMinMax(sampler image, vec2 pt) { float p1 = sample(image, vec2(pt.x-1.0, pt.y-1.0)); float p2 = sample(image, vec2(pt.x, pt.y-1.0)); float p3 = sample(image, vec2(pt.x+1.0, pt.y-1.0)); float p4 = sample(image, vec2(pt.x-1.0, pt.y)); float p5 = sample(image, vec2(pt.x, pt.y)); float p6 = sample(image, vec2(pt.x+1.0, pt.y)); float p7 = sample(image, vec2(pt.x-1.0, pt.y+1.0)); float p8 = sample(image, vec2(pt.x, pt.y+1.0)); float p9 = sample(image, vec2(pt.x+1.0, pt.y+1.0)); vec2 minmax; minmax[0] = min(p1, min(p2, min(p3, min(p4, min(p5, min(p6, min(p7, min(p8, p9)))))))); minmax[1] = max(p1, max(p2, max(p3, max(p4, max(p5, max(p6, max(p7, max(p8, p9)))))))); return minmax; } kernel vec4 threshhold(sampler image, float minrange, __color foreground, __color background) { vec4 foregroundPix =(foreground); vec4 backgroundPix =(background); vec2 pt = samplerCoord(image); vec4 pix = sample(image, pt); vec2 minmax = localMinMax(image, pt); float threshed = (minmax[1] - minmax[0] > minrange) ? (minmax[0] + minmax[1])/2.0 : (minmax[1] - minmax[0])/2.0; vec4 thresh = vec4(threshed, threshed, threshed, 1.0); vec4 newpix = compare(pix - thresh, foregroundPix, backgroundPix); return newpix; } ]QCImageKernel]ImageKernel_2  }~CFFFO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}K+K+K+KKQRST%%%%KFZautoHeightfKh   h O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}ρ  KO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}wj  'K^KcO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}VMath_1 ]QCImageFilter_VortexDistortion_1 ^YhasBypass_normalizeCoordinates]filterVersionO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}ҁ__CIVortexDistortion C _inputInterpolationK[inputRepeat[inputValue2[inputValue1]inputDuration\inputTensionK^K#@pK#pK#@$K+O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}!Vparent_QCInterpolation_Interpolation_1 o, ( [ImageCrop_1C       _inputRectangle_Y_inputRectangle_XK+K+    K+K+O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}fdžVCICrop  O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}́熆_QCImageDimensions_ImageDimensions_1n !"#_inputRectangle_W_outputPixelsHigh !"#%_inputRectangle_ZO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}D zoomFactorNSNumberfpositionRnameCrop to Original $12!~"XOriginal #Os typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameOriginal12%~&_inputImage_proxy_1 'Op typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameImage)12*+UImage 'WPatch_1 .4 /3'01KK2#@O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameDiv By 2positionNSValue* {_NSPoint=ff}Ɂ1VMath_2 6 7:'89KK2O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameDiv By 2positionNSValue* {_NSPoint=ff}́x < =O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}2eghirstvjklmn?ABCEFGIJKMOQRSTU !"#@-]inputCenter_Y !"#~ !"#~ !"#D-Xminrange !"#3+ !"#*%4 !"#H(ZinputScale !"#3+< !"#~,* !"#L4-]inputCenter_X !"#N-ZinputAngle !"#P%[inputRadius !"#%, !"#*,+ !"#* !"#!, !"#VUimageO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}D0Ds zoomFactorNSNumberfY\_be12 Z [O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_AudioSpectrum descriptionThe input port.12,,] ^O typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_AudioPeak descriptionThe input port.1233` aO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_TrackInfo descriptionThe input port.12;;c dO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_TrackSignal descriptionThe input port.12wwf gO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+name_protocolInput_TrackPosition descriptionThe input port.fi jO typedstream@NSMutableDictionary NSDictionaryNSObjectiNSString+nameEnable description Controls execution of the patch.f3w,; lqqqqqmnopTname[descriptionVEnable_ Controls execution of the patch.mnrsUInput_The input port.mnrsmnrsmnrsmnrs_662 491 512 430 0 0 1280 1002 S106;w,F++}_2com.apple.QuartzComposer.protocol.visualizer-music!+:Obt~%26G_iqv| -6?HMRq+FSdin 2>Thqr    ! + 4 A F W ] b f l q }    # , 1 9 > ? Q c h m n f n v ( 'JWt@ABCEVdr} ,3?N[hsx<=D]kpuzdefgx}Rexp{|1DQf}@MZgl(5 -6BNSXZ   ( 5 B S e p { !!"s"v"""""#####0#<#A########$$$$$$$$%()t))))))*e*p*}****+N+Y+f+w+|+,.,9,,,,,,,---#-1->-L-Z-h-v----------. ..$.5.F.M.U.f.p.|........./ //,/;/L/S/d/q////////0 00$010B0S222223k3p3u3v3333333333444%49999::::::::::::::::::; ;;;;;;;B>W>d>y>~>>>>>>>>>>>?? ??? ?????@@@@$@1@:@M@`@e@j@s@x@}AAA&A+AAAABBB(B9BLCFCKC\CeCjCCDD D~DDDDDDDDDDDEEEEEEEFyFFG GgGxGGGGGGGGHHH"H3HAHRH]HnHzHHHHHHIIIIJgJxJ}K)K:K?KKLLLLMuMzMN*NCNLNQN]NdNNNNNNNNNNNNO~O7