Revision: 12769 http://sourceforge.net/p/skim-app/code/12769 Author: hofman Date: 2022-02-08 23:18:58 +0000 (Tue, 08 Feb 2022) Log Message: ----------- combine kernels for transitions in one file
Modified Paths: -------------- trunk/SkimTransitions/BlindsTransition/SKTBlindsTransition.m trunk/SkimTransitions/BoxInTransition/SKTBoxInTransition.m trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransition.m trunk/SkimTransitions/CoverTransition/SKTCoverTransition.m trunk/SkimTransitions/HoleTransition/SKTHoleTransition.m trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransition.m trunk/SkimTransitions/RadarTransition/SKTRadarTransition.m trunk/SkimTransitions/RevealTransition/SKTRevealTransition.m trunk/SkimTransitions/SKTPlugInLoader.h trunk/SkimTransitions/SKTPlugInLoader.m trunk/SkimTransitions/SinkTransition/SKTSinkTransition.m trunk/SkimTransitions/SkimTransitions.xcodeproj/project.pbxproj trunk/SkimTransitions/SlideTransition/SKTSlideTransition.m trunk/SkimTransitions/SplitInTransition/SKTSplitInTransition.m trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransition.m trunk/SkimTransitions/StripsTransition/SKTStripsTransition.m Added Paths: ----------- trunk/SkimTransitions/SKTTransitions.cikernel Removed Paths: ------------- trunk/SkimTransitions/BlindsTransition/SKTBlindsTransitionKernel.cikernel trunk/SkimTransitions/BoxInTransition/SKTBoxInTransitionKernel.cikernel trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransitionKernel.cikernel trunk/SkimTransitions/CoverTransition/SKTCoverTransitionKernel.cikernel trunk/SkimTransitions/HoleTransition/SKTHoleTransitionKernel.cikernel trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransitionKernel.cikernel trunk/SkimTransitions/RadarTransition/SKTRadarTransitionKernel.cikernel trunk/SkimTransitions/RevealTransition/SKTRevealTransitionKernel.cikernel trunk/SkimTransitions/SinkTransition/SKTSinkTransitionKernel.cikernel trunk/SkimTransitions/SlideTransition/SKTSlideTransitionKernel.cikernel trunk/SkimTransitions/SplitInTransition/SKTSplitInTransitionKernel.cikernel trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransitionKernel.cikernel trunk/SkimTransitions/StripsTransition/SKTStripsTransitionKernel.cikernel Modified: trunk/SkimTransitions/BlindsTransition/SKTBlindsTransition.m =================================================================== --- trunk/SkimTransitions/BlindsTransition/SKTBlindsTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/BlindsTransition/SKTBlindsTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTBlindsTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTBlindsTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTBlindsTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTBlindsTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTBlindsTransitionKernel = [kernels firstObject]; - } + if (_SKTBlindsTransitionKernel == nil) + _SKTBlindsTransitionKernel = [SKTPlugInLoader kernelWithName:@"blindsTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/BlindsTransition/SKTBlindsTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/BlindsTransition/SKTBlindsTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/BlindsTransition/SKTBlindsTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,10 +0,0 @@ -kernel vec4 blindsTransition(sampler src, sampler trgt, float width, float t) -{ - vec2 t1; - float d1; - - t1 = destCoord(); - d1 = mod(-t1.y, width); - - return d1 < width * t ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); -} Modified: trunk/SkimTransitions/BoxInTransition/SKTBoxInTransition.m =================================================================== --- trunk/SkimTransitions/BoxInTransition/SKTBoxInTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/BoxInTransition/SKTBoxInTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTBoxInTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTBoxInTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTBoxInTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTBoxInTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTBoxInTransitionKernel = [kernels firstObject]; - } + if (_SKTBoxInTransitionKernel == nil) + _SKTBoxInTransitionKernel = [SKTPlugInLoader kernelWithName:@"boxInTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/BoxInTransition/SKTBoxInTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/BoxInTransition/SKTBoxInTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/BoxInTransition/SKTBoxInTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,14 +0,0 @@ -kernel vec4 boxInTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) -{ - vec2 t1, r1, r2; - float d1; - - t1 = destCoord(); - - r1 = t * center + (1.0 - t) * extent.xy; - r2 = t * center + (1.0 - t) * (extent.xy + extent.zw); - - d1 = step(r1.x, t1.x) * step(t1.x, r2.x) * step(r1.y, t1.y) * step(t1.y, r2.y); - - return d1 < 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); -} Modified: trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransition.m =================================================================== --- trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTBoxOutTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTBoxOutTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTBoxOutTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTBoxOutTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTBoxOutTransitionKernel = [kernels firstObject]; - } + if (_SKTBoxOutTransitionKernel == nil) + _SKTBoxOutTransitionKernel = [SKTPlugInLoader kernelWithName:@"boxOutTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/BoxOutTransition/SKTBoxOutTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,14 +0,0 @@ -kernel vec4 boxOutTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) -{ - vec2 t1, r1, r2; - float d1; - - t1 = destCoord(); - - r1 = (1.0 - t) * center + t * extent.xy; - r2 = (1.0 - t) * center + t * (extent.xy + extent.zw); - - d1 = step(r1.x, t1.x) * step(t1.x, r2.x) * step(r1.y, t1.y) * step(t1.y, r2.y); - - return d1 > 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); -} Modified: trunk/SkimTransitions/CoverTransition/SKTCoverTransition.m =================================================================== --- trunk/SkimTransitions/CoverTransition/SKTCoverTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/CoverTransition/SKTCoverTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTCoverTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" #define kCIInputRectangleKey @"inputRectangle" @@ -20,16 +21,8 @@ - (id)init { - if(_SKTCoverTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTCoverTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTCoverTransitionKernel = [kernels firstObject]; - } + if (_SKTCoverTransitionKernel == nil) + _SKTCoverTransitionKernel = [SKTPlugInLoader kernelWithName:@"coverTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/CoverTransition/SKTCoverTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/CoverTransition/SKTCoverTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/CoverTransition/SKTCoverTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,13 +0,0 @@ -kernel vec4 coverTransition(sampler src, sampler trgt, vec4 extent, vec2 offset, float t) -{ - vec2 t1; - vec4 p1, p2; - - t1 = destCoord() - offset; - p1 = sample(src, samplerTransform(src, destCoord())); - p2 = sample(trgt, samplerTransform(trgt, t1)); - p2 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p2))); - p1 = mix(vec4(vec3(0.0), p1.a), p1, 1.0 - 0.2 * t); - - return p2 + (1.0 - p2.a) * p1; -} Modified: trunk/SkimTransitions/HoleTransition/SKTHoleTransition.m =================================================================== --- trunk/SkimTransitions/HoleTransition/SKTHoleTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/HoleTransition/SKTHoleTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTHoleTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTHoleTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTHoleTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTHoleTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTHoleTransitionKernel = [kernels firstObject]; - } + if (_SKTHoleTransitionKernel == nil) + _SKTHoleTransitionKernel = [SKTPlugInLoader kernelWithName:@"holeDistortion"]; return [super init]; } Deleted: trunk/SkimTransitions/HoleTransition/SKTHoleTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/HoleTransition/SKTHoleTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/HoleTransition/SKTHoleTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,11 +0,0 @@ -kernel vec4 holeDistortion(sampler src, sampler trgt, vec2 center, float radius) { - vec2 t1; - float distsquare, rsquare; - - rsquare = radius * radius; - t1 = destCoord() - center; - distsquare = dot(t1, t1); - t1 = t1 * (1.0 - (rsquare / distsquare)) + center; - - return distsquare < rsquare ? sample(trgt, samplerTransform(trgt, destCoord())) : sample(src, samplerTransform(src, t1)); -} Modified: trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransition.m =================================================================== --- trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTMeltdownTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" #define kCIInputAmountKey @"inputAmount" @@ -20,16 +21,8 @@ - (id)init { - if(_SKTMeltdownTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTMeltdownTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTMeltdownTransitionKernel = [kernels firstObject]; - } + if (_SKTMeltdownTransitionKernel == nil) + _SKTMeltdownTransitionKernel = [SKTPlugInLoader kernelWithName:@"meltingTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/MeltdownTransition/SKTMeltdownTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,20 +0,0 @@ -kernel vec4 meltingTransition(sampler src, sampler trgt, sampler mask, float amount, float radius) -{ - vec2 t1, t2, t3; - vec4 p1, p2, m, extent; - - t1 = destCoord(); - t2 = t1 + vec2(0.0, radius); - m = sample(mask, samplerTransform(mask, t2)); - t3 = t2 + vec2(0.0, amount * (m.r + m.g + m.b) / 3.0); - - p1 = sample(src, samplerTransform(src, t3)); - extent = samplerExtent(src); - p1 = t3.x < extent.x ? vec4(0.0) : (t3.x > extent.x + extent.z ? vec4(0.0) : (t3.y < extent.y ? vec4(0.0) : (t3.y > extent.y + extent.w ? vec4(0.0) : p1))); - - p2 = sample(trgt, samplerTransform(trgt, t1)); - extent = samplerExtent(trgt); - p2 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p2))); - - return p1 + (1.0 - p1.a) * p2; -} Modified: trunk/SkimTransitions/RadarTransition/SKTRadarTransition.m =================================================================== --- trunk/SkimTransitions/RadarTransition/SKTRadarTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/RadarTransition/SKTRadarTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTRadarTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTRadarTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTRadarTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTRadarTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTRadarTransitionKernel = [kernels firstObject]; - } + if (_SKTRadarTransitionKernel == nil) + _SKTRadarTransitionKernel = [SKTPlugInLoader kernelWithName:@"radarTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/RadarTransition/SKTRadarTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/RadarTransition/SKTRadarTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/RadarTransition/SKTRadarTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,21 +0,0 @@ -kernel vec4 radarTransition(sampler src, sampler trgt, vec2 center, float angle, float width, float t) -{ - vec2 t1; - float a1, da1, da2, angle1, x, pi, pi2; - vec4 p1, p2; - - pi = 3.14159265358979324; - pi2 = 2.0 * pi; - - t1 = destCoord() - center; - a1 = 0.5 * pi - atan(t1.x, t1.y); - da1 = mod(angle - a1 + 0.5 * width, pi2); - da2 = mod(da1 + pi, pi2) - pi; - angle1 = 2.0 * (pi + width) * t; - - p1 = sample(src, samplerTransform(src, destCoord())); - p2 = sample(trgt, samplerTransform(trgt, destCoord())); - x = angle1 > pi2 ? 1.0 - smoothstep(-width, 0.0, -da2) * smoothstep(-width, 0.0, da2 - angle1 + pi2) : smoothstep(0.0, width, da1) * smoothstep(0.0, width, angle1 - da1); - - return mix(p1, p2, x); -} Modified: trunk/SkimTransitions/RevealTransition/SKTRevealTransition.m =================================================================== --- trunk/SkimTransitions/RevealTransition/SKTRevealTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/RevealTransition/SKTRevealTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTRevealTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" #define kCIInputRectangleKey @"inputRectangle" @@ -20,16 +21,8 @@ - (id)init { - if(_SKTRevealTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTRevealTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTRevealTransitionKernel = [kernels firstObject]; - } + if (_SKTRevealTransitionKernel == nil) + _SKTRevealTransitionKernel = [SKTPlugInLoader kernelWithName:@"revealTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/RevealTransition/SKTRevealTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/RevealTransition/SKTRevealTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/RevealTransition/SKTRevealTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,13 +0,0 @@ -kernel vec4 revealTransition(sampler src, sampler trgt, vec4 extent, vec2 offset, float t) -{ - vec2 t1; - vec4 p1, p2; - - t1 = destCoord() + offset; - p1 = sample(src, samplerTransform(src, t1)); - p2 = sample(trgt, samplerTransform(trgt, destCoord())); - p1 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p1))); - p2 = mix(vec4(vec3(0.0), p2.a), p2, 0.8 + 0.2 * t); - - return p1 + (1.0 - p1.a) * p2; -} Modified: trunk/SkimTransitions/SKTPlugInLoader.h =================================================================== --- trunk/SkimTransitions/SKTPlugInLoader.h 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SKTPlugInLoader.h 2022-02-08 23:18:58 UTC (rev 12769) @@ -12,4 +12,6 @@ - (BOOL)load:(void *)host; ++ (CIKernel *)kernelWithName:(NSString *)name; + @end Modified: trunk/SkimTransitions/SKTPlugInLoader.m =================================================================== --- trunk/SkimTransitions/SKTPlugInLoader.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SKTPlugInLoader.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -10,10 +10,22 @@ @implementation SKTPlugInLoader -- (BOOL)load:(void *)host -{ - // custom plug-in initialization code goes here +- (BOOL)load:(void *)host { return YES; } ++ (CIKernel *)kernelWithName:(NSString *)name { + static NSArray *kernels = nil; + if (kernels == nil) { + NSBundle *bundle = [NSBundle bundleForClass:self]; + NSString *code = [NSString stringWithContentsOfURL:[bundle URLForResource:@"SKTTransitions" withExtension:@"cikernel"] encoding:NSUTF8StringEncoding error:NULL]; + kernels = [CIKernel kernelsWithString:code]; + } + for (CIKernel *kernel in kernels) { + if ([[kernel name] isEqualToString:name]) + return kernel; + } + return nil; +} + @end Added: trunk/SkimTransitions/SKTTransitions.cikernel =================================================================== --- trunk/SkimTransitions/SKTTransitions.cikernel (rev 0) +++ trunk/SkimTransitions/SKTTransitions.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -0,0 +1,217 @@ +kernel vec4 blindsTransition(sampler src, sampler trgt, float width, float t) +{ + vec2 t1; + float d1; + + t1 = destCoord(); + d1 = mod(-t1.y, width); + + return d1 < width * t ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); +} + +kernel vec4 boxInTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) +{ + vec2 t1, r1, r2; + float d1; + + t1 = destCoord(); + + r1 = t * center + (1.0 - t) * extent.xy; + r2 = t * center + (1.0 - t) * (extent.xy + extent.zw); + + d1 = step(r1.x, t1.x) * step(t1.x, r2.x) * step(r1.y, t1.y) * step(t1.y, r2.y); + + return d1 < 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); +} + +kernel vec4 boxOutTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) +{ + vec2 t1, r1, r2; + float d1; + + t1 = destCoord(); + + r1 = (1.0 - t) * center + t * extent.xy; + r2 = (1.0 - t) * center + t * (extent.xy + extent.zw); + + d1 = step(r1.x, t1.x) * step(t1.x, r2.x) * step(r1.y, t1.y) * step(t1.y, r2.y); + + return d1 > 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); +} + +kernel vec4 coverTransition(sampler src, sampler trgt, vec4 extent, vec2 offset, float t) +{ + vec2 t1; + vec4 p1, p2; + + t1 = destCoord() - offset; + p1 = sample(src, samplerTransform(src, destCoord())); + p2 = sample(trgt, samplerTransform(trgt, t1)); + p2 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p2))); + p1 = mix(vec4(vec3(0.0), p1.a), p1, 1.0 - 0.2 * t); + + return p2 + (1.0 - p2.a) * p1; +} + +kernel vec4 holeDistortion(sampler src, sampler trgt, vec2 center, float radius) { + vec2 t1; + float distsquare, rsquare; + + rsquare = radius * radius; + t1 = destCoord() - center; + distsquare = dot(t1, t1); + t1 = t1 * (1.0 - (rsquare / distsquare)) + center; + + return distsquare < rsquare ? sample(trgt, samplerTransform(trgt, destCoord())) : sample(src, samplerTransform(src, t1)); +} + +kernel vec4 meltingTransition(sampler src, sampler trgt, sampler mask, float amount, float radius) +{ + vec2 t1, t2, t3; + vec4 p1, p2, m, extent; + + t1 = destCoord(); + t2 = t1 + vec2(0.0, radius); + m = sample(mask, samplerTransform(mask, t2)); + t3 = t2 + vec2(0.0, amount * (m.r + m.g + m.b) / 3.0); + + p1 = sample(src, samplerTransform(src, t3)); + extent = samplerExtent(src); + p1 = t3.x < extent.x ? vec4(0.0) : (t3.x > extent.x + extent.z ? vec4(0.0) : (t3.y < extent.y ? vec4(0.0) : (t3.y > extent.y + extent.w ? vec4(0.0) : p1))); + + p2 = sample(trgt, samplerTransform(trgt, t1)); + extent = samplerExtent(trgt); + p2 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p2))); + + return p1 + (1.0 - p1.a) * p2; +} + +kernel vec4 radarTransition(sampler src, sampler trgt, vec2 center, float angle, float width, float t) +{ + vec2 t1; + float a1, da1, da2, angle1, x, pi, pi2; + vec4 p1, p2; + + pi = 3.14159265358979324; + pi2 = 2.0 * pi; + + t1 = destCoord() - center; + a1 = 0.5 * pi - atan(t1.x, t1.y); + da1 = mod(angle - a1 + 0.5 * width, pi2); + da2 = mod(da1 + pi, pi2) - pi; + angle1 = 2.0 * (pi + width) * t; + + p1 = sample(src, samplerTransform(src, destCoord())); + p2 = sample(trgt, samplerTransform(trgt, destCoord())); + x = angle1 > pi2 ? 1.0 - smoothstep(-width, 0.0, -da2) * smoothstep(-width, 0.0, da2 - angle1 + pi2) : smoothstep(0.0, width, da1) * smoothstep(0.0, width, angle1 - da1); + + return mix(p1, p2, x); +} + +kernel vec4 revealTransition(sampler src, sampler trgt, vec4 extent, vec2 offset, float t) +{ + vec2 t1; + vec4 p1, p2; + + t1 = destCoord() + offset; + p1 = sample(src, samplerTransform(src, t1)); + p2 = sample(trgt, samplerTransform(trgt, destCoord())); + p1 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p1))); + p2 = mix(vec4(vec3(0.0), p2.a), p2, 0.8 + 0.2 * t); + + return p1 + (1.0 - p1.a) * p2; +} + +kernel vec4 sinkTransition(sampler src, sampler trgt, vec2 center, float t) +{ + float pi2 = 6.28318530717958648; + vec2 loc; + float a, a1, a2, a3, a4, x, factor, r; + vec4 extent, p1, p2; + + loc = destCoord() - center; + r = sqrt(loc.x * loc.x + loc.y * loc.y); + a = atan(loc.y, loc.x) - pi2 * t * t / (1.0 + 0.01 * r); + a = a > -0.5 * pi2 ? a : a + pi2; + + extent = samplerExtent(src); + extent.xy -= center; + a1 = atan(extent.y + extent.w, extent.x); + a2 = atan(extent.y + extent.w, extent.x + extent.z); + a3 = atan(extent.y, extent.x + extent.z); + a4 = atan(extent.y, extent.x); + + x = a > a1 ? ((a - a1) / (a4 + pi2 - a1)) : (a > a2 ? ((a - a2) / (a1 - a2)) : (a > a3 ? ((a - a3) / (a2 - a3)) : (a > a4 ? ((a - a4) / (a3 - a4)) : ((a - a1 + pi2) / (a4 - a1 + pi2))))); + + factor = 1.0 - (1.0 + (x * x * (1.0 - x) * (1.0 - x))) * t; + factor = factor < 0.00000001 ? 0.00000001 : factor; + r /= factor; + loc = vec2(r * cos(a), r * sin(a)); + + p1 = sample(src, samplerTransform(src, loc + center)); + p1 = loc.x < extent.x ? vec4(0.0) : (loc.x > extent.x + extent.z ? vec4(0.0) : (loc.y < extent.y ? vec4(0.0) : (loc.y > extent.y + extent.w ? vec4(0.0) : p1))); + + p2 = sample(trgt, samplerTransform(trgt, destCoord())); + + return p1 + (1.0 - p1.a) * p2; +} + +kernel vec4 slideTransition(sampler src, sampler trgt, vec4 extent, vec2 offset1, vec2 offset2) +{ + vec2 t1, t2; + vec4 p1, p2; + + t1 = destCoord() + offset1; + t2 = destCoord() + offset2; + p1 = sample(src, samplerTransform(src, t1)); + p2 = sample(trgt, samplerTransform(trgt, t2)); + p1 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p1))); + p2 = t2.x < extent.x ? vec4(0.0) : (t2.x > extent.x + extent.z ? vec4(0.0) : (t2.y < extent.y ? vec4(0.0) : (t2.y > extent.y + extent.w ? vec4(0.0) : p2))); + + return p1 + (1.0 - p1.a) * p2; +} + +kernel vec4 splitInTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) +{ + float x, l, r, d1; + + x = destCoord().x; + + l = t * center.x + (1.0 - t) * extent.x; + r = t * center.x + (1.0 - t) * (extent.x + extent.z); + + d1 = step(l, x) * step(x, r); + + return d1 < 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); +} + +kernel vec4 splitOutTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) +{ + float x, l, r, d1; + + x = destCoord().x; + + l = (1.0 - t) * center.x + t * extent.x; + r = (1.0 - t) * center.x + t * (extent.x + extent.z); + + d1 = step(l, x) * step(x, r); + + return d1 > 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); +} + +kernel vec4 splitTransition(sampler src, sampler trgt, vec4 extent, float width, float t) +{ + vec2 t1; + float d1; + vec4 p1, p2; + + t1 = destCoord(); + d1 = mod(t1.y - extent.y - extent.w, 2.0 * width); + t1.x += d1 < width ? -extent.z * t : extent.z * t; + p1 = sample(src, samplerTransform(src, t1)); + p2 = sample(trgt, samplerTransform(trgt, destCoord())); + p1 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : p1); + + return p1 + (1.0 - p1.a) * p2; +} + Modified: trunk/SkimTransitions/SinkTransition/SKTSinkTransition.m =================================================================== --- trunk/SkimTransitions/SinkTransition/SKTSinkTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SinkTransition/SKTSinkTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTSinkTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTSinkTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTSinkTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTSinkTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTSinkTransitionKernel = [kernels firstObject]; - } + if (_SKTSinkTransitionKernel == nil) + _SKTSinkTransitionKernel = [SKTPlugInLoader kernelWithName:@"sinkTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/SinkTransition/SKTSinkTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/SinkTransition/SKTSinkTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SinkTransition/SKTSinkTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,33 +0,0 @@ -kernel vec4 sinkTransition(sampler src, sampler trgt, vec2 center, float t) -{ - float pi2 = 6.28318530717958648; - vec2 loc; - float a, a1, a2, a3, a4, x, factor, r; - vec4 extent, p1, p2; - - loc = destCoord() - center; - r = sqrt(loc.x * loc.x + loc.y * loc.y); - a = atan(loc.y, loc.x) - pi2 * t * t / (1.0 + 0.01 * r); - a = a > -0.5 * pi2 ? a : a + pi2; - - extent = samplerExtent(src); - extent.xy -= center; - a1 = atan(extent.y + extent.w, extent.x); - a2 = atan(extent.y + extent.w, extent.x + extent.z); - a3 = atan(extent.y, extent.x + extent.z); - a4 = atan(extent.y, extent.x); - - x = a > a1 ? ((a - a1) / (a4 + pi2 - a1)) : (a > a2 ? ((a - a2) / (a1 - a2)) : (a > a3 ? ((a - a3) / (a2 - a3)) : (a > a4 ? ((a - a4) / (a3 - a4)) : ((a - a1 + pi2) / (a4 - a1 + pi2))))); - - factor = 1.0 - (1.0 + (x * x * (1.0 - x) * (1.0 - x))) * t; - factor = factor < 0.00000001 ? 0.00000001 : factor; - r /= factor; - loc = vec2(r * cos(a), r * sin(a)); - - p1 = sample(src, samplerTransform(src, loc + center)); - p1 = loc.x < extent.x ? vec4(0.0) : (loc.x > extent.x + extent.z ? vec4(0.0) : (loc.y < extent.y ? vec4(0.0) : (loc.y > extent.y + extent.w ? vec4(0.0) : p1))); - - p2 = sample(trgt, samplerTransform(trgt, destCoord())); - - return p1 + (1.0 - p1.a) * p2; -} Modified: trunk/SkimTransitions/SkimTransitions.xcodeproj/project.pbxproj =================================================================== --- trunk/SkimTransitions/SkimTransitions.xcodeproj/project.pbxproj 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SkimTransitions.xcodeproj/project.pbxproj 2022-02-08 23:18:58 UTC (rev 12769) @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + CE399C2327B32B6200B454EB /* SKTTransitions.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CE399C2227B32B6200B454EB /* SKTTransitions.cikernel */; }; CEB35B4022A32FA70033E232 /* SKTRadialSwipeTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEB35B3E22A32FA70033E232 /* SKTRadialSwipeTransition.m */; }; CEB35B4122A32FA70033E232 /* SKTRadialSwipeTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEB35B3F22A32FA70033E232 /* SKTRadialSwipeTransition.h */; }; CEBE8F0B22A19E850082E34C /* SKTPixelateTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEBE8F0922A19E850082E34C /* SKTPixelateTransition.h */; }; @@ -25,46 +26,33 @@ CEDA032A22958D1800881DE1 /* SKTCoverTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA031C22958D1800881DE1 /* SKTCoverTransition.m */; }; CEDA033922958F2100881DE1 /* SKTRevealTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA032E22958F2100881DE1 /* SKTRevealTransition.h */; }; CEDA033A22958F2100881DE1 /* SKTRevealTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA032F22958F2100881DE1 /* SKTRevealTransition.m */; }; - CEDA03552295907000881DE1 /* SKTSplitInTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA03412295907000881DE1 /* SKTSplitInTransitionKernel.cikernel */; }; CEDA03562295907000881DE1 /* SKTSplitInTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA03422295907000881DE1 /* SKTSplitInTransition.m */; }; CEDA035B2295907000881DE1 /* SKTSplitInTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA034D2295907000881DE1 /* SKTSplitInTransition.h */; }; CEDA03782295914D00881DE1 /* SKTSplitOutTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA03672295914D00881DE1 /* SKTSplitOutTransition.h */; }; - CEDA03792295914D00881DE1 /* SKTSplitOutTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA03682295914D00881DE1 /* SKTSplitOutTransitionKernel.cikernel */; }; CEDA037C2295914D00881DE1 /* SKTSplitOutTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA036E2295914D00881DE1 /* SKTSplitOutTransition.m */; }; CEDA03982295927100881DE1 /* SKTBoxInTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA03872295927100881DE1 /* SKTBoxInTransition.h */; }; CEDA039A2295927100881DE1 /* SKTBoxInTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA03892295927100881DE1 /* SKTBoxInTransition.m */; }; - CEDA039B2295927100881DE1 /* SKTBoxInTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA038A2295927100881DE1 /* SKTBoxInTransitionKernel.cikernel */; }; CEDA03B92295933400881DE1 /* SKTBoxOutTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA03AB2295933300881DE1 /* SKTBoxOutTransition.m */; }; - CEDA03BA2295933400881DE1 /* SKTBoxOutTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA03AC2295933300881DE1 /* SKTBoxOutTransitionKernel.cikernel */; }; CEDA03BD2295933400881DE1 /* SKTBoxOutTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA03AF2295933300881DE1 /* SKTBoxOutTransition.h */; }; - CEDA03D8229593F200881DE1 /* SKTBlindsTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA03CA229593F200881DE1 /* SKTBlindsTransitionKernel.cikernel */; }; CEDA03DA229593F200881DE1 /* SKTBlindsTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA03CC229593F200881DE1 /* SKTBlindsTransition.h */; }; CEDA03DD229593F200881DE1 /* SKTBlindsTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA03CF229593F200881DE1 /* SKTBlindsTransition.m */; }; CEDA03F5229594A900881DE1 /* SKTRadarTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA03E1229594A900881DE1 /* SKTRadarTransition.m */; }; - CEDA03FA229594A900881DE1 /* SKTRadarTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA03EC229594A900881DE1 /* SKTRadarTransitionKernel.cikernel */; }; CEDA03FB229594A900881DE1 /* SKTRadarTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA03ED229594A900881DE1 /* SKTRadarTransition.h */; }; CEDA0418229595C200881DE1 /* SKTStripsTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA0407229595C100881DE1 /* SKTStripsTransition.h */; }; CEDA041A229595C200881DE1 /* SKTStripsTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA040C229595C100881DE1 /* SKTStripsTransition.m */; }; - CEDA041B229595C200881DE1 /* SKTStripsTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA040D229595C100881DE1 /* SKTStripsTransitionKernel.cikernel */; }; CEDA04392295969200881DE1 /* SKTMeltdownTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA04282295969100881DE1 /* SKTMeltdownTransition.h */; }; - CEDA043A2295969200881DE1 /* SKTMeltdownTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA042C2295969100881DE1 /* SKTMeltdownTransitionKernel.cikernel */; }; CEDA043C2295969200881DE1 /* SKTMeltdownTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA042E2295969100881DE1 /* SKTMeltdownTransition.m */; }; CEDA04592295979C00881DE1 /* SKTAccelerationTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA044C2295979C00881DE1 /* SKTAccelerationTransition.h */; }; CEDA045F229597D700881DE1 /* SKTAccelerationTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA045E229597D700881DE1 /* SKTAccelerationTransition.m */; }; CEDA04782295988900881DE1 /* SKTBlurTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA04682295988900881DE1 /* SKTBlurTransition.h */; }; CEDA047A2295988900881DE1 /* SKTBlurTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA046A2295988900881DE1 /* SKTBlurTransition.m */; }; - CEDA04932295992700881DE1 /* SKTHoleTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA047F2295992600881DE1 /* SKTHoleTransitionKernel.cikernel */; }; CEDA04982295992700881DE1 /* SKTHoleTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA04872295992600881DE1 /* SKTHoleTransition.m */; }; CEDA049D2295992700881DE1 /* SKTHoleTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA048F2295992600881DE1 /* SKTHoleTransition.h */; }; CEDA04B522959A1000881DE1 /* SKTPinchTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA04A822959A1000881DE1 /* SKTPinchTransition.m */; }; CEDA04B722959A1000881DE1 /* SKTPinchTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA04AA22959A1000881DE1 /* SKTPinchTransition.h */; }; CEDA04D122959AB600881DE1 /* SKTSinkTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA04BD22959AB600881DE1 /* SKTSinkTransition.m */; }; - CEDA04D522959AB600881DE1 /* SKTSinkTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEDA04C422959AB600881DE1 /* SKTSinkTransitionKernel.cikernel */; }; CEDA04D722959AB600881DE1 /* SKTSinkTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA04C922959AB600881DE1 /* SKTSinkTransition.h */; }; CEDA05612295BCB700881DE1 /* SKTSwapTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDA05602295BCB700881DE1 /* SKTSwapTransition.m */; }; - CEE293C4229AD55F007496ED /* SKTCoverTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEE293C3229AD2B3007496ED /* SKTCoverTransitionKernel.cikernel */; }; - CEE293C6229AD83E007496ED /* SKTRevealTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEE293C5229AD81D007496ED /* SKTRevealTransitionKernel.cikernel */; }; - CEE293C8229ADC6F007496ED /* SKTSlideTransitionKernel.cikernel in Resources */ = {isa = PBXBuildFile; fileRef = CEE293C7229ADC6F007496ED /* SKTSlideTransitionKernel.cikernel */; }; CEE293CC229AF48C007496ED /* SKTPageTurnTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE293CA229AF48C007496ED /* SKTPageTurnTransition.h */; }; CEE293CD229AF48C007496ED /* SKTPageTurnTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEE293CB229AF48C007496ED /* SKTPageTurnTransition.m */; }; CEF89FCD22993B1D007E4AB2 /* SKTWarpFadeTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF89FCB22993B1D007E4AB2 /* SKTWarpFadeTransition.m */; }; @@ -76,6 +64,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + CE399C2227B32B6200B454EB /* SKTTransitions.cikernel */ = {isa = PBXFileReference; lastKnownFileType = text; path = SKTTransitions.cikernel; sourceTree = "<group>"; }; CEB35B3E22A32FA70033E232 /* SKTRadialSwipeTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTRadialSwipeTransition.m; sourceTree = "<group>"; }; CEB35B3F22A32FA70033E232 /* SKTRadialSwipeTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTRadialSwipeTransition.h; sourceTree = "<group>"; }; CEBE8F0922A19E850082E34C /* SKTPixelateTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTPixelateTransition.h; sourceTree = "<group>"; }; @@ -96,41 +85,31 @@ CEDA031C22958D1800881DE1 /* SKTCoverTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTCoverTransition.m; sourceTree = "<group>"; }; CEDA032E22958F2100881DE1 /* SKTRevealTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTRevealTransition.h; sourceTree = "<group>"; }; CEDA032F22958F2100881DE1 /* SKTRevealTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTRevealTransition.m; sourceTree = "<group>"; }; - CEDA03412295907000881DE1 /* SKTSplitInTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTSplitInTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA03422295907000881DE1 /* SKTSplitInTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTSplitInTransition.m; sourceTree = "<group>"; }; CEDA034D2295907000881DE1 /* SKTSplitInTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTSplitInTransition.h; sourceTree = "<group>"; }; CEDA03672295914D00881DE1 /* SKTSplitOutTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTSplitOutTransition.h; sourceTree = "<group>"; }; - CEDA03682295914D00881DE1 /* SKTSplitOutTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTSplitOutTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA036E2295914D00881DE1 /* SKTSplitOutTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTSplitOutTransition.m; sourceTree = "<group>"; }; CEDA03872295927100881DE1 /* SKTBoxInTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTBoxInTransition.h; sourceTree = "<group>"; }; CEDA03892295927100881DE1 /* SKTBoxInTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTBoxInTransition.m; sourceTree = "<group>"; }; - CEDA038A2295927100881DE1 /* SKTBoxInTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTBoxInTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA03AB2295933300881DE1 /* SKTBoxOutTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTBoxOutTransition.m; sourceTree = "<group>"; }; - CEDA03AC2295933300881DE1 /* SKTBoxOutTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTBoxOutTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA03AF2295933300881DE1 /* SKTBoxOutTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTBoxOutTransition.h; sourceTree = "<group>"; }; - CEDA03CA229593F200881DE1 /* SKTBlindsTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTBlindsTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA03CC229593F200881DE1 /* SKTBlindsTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTBlindsTransition.h; sourceTree = "<group>"; }; CEDA03CF229593F200881DE1 /* SKTBlindsTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTBlindsTransition.m; sourceTree = "<group>"; }; CEDA03E1229594A900881DE1 /* SKTRadarTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTRadarTransition.m; sourceTree = "<group>"; }; - CEDA03EC229594A900881DE1 /* SKTRadarTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTRadarTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA03ED229594A900881DE1 /* SKTRadarTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTRadarTransition.h; sourceTree = "<group>"; }; CEDA0407229595C100881DE1 /* SKTStripsTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTStripsTransition.h; sourceTree = "<group>"; }; CEDA040C229595C100881DE1 /* SKTStripsTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTStripsTransition.m; sourceTree = "<group>"; }; - CEDA040D229595C100881DE1 /* SKTStripsTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTStripsTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA04282295969100881DE1 /* SKTMeltdownTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTMeltdownTransition.h; sourceTree = "<group>"; }; - CEDA042C2295969100881DE1 /* SKTMeltdownTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTMeltdownTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA042E2295969100881DE1 /* SKTMeltdownTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTMeltdownTransition.m; sourceTree = "<group>"; }; CEDA044C2295979C00881DE1 /* SKTAccelerationTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTAccelerationTransition.h; sourceTree = "<group>"; }; CEDA045E229597D700881DE1 /* SKTAccelerationTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTAccelerationTransition.m; sourceTree = "<group>"; }; CEDA04682295988900881DE1 /* SKTBlurTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTBlurTransition.h; sourceTree = "<group>"; }; CEDA046A2295988900881DE1 /* SKTBlurTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTBlurTransition.m; sourceTree = "<group>"; }; - CEDA047F2295992600881DE1 /* SKTHoleTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTHoleTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA04872295992600881DE1 /* SKTHoleTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTHoleTransition.m; sourceTree = "<group>"; }; CEDA048F2295992600881DE1 /* SKTHoleTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTHoleTransition.h; sourceTree = "<group>"; }; CEDA04A822959A1000881DE1 /* SKTPinchTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTPinchTransition.m; sourceTree = "<group>"; }; CEDA04AA22959A1000881DE1 /* SKTPinchTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTPinchTransition.h; sourceTree = "<group>"; }; CEDA04BD22959AB600881DE1 /* SKTSinkTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTSinkTransition.m; sourceTree = "<group>"; }; - CEDA04C422959AB600881DE1 /* SKTSinkTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTSinkTransitionKernel.cikernel; sourceTree = "<group>"; }; CEDA04C922959AB600881DE1 /* SKTSinkTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTSinkTransition.h; sourceTree = "<group>"; }; CEDA052322959ECF00881DE1 /* de */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Description.strings; sourceTree = "<group>"; }; CEDA052522959ED800881DE1 /* fr */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Description.strings; sourceTree = "<group>"; }; @@ -144,9 +123,6 @@ CEDA053722959F6900881DE1 /* ja */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Description.strings; sourceTree = "<group>"; }; CEDA055F2295BCB700881DE1 /* SKTSwapTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SKTSwapTransition.h; sourceTree = "<group>"; }; CEDA05602295BCB700881DE1 /* SKTSwapTransition.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SKTSwapTransition.m; sourceTree = "<group>"; }; - CEE293C3229AD2B3007496ED /* SKTCoverTransitionKernel.cikernel */ = {isa = PBXFileReference; lastKnownFileType = text; path = SKTCoverTransitionKernel.cikernel; sourceTree = "<group>"; }; - CEE293C5229AD81D007496ED /* SKTRevealTransitionKernel.cikernel */ = {isa = PBXFileReference; lastKnownFileType = text; path = SKTRevealTransitionKernel.cikernel; sourceTree = "<group>"; }; - CEE293C7229ADC6F007496ED /* SKTSlideTransitionKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SKTSlideTransitionKernel.cikernel; sourceTree = "<group>"; }; CEE293CA229AF48C007496ED /* SKTPageTurnTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKTPageTurnTransition.h; sourceTree = "<group>"; }; CEE293CB229AF48C007496ED /* SKTPageTurnTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTPageTurnTransition.m; sourceTree = "<group>"; }; CEF89FCB22993B1D007E4AB2 /* SKTWarpFadeTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SKTWarpFadeTransition.m; sourceTree = "<group>"; }; @@ -191,6 +167,7 @@ children = ( CEDA02812295829B00881DE1 /* SKTPlugInLoader.h */, CEDA02832295829B00881DE1 /* SKTPlugInLoader.m */, + CE399C2227B32B6200B454EB /* SKTTransitions.cikernel */, CEDA02922295829B00881DE1 /* Info.plist */, CEDA02A42295884500881DE1 /* Description.plist */, CEDA029E2295884500881DE1 /* Description.strings */, @@ -245,7 +222,6 @@ children = ( CEDA02B9229589C900881DE1 /* SKTSlideTransition.h */, CEDA02BC229589C900881DE1 /* SKTSlideTransition.m */, - CEE293C7229ADC6F007496ED /* SKTSlideTransitionKernel.cikernel */, ); path = SlideTransition; sourceTree = "<group>"; @@ -273,7 +249,6 @@ children = ( CEDA031522958D1800881DE1 /* SKTCoverTransition.h */, CEDA031C22958D1800881DE1 /* SKTCoverTransition.m */, - CEE293C3229AD2B3007496ED /* SKTCoverTransitionKernel.cikernel */, ); path = CoverTransition; sourceTree = "<group>"; @@ -283,7 +258,6 @@ children = ( CEDA032E22958F2100881DE1 /* SKTRevealTransition.h */, CEDA032F22958F2100881DE1 /* SKTRevealTransition.m */, - CEE293C5229AD81D007496ED /* SKTRevealTransitionKernel.cikernel */, ); path = RevealTransition; sourceTree = "<group>"; @@ -293,7 +267,6 @@ children = ( CEDA034D2295907000881DE1 /* SKTSplitInTransition.h */, CEDA03422295907000881DE1 /* SKTSplitInTransition.m */, - CEDA03412295907000881DE1 /* SKTSplitInTransitionKernel.cikernel */, ); path = SplitInTransition; sourceTree = "<group>"; @@ -303,7 +276,6 @@ children = ( CEDA03672295914D00881DE1 /* SKTSplitOutTransition.h */, CEDA036E2295914D00881DE1 /* SKTSplitOutTransition.m */, - CEDA03682295914D00881DE1 /* SKTSplitOutTransitionKernel.cikernel */, ); path = SplitOutTransition; sourceTree = "<group>"; @@ -313,7 +285,6 @@ children = ( CEDA03872295927100881DE1 /* SKTBoxInTransition.h */, CEDA03892295927100881DE1 /* SKTBoxInTransition.m */, - CEDA038A2295927100881DE1 /* SKTBoxInTransitionKernel.cikernel */, ); path = BoxInTransition; sourceTree = "<group>"; @@ -323,7 +294,6 @@ children = ( CEDA03AF2295933300881DE1 /* SKTBoxOutTransition.h */, CEDA03AB2295933300881DE1 /* SKTBoxOutTransition.m */, - CEDA03AC2295933300881DE1 /* SKTBoxOutTransitionKernel.cikernel */, ); path = BoxOutTransition; sourceTree = "<group>"; @@ -333,7 +303,6 @@ children = ( CEDA03CC229593F200881DE1 /* SKTBlindsTransition.h */, CEDA03CF229593F200881DE1 /* SKTBlindsTransition.m */, - CEDA03CA229593F200881DE1 /* SKTBlindsTransitionKernel.cikernel */, ); path = BlindsTransition; sourceTree = "<group>"; @@ -343,7 +312,6 @@ children = ( CEDA03ED229594A900881DE1 /* SKTRadarTransition.h */, CEDA03E1229594A900881DE1 /* SKTRadarTransition.m */, - CEDA03EC229594A900881DE1 /* SKTRadarTransitionKernel.cikernel */, ); path = RadarTransition; sourceTree = "<group>"; @@ -353,7 +321,6 @@ children = ( CEDA0407229595C100881DE1 /* SKTStripsTransition.h */, CEDA040C229595C100881DE1 /* SKTStripsTransition.m */, - CEDA040D229595C100881DE1 /* SKTStripsTransitionKernel.cikernel */, ); path = StripsTransition; sourceTree = "<group>"; @@ -363,7 +330,6 @@ children = ( CEDA04282295969100881DE1 /* SKTMeltdownTransition.h */, CEDA042E2295969100881DE1 /* SKTMeltdownTransition.m */, - CEDA042C2295969100881DE1 /* SKTMeltdownTransitionKernel.cikernel */, ); path = MeltdownTransition; sourceTree = "<group>"; @@ -391,7 +357,6 @@ children = ( CEDA048F2295992600881DE1 /* SKTHoleTransition.h */, CEDA04872295992600881DE1 /* SKTHoleTransition.m */, - CEDA047F2295992600881DE1 /* SKTHoleTransitionKernel.cikernel */, ); path = HoleTransition; sourceTree = "<group>"; @@ -410,7 +375,6 @@ children = ( CEDA04C922959AB600881DE1 /* SKTSinkTransition.h */, CEDA04BD22959AB600881DE1 /* SKTSinkTransition.m */, - CEDA04C422959AB600881DE1 /* SKTSinkTransitionKernel.cikernel */, ); path = SinkTransition; sourceTree = "<group>"; @@ -555,21 +519,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - CEE293C6229AD83E007496ED /* SKTRevealTransitionKernel.cikernel in Resources */, - CEE293C4229AD55F007496ED /* SKTCoverTransitionKernel.cikernel in Resources */, - CEDA03552295907000881DE1 /* SKTSplitInTransitionKernel.cikernel in Resources */, - CEDA03792295914D00881DE1 /* SKTSplitOutTransitionKernel.cikernel in Resources */, - CEDA04D522959AB600881DE1 /* SKTSinkTransitionKernel.cikernel in Resources */, - CEDA039B2295927100881DE1 /* SKTBoxInTransitionKernel.cikernel in Resources */, - CEDA03BA2295933400881DE1 /* SKTBoxOutTransitionKernel.cikernel in Resources */, + CE399C2327B32B6200B454EB /* SKTTransitions.cikernel in Resources */, CEDA02A82295884500881DE1 /* Description.strings in Resources */, - CEDA03FA229594A900881DE1 /* SKTRadarTransitionKernel.cikernel in Resources */, - CEDA03D8229593F200881DE1 /* SKTBlindsTransitionKernel.cikernel in Resources */, - CEDA041B229595C200881DE1 /* SKTStripsTransitionKernel.cikernel in Resources */, CEDA02AD2295884500881DE1 /* Description.plist in Resources */, - CEDA043A2295969200881DE1 /* SKTMeltdownTransitionKernel.cikernel in Resources */, - CEE293C8229ADC6F007496ED /* SKTSlideTransitionKernel.cikernel in Resources */, - CEDA04932295992700881DE1 /* SKTHoleTransitionKernel.cikernel in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; Modified: trunk/SkimTransitions/SlideTransition/SKTSlideTransition.m =================================================================== --- trunk/SkimTransitions/SlideTransition/SKTSlideTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SlideTransition/SKTSlideTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTSlideTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" #define kCIInputRectangleKey @"inputRectangle" @@ -20,16 +21,8 @@ - (id)init { - if(_SKTSlideTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTSlideTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTSlideTransitionKernel = [kernels firstObject]; - } + if (_SKTSlideTransitionKernel == nil) + _SKTSlideTransitionKernel = [SKTPlugInLoader kernelWithName:@"slideTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/SlideTransition/SKTSlideTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/SlideTransition/SKTSlideTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SlideTransition/SKTSlideTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,14 +0,0 @@ -kernel vec4 slideTransition(sampler src, sampler trgt, vec4 extent, vec2 offset1, vec2 offset2) -{ - vec2 t1, t2; - vec4 p1, p2; - - t1 = destCoord() + offset1; - t2 = destCoord() + offset2; - p1 = sample(src, samplerTransform(src, t1)); - p2 = sample(trgt, samplerTransform(trgt, t2)); - p1 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : (t1.y < extent.y ? vec4(0.0) : (t1.y > extent.y + extent.w ? vec4(0.0) : p1))); - p2 = t2.x < extent.x ? vec4(0.0) : (t2.x > extent.x + extent.z ? vec4(0.0) : (t2.y < extent.y ? vec4(0.0) : (t2.y > extent.y + extent.w ? vec4(0.0) : p2))); - - return p1 + (1.0 - p1.a) * p2; -} Modified: trunk/SkimTransitions/SplitInTransition/SKTSplitInTransition.m =================================================================== --- trunk/SkimTransitions/SplitInTransition/SKTSplitInTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SplitInTransition/SKTSplitInTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTSplitInTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTSplitInTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTSplitInTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTSplitInTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTSplitInTransitionKernel = [kernels firstObject]; - } + if (_SKTSplitInTransitionKernel == nil) + _SKTSplitInTransitionKernel = [SKTPlugInLoader kernelWithName:@"splitInTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/SplitInTransition/SKTSplitInTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/SplitInTransition/SKTSplitInTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SplitInTransition/SKTSplitInTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,13 +0,0 @@ -kernel vec4 splitInTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) -{ - float x, l, r, d1; - - x = destCoord().x; - - l = t * center.x + (1.0 - t) * extent.x; - r = t * center.x + (1.0 - t) * (extent.x + extent.z); - - d1 = step(l, x) * step(x, r); - - return d1 < 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); -} Modified: trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransition.m =================================================================== --- trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTSplitOutTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTSplitOutTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTSplitOutTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTSplitOutTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTSplitOutTransitionKernel = [kernels firstObject]; - } + if (_SKTSplitOutTransitionKernel == nil) + _SKTSplitOutTransitionKernel = [SKTPlugInLoader kernelWithName:@"splitOutTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/SplitOutTransition/SKTSplitOutTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,13 +0,0 @@ -kernel vec4 splitOutTransition(sampler src, sampler trgt, vec4 extent, vec2 center, float t) -{ - float x, l, r, d1; - - x = destCoord().x; - - l = (1.0 - t) * center.x + t * extent.x; - r = (1.0 - t) * center.x + t * (extent.x + extent.z); - - d1 = step(l, x) * step(x, r); - - return d1 > 0.5 ? sample(trgt, samplerCoord(trgt)) : sample(src, samplerCoord(src)); -} Modified: trunk/SkimTransitions/StripsTransition/SKTStripsTransition.m =================================================================== --- trunk/SkimTransitions/StripsTransition/SKTStripsTransition.m 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/StripsTransition/SKTStripsTransition.m 2022-02-08 23:18:58 UTC (rev 12769) @@ -9,6 +9,7 @@ #import "SKTStripsTransition.h" #import <Foundation/Foundation.h> #import <ApplicationServices/ApplicationServices.h> +#import "SKTPluginLoader.h" @implementation SKTStripsTransition @@ -18,16 +19,8 @@ - (id)init { - if(_SKTStripsTransitionKernel == nil) - { - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - NSStringEncoding encoding = NSUTF8StringEncoding; - NSError *error = nil; - NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"SKTStripsTransitionKernel" ofType:@"cikernel"] encoding:encoding error:&error]; - NSArray *kernels = [CIKernel kernelsWithString:code]; - - _SKTStripsTransitionKernel = [kernels firstObject]; - } + if (_SKTStripsTransitionKernel == nil) + _SKTStripsTransitionKernel = [SKTPlugInLoader kernelWithName:@"splitTransition"]; return [super init]; } Deleted: trunk/SkimTransitions/StripsTransition/SKTStripsTransitionKernel.cikernel =================================================================== --- trunk/SkimTransitions/StripsTransition/SKTStripsTransitionKernel.cikernel 2022-02-07 10:21:31 UTC (rev 12768) +++ trunk/SkimTransitions/StripsTransition/SKTStripsTransitionKernel.cikernel 2022-02-08 23:18:58 UTC (rev 12769) @@ -1,15 +0,0 @@ -kernel vec4 splitTransition(sampler src, sampler trgt, vec4 extent, float width, float t) -{ - vec2 t1; - float d1; - vec4 p1, p2; - - t1 = destCoord(); - d1 = mod(t1.y - extent.y - extent.w, 2.0 * width); - t1.x += d1 < width ? -extent.z * t : extent.z * t; - p1 = sample(src, samplerTransform(src, t1)); - p2 = sample(trgt, samplerTransform(trgt, destCoord())); - p1 = t1.x < extent.x ? vec4(0.0) : (t1.x > extent.x + extent.z ? vec4(0.0) : p1); - - return p1 + (1.0 - p1.a) * p2; -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit