5C0DDDC5106B5652008425EE /* ElisUndoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C0DDDC4106B5652008425EE /* ElisUndoManager.m */; };
5C480238106D165B00DF0CBB /* movieSizeWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5C480236106D165B00DF0CBB /* movieSizeWindow.xib */; };
5C56077F105FB3B70094F837 /* ElisPropertyTableController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C56077E105FB3B70094F837 /* ElisPropertyTableController.m */; };
- 5C560820105FCA140094F837 /* ElisCoreImageKernel.cikernel in Sources */ = {isa = PBXBuildFile; fileRef = 5C56081D105FCA140094F837 /* ElisCoreImageKernel.cikernel */; };
- 5C560821105FCA140094F837 /* ElisCustomFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C56081F105FCA140094F837 /* ElisCustomFilter.m */; };
5C72E60B106DD74000A96925 /* ElisMovieSizeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C72E60A106DD74000A96925 /* ElisMovieSizeWindowController.m */; };
5C72E689106DED1600A96925 /* Preference.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5C72E687106DED1600A96925 /* Preference.xib */; };
5C72E68C106DF1D400A96925 /* ElisPreferenceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C72E68B106DF1D400A96925 /* ElisPreferenceController.m */; };
5C9F358E105F7C0F00D87A46 /* ElisKeyframe.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C9F358D105F7C0F00D87A46 /* ElisKeyframe.m */; };
5CB6798C10637CA400FC5F9F /* lightgreen.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 5CB6798A10637CA400FC5F9F /* lightgreen.jpg */; };
5CB6798D10637CA400FC5F9F /* orange.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 5CB6798B10637CA400FC5F9F /* orange.jpg */; };
+ 5CB9424D106E662F0050FB6B /* ElisCoreImageKernel.cikernel in Sources */ = {isa = PBXBuildFile; fileRef = 5CB9424A106E662F0050FB6B /* ElisCoreImageKernel.cikernel */; };
+ 5CB9424E106E662F0050FB6B /* ElisCustomFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CB9424C106E662F0050FB6B /* ElisCustomFilter.m */; };
5CE2691F105B6FCE0082C63A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CE2691E105B6FCE0082C63A /* QuartzCore.framework */; };
5CE26923105B6FDE0082C63A /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CE26922105B6FDE0082C63A /* Quartz.framework */; };
5CE26928105B6FE90082C63A /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CE26927105B6FE90082C63A /* QTKit.framework */; };
5C480237106D165B00DF0CBB /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/movieSizeWindow.xib; sourceTree = "<group>"; };
5C56077D105FB3B70094F837 /* ElisPropertyTableController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisPropertyTableController.h; sourceTree = "<group>"; };
5C56077E105FB3B70094F837 /* ElisPropertyTableController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ElisPropertyTableController.m; sourceTree = "<group>"; };
- 5C56081D105FCA140094F837 /* ElisCoreImageKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; name = ElisCoreImageKernel.cikernel; path = ../Elis/ElisCoreImageKernel.cikernel; sourceTree = SOURCE_ROOT; };
- 5C56081E105FCA140094F837 /* ElisCustomFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ElisCustomFilter.h; path = ../Elis/ElisCustomFilter.h; sourceTree = SOURCE_ROOT; };
- 5C56081F105FCA140094F837 /* ElisCustomFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ElisCustomFilter.m; path = ../Elis/ElisCustomFilter.m; sourceTree = SOURCE_ROOT; };
5C72E609106DD74000A96925 /* ElisMovieSizeWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisMovieSizeWindowController.h; sourceTree = "<group>"; };
5C72E60A106DD74000A96925 /* ElisMovieSizeWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ElisMovieSizeWindowController.m; sourceTree = "<group>"; };
5C72E688106DED1600A96925 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/Preference.xib; sourceTree = "<group>"; };
5C9F358D105F7C0F00D87A46 /* ElisKeyframe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ElisKeyframe.m; sourceTree = "<group>"; };
5CB6798A10637CA400FC5F9F /* lightgreen.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = lightgreen.jpg; path = image/lightgreen.jpg; sourceTree = "<group>"; };
5CB6798B10637CA400FC5F9F /* orange.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = orange.jpg; path = image/orange.jpg; sourceTree = "<group>"; };
+ 5CB9424A106E662F0050FB6B /* ElisCoreImageKernel.cikernel */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = ElisCoreImageKernel.cikernel; sourceTree = "<group>"; };
+ 5CB9424B106E662F0050FB6B /* ElisCustomFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisCustomFilter.h; sourceTree = "<group>"; };
+ 5CB9424C106E662F0050FB6B /* ElisCustomFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ElisCustomFilter.m; sourceTree = "<group>"; };
5CE26911105B6F880082C63A /* ElisBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElisBase.h; sourceTree = "<group>"; };
5CE2691E105B6FCE0082C63A /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
5CE26922105B6FDE0082C63A /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
5C56081C105FC9D20094F837 /* Core Image Kernel */ = {
isa = PBXGroup;
children = (
- 5C56081D105FCA140094F837 /* ElisCoreImageKernel.cikernel */,
- 5C56081E105FCA140094F837 /* ElisCustomFilter.h */,
- 5C56081F105FCA140094F837 /* ElisCustomFilter.m */,
+ 5CB9424A106E662F0050FB6B /* ElisCoreImageKernel.cikernel */,
+ 5CB9424B106E662F0050FB6B /* ElisCustomFilter.h */,
+ 5CB9424C106E662F0050FB6B /* ElisCustomFilter.m */,
);
name = "Core Image Kernel";
sourceTree = "<group>";
5C9F358B105F7BEA00D87A46 /* ElisEffect.m in Sources */,
5C9F358E105F7C0F00D87A46 /* ElisKeyframe.m in Sources */,
5C56077F105FB3B70094F837 /* ElisPropertyTableController.m in Sources */,
- 5C560820105FCA140094F837 /* ElisCoreImageKernel.cikernel in Sources */,
- 5C560821105FCA140094F837 /* ElisCustomFilter.m in Sources */,
5CF28DC310624BCE00C49262 /* ElisMediaBrowserController.m in Sources */,
5CF28E0D1062581900C49262 /* ElisWriter.m in Sources */,
5C8A4811106A66ED00EC2F3D /* ElisWriterLegacy.m in Sources */,
5C72E60B106DD74000A96925 /* ElisMovieSizeWindowController.m in Sources */,
5C72E68C106DF1D400A96925 /* ElisPreferenceController.m in Sources */,
5C72E74C106E0CE800A96925 /* ElisWriterDummyView.m in Sources */,
+ 5CB9424D106E662F0050FB6B /* ElisCoreImageKernel.cikernel in Sources */,
+ 5CB9424E106E662F0050FB6B /* ElisCustomFilter.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
--- /dev/null
+// Copyright (c) 2009 Yanagi Asakura
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would be
+// appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not be
+// misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source
+// distribution.
+
+//
+// ElisCustomFilter.m
+// Elis
+//
+// Created by 柳 on 09/09/02.
+// Copyright 2009 Yanagi Entertainment. All rights reserved.
+//
+
+#import "ElisCustomFilter.h"
+
+@implementation ElisCustomFilter
+
+static CIKernel *s_opacityKernel = nil;
+
+- (id)init
+{
+ if(s_opacityKernel == nil){
+ NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+ NSString *code = [NSString stringWithContentsOfFile:[bundle pathForResource:@"ElisCoreImageKernel" ofType:@"cikernel"]];
+ NSArray *kernels = [CIKernel kernelsWithString:code];
+ s_opacityKernel = [[kernels objectAtIndex:0] retain];
+ }
+
+ return [super init];
+}
+
++ (void)initialize
+{
+ NSLog(@"Initializing Custom Filter ...");
+
+ [CIFilter registerFilterName:@"CIOpacity"
+ constructor:self
+ classAttributes:[NSDictionary dictionaryWithObjectsAndKeys:@"Change", kCIAttributeFilterDisplayName,
+ [NSArray arrayWithObjects:kCICategoryColorAdjustment, kCICategoryVideo, kCICategoryStillImage,
+ kCICategoryNonSquarePixels, nil], kCIAttributeFilterCategories,
+ [NSDictionary dictionaryWithObjectsAndKeys:
+ [NSNumber numberWithDouble:0.0], kCIAttributeMin,
+ [NSNumber numberWithDouble:1.0], kCIAttributeMax,
+ [NSNumber numberWithDouble:0.0], kCIAttributeSliderMin,
+ [NSNumber numberWithDouble:1.0], kCIAttributeSliderMax,
+ [NSNumber numberWithDouble:1.0], kCIAttributeDefault,
+ [NSNumber numberWithDouble:1.0], kCIAttributeIdentity,
+ kCIAttributeTypeScalar, kCIAttributeType, nil], @"inputOpacity", nil]];
+}
+
+- (CIImage*)outputImage
+{
+ CISampler *src = [CISampler samplerWithImage:inputImage];
+
+ return [self apply:s_opacityKernel, src, inputOpacity, kCIApplyOptionDefinition, [src definition], nil];
+}
+
++ (CIFilter*)filterWithName:(NSString *)name
+{
+ CIFilter *filter;
+
+ filter = [[self alloc] init];
+ return [filter autorelease];
+}
+
+@end
<reference key="NSColor" ref="4404863"/>
<reference key="NSTabView" ref="83094786"/>
</object>
- <object class="NSTabViewItem" id="261574702">
+ <object class="NSTabViewItem" id="1049445031">
<string key="NSIdentifier">Item 2</string>
- <object class="NSView" key="NSView" id="602300180">
+ <object class="NSView" key="NSView" id="829686118">
<reference key="NSNextResponder" ref="83094786"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSScrollView" id="727568098">
- <reference key="NSNextResponder" ref="602300180"/>
+ <object class="NSScrollView" id="291824860">
+ <reference key="NSNextResponder" ref="829686118"/>
<int key="NSvFlags">306</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSClipView" id="830695821">
- <reference key="NSNextResponder" ref="727568098"/>
+ <object class="NSClipView" id="676423734">
+ <reference key="NSNextResponder" ref="291824860"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextView" id="719198021">
- <reference key="NSNextResponder" ref="830695821"/>
+ <object class="NSTextView" id="894122042">
+ <reference key="NSNextResponder" ref="676423734"/>
<int key="NSvFlags">2322</int>
<object class="NSMutableSet" key="NSDragTypes">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<string key="NSFrameSize">{491, 14}</string>
- <reference key="NSSuperview" ref="830695821"/>
- <object class="NSTextContainer" key="NSTextContainer" id="361238514">
+ <reference key="NSSuperview" ref="676423734"/>
+ <object class="NSTextContainer" key="NSTextContainer" id="643847126">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
<object class="NSMutableString" key="NSString">
</object>
<object class="NSMutableArray" key="NSTextContainers">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="361238514"/>
+ <reference ref="643847126"/>
</object>
<int key="NSLMFlags">134</int>
<nil key="NSDelegate"/>
</object>
- <reference key="NSTextView" ref="719198021"/>
+ <reference key="NSTextView" ref="894122042"/>
<double key="NSWidth">491</double>
<int key="NSTCFlags">1</int>
</object>
</object>
</object>
<string key="NSFrame">{{1, 1}, {491, 425}}</string>
- <reference key="NSSuperview" ref="727568098"/>
- <reference key="NSNextKeyView" ref="719198021"/>
- <reference key="NSDocView" ref="719198021"/>
+ <reference key="NSSuperview" ref="291824860"/>
+ <reference key="NSNextKeyView" ref="894122042"/>
+ <reference key="NSDocView" ref="894122042"/>
<object class="NSColor" key="NSBGColor" id="306746733">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<int key="NScvFlags">4</int>
</object>
- <object class="NSScroller" id="760498183">
- <reference key="NSNextResponder" ref="727568098"/>
+ <object class="NSScroller" id="330248010">
+ <reference key="NSNextResponder" ref="291824860"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{492, 1}, {15, 425}}</string>
- <reference key="NSSuperview" ref="727568098"/>
- <reference key="NSTarget" ref="727568098"/>
+ <reference key="NSSuperview" ref="291824860"/>
+ <reference key="NSTarget" ref="291824860"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99248120300751874</double>
</object>
- <object class="NSScroller" id="672635734">
- <reference key="NSNextResponder" ref="727568098"/>
+ <object class="NSScroller" id="400799124">
+ <reference key="NSNextResponder" ref="291824860"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {87, 18}}</string>
- <reference key="NSSuperview" ref="727568098"/>
+ <reference key="NSSuperview" ref="291824860"/>
<int key="NSsFlags">1</int>
- <reference key="NSTarget" ref="727568098"/>
+ <reference key="NSTarget" ref="291824860"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
<double key="NSPercent">0.94565218687057495</double>
</object>
</object>
<string key="NSFrame">{{17, 17}, {508, 427}}</string>
- <reference key="NSSuperview" ref="602300180"/>
- <reference key="NSNextKeyView" ref="830695821"/>
+ <reference key="NSSuperview" ref="829686118"/>
+ <reference key="NSNextKeyView" ref="676423734"/>
<int key="NSsFlags">18</int>
- <reference key="NSVScroller" ref="760498183"/>
- <reference key="NSHScroller" ref="672635734"/>
- <reference key="NSContentView" ref="830695821"/>
+ <reference key="NSVScroller" ref="330248010"/>
+ <reference key="NSHScroller" ref="400799124"/>
+ <reference key="NSContentView" ref="676423734"/>
</object>
</object>
<string key="NSFrame">{{10, 33}, {542, 447}}</string>
<reference key="NSTabView" ref="83094786"/>
</object>
</object>
- <reference key="NSSelectedTabViewItem" ref="261574702"/>
+ <reference key="NSSelectedTabViewItem" ref="1049445031"/>
<reference key="NSFont" ref="1004466011"/>
<int key="NSTvFlags">0</int>
<bool key="NSAllowTruncatedLabels">YES</bool>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="602300180"/>
+ <reference ref="829686118"/>
</object>
</object>
<object class="NSOpenGLView" id="132559063">
<object class="IBOutletConnection" key="connection">
<string key="label">_textLayerField</string>
<reference key="source" ref="690852348"/>
- <reference key="destination" ref="719198021"/>
+ <reference key="destination" ref="894122042"/>
</object>
<int key="connectionID">683</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
- <reference key="source" ref="719198021"/>
+ <reference key="source" ref="894122042"/>
<reference key="destination" ref="690852348"/>
</object>
<int key="connectionID">685</int>
<object class="IBOutletConnection" key="connection">
<string key="label">_textLayerFiled</string>
<reference key="source" ref="986578374"/>
- <reference key="destination" ref="719198021"/>
+ <reference key="destination" ref="894122042"/>
</object>
<int key="connectionID">686</int>
</object>
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="615081872"/>
<reference ref="722773087"/>
- <reference ref="261574702"/>
+ <reference ref="1049445031"/>
</object>
<reference key="parent" ref="439893737"/>
</object>
</object>
<object class="IBObjectRecord">
<int key="objectID">668</int>
- <reference key="object" ref="261574702"/>
+ <reference key="object" ref="1049445031"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="602300180"/>
+ <reference ref="829686118"/>
</object>
<reference key="parent" ref="83094786"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">669</int>
- <reference key="object" ref="602300180"/>
+ <reference key="object" ref="829686118"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="727568098"/>
+ <reference ref="291824860"/>
</object>
- <reference key="parent" ref="261574702"/>
+ <reference key="parent" ref="1049445031"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">679</int>
- <reference key="object" ref="727568098"/>
+ <reference key="object" ref="291824860"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="760498183"/>
- <reference ref="672635734"/>
- <reference ref="719198021"/>
+ <reference ref="330248010"/>
+ <reference ref="400799124"/>
+ <reference ref="894122042"/>
</object>
- <reference key="parent" ref="602300180"/>
+ <reference key="parent" ref="829686118"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">680</int>
- <reference key="object" ref="760498183"/>
- <reference key="parent" ref="727568098"/>
+ <reference key="object" ref="330248010"/>
+ <reference key="parent" ref="291824860"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">681</int>
- <reference key="object" ref="672635734"/>
- <reference key="parent" ref="727568098"/>
+ <reference key="object" ref="400799124"/>
+ <reference key="parent" ref="291824860"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">682</int>
- <reference key="object" ref="719198021"/>
- <reference key="parent" ref="727568098"/>
+ <reference key="object" ref="894122042"/>
+ <reference key="parent" ref="291824860"/>
</object>
</object>
</object>