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

Reply via email to