From 5157c0acc8effc5a91e38cd30ca4e9bc69b7affb Mon Sep 17 00:00:00 2001 From: xant Date: Sun, 8 Aug 2010 23:19:54 +0200 Subject: [PATCH] massive cleanup and bugfixes after recent refactoring of cocoa-related internals --- xcode/CVCocoaLayer.h | 2 +- xcode/CVCocoaLayer.mm | 14 +- xcode/CVF0rLayerController.mm | 10 +- xcode/CVFFmpegLayer.h | 2 - xcode/CVFFmpegLayer.mm | 95 ++++--- xcode/CVFFmpegLayerController.h | 1 - xcode/CVFFmpegLayerController.mm | 37 +-- xcode/CVFFmpegLayerView.h | 1 + xcode/CVFFmpegLayerView.mm | 8 + xcode/CVFilterInstance.mm | 4 +- xcode/CVFilterPanel.mm | 4 +- xcode/CVGenerator.m | 2 +- xcode/CVGeoLayer.h | 1 - xcode/CVGeoLayer.mm | 27 +- xcode/CVLayer.h | 3 +- xcode/CVLayer.mm | 50 ++-- xcode/CVLayerController.h | 43 +-- xcode/CVLayerController.mm | 152 +++++------ xcode/CVLayerView.h | 1 - xcode/CVLayerView.mm | 7 - xcode/CVPreview.h | 2 +- xcode/CVPreview.mm | 72 ++--- xcode/CVQtLayerController.h | 2 - xcode/CVQtLayerController.mm | 22 +- xcode/CVQtLayerView.mm | 6 +- xcode/CVTextLayerController.mm | 5 +- .../English.lproj/MainMenu.nib/designable.nib | 250 ++++++------------ .../MainMenu.nib/keyedobjects.nib | Bin 137470 -> 136844 bytes 28 files changed, 324 insertions(+), 499 deletions(-) diff --git a/xcode/CVCocoaLayer.h b/xcode/CVCocoaLayer.h index 08ca9f46..71cab048 100644 --- a/xcode/CVCocoaLayer.h +++ b/xcode/CVCocoaLayer.h @@ -47,7 +47,7 @@ public: char *fjName(); Context *context() { return freej; }; - virtual CVTexture *glTexture(); + virtual CVPixelBufferRef currentFrame(); NSDictionary *imageParams(); int width(); int height(); diff --git a/xcode/CVCocoaLayer.mm b/xcode/CVCocoaLayer.mm index d29ff050..957626f6 100644 --- a/xcode/CVCocoaLayer.mm +++ b/xcode/CVCocoaLayer.mm @@ -37,8 +37,8 @@ CVCocoaLayer::CVCocoaLayer(Layer *lay, CVLayerController *vin) CVCocoaLayer::~CVCocoaLayer() { deactivate(); - if (input) - [input setLayer:nil]; + //if (input) + //[input setLayer:nil]; } @@ -67,14 +67,12 @@ CVCocoaLayer::deactivate() } // accessor to get a texture from the CVLayerController class -CVTexture * -CVCocoaLayer::glTexture() +CVPixelBufferRef +CVCocoaLayer::currentFrame() { - CVTexture *texture = NULL; if (input) - texture = [input getTexture]; - - return texture; + return [input currentFrame]; + return NULL; } bool CVCocoaLayer::isActive() diff --git a/xcode/CVF0rLayerController.mm b/xcode/CVF0rLayerController.mm index e6ed73bd..a236664c 100644 --- a/xcode/CVF0rLayerController.mm +++ b/xcode/CVF0rLayerController.mm @@ -25,24 +25,18 @@ { CVCocoaLayer *toDelete; if (layer) { - [self deactivate]; - [lock lock]; - //toDelete->stop(); + [self stop]; if (currentFrame) { CVPixelBufferRelease(currentFrame); currentFrame = NULL; } - toDelete = (CVCocoaLayer *)layer; - layer = NULL; - [lock unlock]; - delete toDelete; } } - (void)setLayer:(CVCocoaLayer *)lay { if (layer) // ensure to remove/stop old genf0rlayer if we are setting a new one - [self reset]; + [self stop]; [super setLayer:lay]; } diff --git a/xcode/CVFFmpegLayer.h b/xcode/CVFFmpegLayer.h index 18b8bfba..c8925b33 100644 --- a/xcode/CVFFmpegLayer.h +++ b/xcode/CVFFmpegLayer.h @@ -35,8 +35,6 @@ protected: void *feed(); public: - BOOL repeat; - CVFFmpegLayer(CVLayerController *controller); ~CVFFmpegLayer(); bool open(const char *movie); diff --git a/xcode/CVFFmpegLayer.mm b/xcode/CVFFmpegLayer.mm index db6bc64d..18e7bcbd 100644 --- a/xcode/CVFFmpegLayer.mm +++ b/xcode/CVFFmpegLayer.mm @@ -20,7 +20,6 @@ CVFFmpegLayer::CVFFmpegLayer(CVLayerController *controller) : CVLayer(controller { ff = NULL; pixelBuffer = NULL; - repeat = NO; } CVFFmpegLayer::~CVFFmpegLayer() @@ -40,54 +39,60 @@ void *CVFFmpegLayer::feed() if (!ff) { if (strlen(filename)) { // XXX - (argh!, find a better way) + if (open_movie(&ff, filename) == 0) { init_moviebuffer(ff, geo.w, geo.h, PIX_FMT_ARGB); decode_frame(ff); } else { close_and_free_ff(&ff); - if (!repeat) + if (![(CVFFmpegLayerController *)input wantsRepeat]) { memset(filename, 0, sizeof(filename)); // XXX + [input stop]; + return NULL; + } } - } - } else { - uint8_t *ffbuffer = get_bufptr(ff); - if (!ffbuffer) - return NULL; - CVReturn err = CVPixelBufferCreateWithBytes ( - NULL, - geo.w, - geo.h, - k32ARGBPixelFormat, - ffbuffer, - geo.w*4, - NULL, - NULL, - NULL, - &pixelBuffer - ); - if (err == kCVReturnSuccess) { - // first decode the frame - if (!decode_frame(ff)) { - close_and_free_ff(&ff); - //buffer = NULL; - // XXX - find a cleaner way instead of blindly resetting the filename - // TODO - allow looping on a stream by reopening it - if (!repeat) { - memset(filename, 0, sizeof(filename)); - if (input) { - [(CVFFmpegLayerController *)input deactivate]; - [(CVFFmpegLayerController *)input clearPreview]; - } - } - } - // and than provide it to our controller - [input feedFrame:pixelBuffer]; - CVPixelBufferRelease(pixelBuffer); - } else { - // TODO - Error messages - } - } + [input stop]; + return NULL; + } + } + uint8_t *ffbuffer = get_bufptr(ff); + if (!ffbuffer) + return NULL; + CVReturn err = CVPixelBufferCreateWithBytes ( + NULL, + geo.w, + geo.h, + k32ARGBPixelFormat, + ffbuffer, + geo.w*4, + NULL, + NULL, + NULL, + &pixelBuffer + ); + if (err == kCVReturnSuccess) { + // first decode the frame + if (!decode_frame(ff)) { + close_and_free_ff(&ff); + //buffer = NULL; + // XXX - find a cleaner way instead of blindly resetting the filename + // TODO - allow looping on a stream by reopening it + if (![input wantsRepeat]) { + memset(filename, 0, sizeof(filename)); + if (input) { + [(CVFFmpegLayerController *)input deactivate]; + [(CVFFmpegLayerController *)input clearPreview]; + } + } + } + // and than provide it to our controller + [input feedFrame:pixelBuffer]; + CVPixelBufferRelease(pixelBuffer); + + } else { + // TODO - Error messages + } return CVLayer::feed(); } @@ -100,12 +105,16 @@ bool CVFFmpegLayer::isDecoding() int CVFFmpegLayer::scaledWidth() { - return get_scaled_width(ff); + if (ff) + return get_scaled_width(ff); + return 0; } int CVFFmpegLayer::scaledHeight() { - return get_scaled_height(ff); + if (ff) + return get_scaled_height(ff); + return 0; } bool CVFFmpegLayer::hasFF() diff --git a/xcode/CVFFmpegLayerController.h b/xcode/CVFFmpegLayerController.h index fd092f3d..cab4f189 100644 --- a/xcode/CVFFmpegLayerController.h +++ b/xcode/CVFFmpegLayerController.h @@ -41,7 +41,6 @@ struct ffdec; } - (void)setStream:(NSString*)url; -- (void)setRepeat:(BOOL)repeat; - (void)reOpen; - (void)clearPreview; @end diff --git a/xcode/CVFFmpegLayerController.mm b/xcode/CVFFmpegLayerController.mm index 8815f1a8..a10705d4 100644 --- a/xcode/CVFFmpegLayerController.mm +++ b/xcode/CVFFmpegLayerController.mm @@ -52,6 +52,7 @@ previewImage = nil; timeout=1; currentFrame = nil; + wantsRepeat = NO; bufDict = [[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], kCVPixelBufferCGImageCompatibilityKey, [NSNumber numberWithBool:YES], kCVPixelBufferCGBitmapContextCompatibilityKey, [NSNumber numberWithBool:YES], kCVPixelBufferOpenGLCompatibilityKey, nil] retain]; return [super init]; @@ -109,18 +110,8 @@ layer = ffLayer; } ((CVFFmpegLayer *)layer)->open(movie); + layer->activate(); [lock unlock]; -/* - if (!currentFrame) { - CVPixelBufferCreate( - kCFAllocatorDefault, - ctx->screen->geo.w, - ctx->screen->geo.h, - k32ARGBPixelFormat, - (CFDictionaryRef)bufDict, - ¤tFrame); - } - */ } - (void)feedFrame:(CVPixelBufferRef)frame @@ -134,26 +125,11 @@ CVPixelBufferLockBaseAddress(frame, 0); uint8_t* buf= (uint8_t*) CVPixelBufferGetBaseAddress(frame); - /* - printf("%dx%d -> %dx%d\n", get_scaled_width(ff), get_scaled_height(ff), - ctx->screen->geo.w, ctx->screen->geo.h); - */ if (lay->scaledWidth() == ctx->screen->geo.w && lay->scaledHeight() == ctx->screen->geo.h) { uint8_t *ffbuf = (uint8_t *)lay->buffer; if (lay->buffer) { memcpy(buf, ffbuf, 4 * ctx->screen->geo.w * ctx->screen->geo.h *sizeof(uint8_t)); - /* - long blackness=(ctx->screen->geo.w * ctx->screen->geo.h); - // histogram - blackness=0; - int i; - for (i=0; i< 4 * ctx->screen->geo.w * ctx->screen->geo.h *sizeof(uint8_t);i+=4) { - blackness+=((buf[i+1]>>2) || (buf[i+2]>>2) || (buf[i+3]>>2))?1:0; - } - */ - //if (blackness >= (ctx->screen->geo.w * ctx->screen->geo.h)>>4) { if (skipCount > 50) { // TODO - implement properly - NSAutoreleasePool *pool; pool = [[NSAutoreleasePool alloc] init]; NSBitmapImageRep *imr = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:(unsigned char**)&buf @@ -171,14 +147,12 @@ previewImage = [[NSImage alloc] initWithSize:NSZeroSize]; [previewImage addRepresentation:imr]; [layerView setPosterImage:previewImage]; - //[previewImage release]; // XXX - this will be released by clearPreview [lock unlock]; [imr release]; [pool release]; } else { skipCount++; } - newFrame = YES; } } CVPixelBufferUnlockBaseAddress(frame, 0); @@ -203,11 +177,4 @@ } } -- (void)setRepeat:(BOOL)repeat -{ - CVFFmpegLayer *lay = (CVFFmpegLayer *)layer; - if (layer) - lay->repeat = repeat; -} - @end diff --git a/xcode/CVFFmpegLayerView.h b/xcode/CVFFmpegLayerView.h index dfe1d022..d9704a3d 100644 --- a/xcode/CVFFmpegLayerView.h +++ b/xcode/CVFFmpegLayerView.h @@ -32,6 +32,7 @@ - (IBAction)open:(id)sender; - (IBAction)close:(id)sender; +- (IBAction)toggleRepeat:(id)sender; @end #endif diff --git a/xcode/CVFFmpegLayerView.mm b/xcode/CVFFmpegLayerView.mm index 1ba09b27..4ad7deba 100644 --- a/xcode/CVFFmpegLayerView.mm +++ b/xcode/CVFFmpegLayerView.mm @@ -55,4 +55,12 @@ [super drawRect:theRect]; } +- (IBAction)toggleRepeat:(id)sender +{ + if ([sender state] == NSOnState) + [(CVFFmpegLayerController *)layerController setRepeat:YES]; + else + [(CVFFmpegLayerController *)layerController setRepeat:NO]; +} + @end diff --git a/xcode/CVFilterInstance.mm b/xcode/CVFilterInstance.mm index f26758bb..c222ea4f 100644 --- a/xcode/CVFilterInstance.mm +++ b/xcode/CVFilterInstance.mm @@ -43,18 +43,18 @@ CVFilterInstance::CVFilterInstance() } CVFilterInstance::CVFilterInstance(Filter *fr) + : FilterInstance() { cgContextRef = nil; ciContext = nil; ciFilter = nil; image = nil; - func("creating instance for filter %s",fr->name); init(fr); } void CVFilterInstance::init(Filter *fr) { - FilterInstance::init(fr); + FilterInstance::init(fr); ciFilter = [[CIFilter filterWithName:[NSString stringWithFormat:@"CI%s", fr->name]] retain]; [ciFilter setDefaults]; if (fr->type() == Filter::COREIMAGE) { diff --git a/xcode/CVFilterPanel.mm b/xcode/CVFilterPanel.mm index ee0ce8e1..3829b953 100644 --- a/xcode/CVFilterPanel.mm +++ b/xcode/CVFilterPanel.mm @@ -55,7 +55,7 @@ if(layer) { [layer setPreviewTarget:previewBox]; [showButton setState:[layer isVisible]?NSOnState:NSOffState]; - if ([layer needPreview]) { + if ([layer doPreview]) { [previewButton setState:NSOnState]; } else { [previewButton setState:NSOffState]; @@ -204,7 +204,7 @@ NSRect frame = NSMakeRect(0, [container frame].size.height - 25, 0, 20); // XXX while (param) { frame.origin.x = 0; - frame.size.width = [container frame].size.width / 2 - 10; // XXX + frame.size.width = [container frame].size.width / 2 - 5; // XXX NSTextView *newText = [[NSTextView alloc] initWithFrame:frame]; [newText setDrawsBackground:NO]; [newText setTextColor:[NSColor colorWithDeviceRed:1.0 green:1.0 blue:1.0 alpha:1.0]]; diff --git a/xcode/CVGenerator.m b/xcode/CVGenerator.m index 8ee7cf25..759dfdca 100644 --- a/xcode/CVGenerator.m +++ b/xcode/CVGenerator.m @@ -48,7 +48,7 @@ [lock unlock]; return freejImage; } - + - (void)prepareOpenGL { NSAutoreleasePool *pool; diff --git a/xcode/CVGeoLayer.h b/xcode/CVGeoLayer.h index 8d259442..32c6267e 100644 --- a/xcode/CVGeoLayer.h +++ b/xcode/CVGeoLayer.h @@ -31,7 +31,6 @@ public: CVGeoLayer(CVLayerController *vin); ~CVGeoLayer(); - int start(); void *do_filters(void *buf); protected: int currentIndex; diff --git a/xcode/CVGeoLayer.mm b/xcode/CVGeoLayer.mm index 4c4860ff..fe66acef 100644 --- a/xcode/CVGeoLayer.mm +++ b/xcode/CVGeoLayer.mm @@ -54,13 +54,6 @@ CVGeoLayer::~CVGeoLayer() free(frame); } -// ensure calling the start method from our CVLayer ancestor -// (and not from the GeoLayer one -int CVGeoLayer::start() -{ - return GeoLayer::start(); -} - void * CVGeoLayer::feed() { @@ -83,25 +76,21 @@ CVGeoLayer::feed() CVPixelBufferRelease(pixelBuffer); } NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - [input renderFrame]; - CVTexture *tx = [input getTexture]; - if (tx) { - // ensure providing the pixelbuffer to upper cocoa-related layers - CVPixelBufferRef pixelBuffer = [tx pixelBuffer]; - + CVPixelBufferRef pixelBuffer = [input currentFrame]; + if (pixelBuffer) { CVPixelBufferLockBaseAddress(pixelBuffer, 0); //void *frame = CVPixelBufferGetBaseAddress(pixelBuffer); if (!frame) frame = malloc(CVPixelBufferGetDataSize(pixelBuffer)); // TODO - try to avoid this copy!! + //lock(); memcpy(frame, CVPixelBufferGetBaseAddress(pixelBuffer), CVPixelBufferGetDataSize(pixelBuffer)); - - CVPixelBufferUnlockBaseAddress(pixelBuffer, 0); - //unlock(); - } + CVPixelBufferUnlockBaseAddress(pixelBuffer, 0); + CVPixelBufferRelease(pixelBuffer); + } [pool release]; return frame; } @@ -123,7 +112,7 @@ void *CVGeoLayer::do_filters(void *buf) { filters.unlock(); } // now that we have applied filters (if any) - // we can render the preview (if needed) - [input renderPreview]; + if ([input respondsToSelector:@selector(frameFiltered:)]) + [input frameFiltered:(void *)buf]; return buf; } diff --git a/xcode/CVLayer.h b/xcode/CVLayer.h index f4e65246..cb5fd8e0 100644 --- a/xcode/CVLayer.h +++ b/xcode/CVLayer.h @@ -54,8 +54,7 @@ protected: virtual void *feed(); private: - CVTexture *texture[2]; // double buffer - void *frame; + void *frame[2]; // double buffer unsigned int num; }; diff --git a/xcode/CVLayer.mm b/xcode/CVLayer.mm index c52ee7be..1d2e2074 100644 --- a/xcode/CVLayer.mm +++ b/xcode/CVLayer.mm @@ -23,20 +23,16 @@ CVLayer::CVLayer() : CVCocoaLayer(this), Layer() { type = Layer::GL_COCOA; buffer = NULL; - memset(texture, 0, sizeof(CVTexture *) * 2); - //texture = NULL; + memset(frame, 0, sizeof(void *) * 2); num = 0; - frame = NULL; } CVLayer::CVLayer(CVLayerController *vin) : Layer(), CVCocoaLayer(this, vin) { type = Layer::GL_COCOA; buffer = NULL; - frame = NULL; - memset(texture, 0, sizeof(CVTexture *) * 2); + memset(frame, 0, sizeof(void *) * 2); num = 0; - //texture = (CVTexture **)calloc(1, sizeof(CVTexture *) * 2); set_name([input name]); [input setLayer:this]; } @@ -45,14 +41,10 @@ CVLayer::~CVLayer() { stop(); close(); - if (frame) - free(frame); // release the double buffer if present for (int i = 0; i < 2; i++) { - if (texture[i]) { - [texture[i] release]; - texture[i] = NULL; - } + if (frame[i]) + free(frame[i]); } } @@ -120,34 +112,32 @@ CVLayer::relative_seek(double increment) void * CVLayer::feed() { + void *output = NULL; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - [input renderFrame]; - - CVTexture *tx = [input getTexture]; - if (tx) { + + CVPixelBufferRef pixelBuffer = [input currentFrame]; + if (pixelBuffer) { num++; + int idx = num % 2; //lock(); - if (texture[num%2]) - [(CVTexture *)texture[num%2] release]; - - texture[num%2] = [tx retain]; // ensure providing the pixelbuffer to upper cocoa-related layers - CVPixelBufferRef pixelBuffer = [texture[num%2] pixelBuffer]; CVPixelBufferLockBaseAddress(pixelBuffer, 0); //void *frame = CVPixelBufferGetBaseAddress(pixelBuffer); - if (!frame) - frame = malloc(CVPixelBufferGetDataSize(pixelBuffer)); + if (!frame[idx]) + frame[idx] = malloc(CVPixelBufferGetDataSize(pixelBuffer)); // TODO - try to avoid this copy!! - memcpy(frame, CVPixelBufferGetBaseAddress(pixelBuffer), CVPixelBufferGetDataSize(pixelBuffer)); - + //lock(); + memcpy(frame[idx], CVPixelBufferGetBaseAddress(pixelBuffer), CVPixelBufferGetDataSize(pixelBuffer)); + //unlock(); CVPixelBufferUnlockBaseAddress(pixelBuffer, 0); - + output = frame[idx]; + CVPixelBufferRelease(pixelBuffer); //unlock(); } [pool release]; - return frame; + return output; } void *CVLayer::do_filters(void *buf) { @@ -165,8 +155,8 @@ void *CVLayer::do_filters(void *buf) { } filters.unlock(); } - // now that we have applied filters (if any) - // we can render the preview (if needed) - [input renderPreview]; + if ([input respondsToSelector:@selector(frameFiltered:)]) + [input frameFiltered:(void *)buf]; + return buf; } diff --git a/xcode/CVLayerController.h b/xcode/CVLayerController.h index c1304229..3bce6ce0 100644 --- a/xcode/CVLayerController.h +++ b/xcode/CVLayerController.h @@ -35,17 +35,11 @@ class CVCocoaLayer; CFreej *freej; NSRecursiveLock *lock; - bool newFrame; CVPixelBufferRef currentFrame; // the current frame from the movie CVTexture *cvTexture; CIImage *posterImage; - bool doPreview; CVTexture *currentPreviewTexture; CGLContextObj glContext; - - // display link - CVDisplayLinkRef displayLink; // the displayLink that runs the show - CGDirectDisplayID viewDisplayID; // filters for CI rendering CIFilter *colorCorrectionFilter; // hue saturation brightness control through one CI filter CIFilter *compositeFilter; // composites the timecode over the video @@ -62,32 +56,43 @@ class CVCocoaLayer; CVCocoaLayer *layer; CVPreview *previewTarget; IBOutlet CVLayerView *layerView; - bool doFilters; - bool filtersInitialized; + BOOL doPreview; + BOOL doFilters; + BOOL wantsRepeat; + BOOL filtersInitialized; } @property (readwrite, assign) CFreej *freej; @property (readwrite) CVCocoaLayer *layer; @property (readonly) CVLayerView *layerView; - // subclass implementation should override this method and update - // the currentFrame pointer only within the renderFrame implementation + @property (readwrite) BOOL doPreview; + @property (readwrite) BOOL doFilters; + @property (readwrite) BOOL wantsRepeat; + + // Subclasses can override this method to feed the current frame before returning it + // To provide the frame [self feedFrame:] must be called. + // The returned CVPixelBufferRef is retained and MUST be released by the caller. + // NOTE : usually this is called from the C++ layer implementation , within the feed() method. + // But some Cocoa-layers could lack a specific C++ class since the frame is created + // directly in the cocoa implementation. + // In such cases (for instance QTLayerController and CVTextLayerController) 'currentFrame' + // is overridden to provide the new pixel buffer before calling [super currentFrame] + - (CVPixelBufferRef)currentFrame; - (char *)name; + // applies image parameters (brightness, contrast, exposure, etc) and stores the new frame as 'current' on + // (to be later returned by [self currentFrame] - (void)feedFrame:(CVPixelBufferRef)frame; - - (CVReturn)renderFrame; + - (void)frameFiltered:(void *)buffer; - (id)initWithContext:(CFreej *)context; - (void)startPreview; // enable preview rendering - (void)stopPreview; // disable preview rendering - - (void)renderPreview; // render the preview frame + - (void)renderPreview:(CVPixelBufferRef)frame; // render the preview frame - (bool)isVisible; // query the layer to check if it's being sent to the Screen or not - (NSString *)blendMode; - (void)activate; /// activate the underlying CVLayer - (void)deactivate; /// deactivate the underlying CVLayer - // Retain currentFrame, apply filters and return a CVTexture - - (CVTexture *)getTexture; // query the layer to check if it needs to display a preview or not (used by CVPreview) - - (bool)needPreview; - (NSDictionary *)imageParams; - //- (void)setContext:(CFreej *)ctx; - (void)setPreviewTarget:(CVPreview *)targetView; - (CVPreview *)getPreviewTarget; - (void)lock; /// accessor to the internal mutex @@ -100,13 +105,13 @@ class CVCocoaLayer; - (void)toggleFilters; - (void)toggleVisibility; - (void)togglePreview; - - (bool)doPreview; + - (BOOL)doPreview; + - (BOOL)wantsRepeat; + - (void)setRepeat:(BOOL)repeat; - (void)setBlendMode:(NSString *)mode; - (void)initFilters; - (int)width; - (int)height; - //- (void)filterFrame:(CIFilter *)filter; - //- (void)filterFrame:(FilterInstance *)filter; - (Linklist *)activeFilters; - (IBAction)setImageParameter:(id)sender; /// tags from 0 to 10 - (IBAction)setValue:(NSNumber *)value forImageParameter:(NSString *)parameter; diff --git a/xcode/CVLayerController.mm b/xcode/CVLayerController.mm index 237bcd78..632b5606 100644 --- a/xcode/CVLayerController.mm +++ b/xcode/CVLayerController.mm @@ -99,7 +99,8 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, [scaleFilter release]; [translateFilter release]; ///[timeCodeOverlay release]; - CVOpenGLTextureRelease(currentFrame); + if (currentFrame) + CVOpenGLTextureRelease(currentFrame); if (imageParams) [imageParams release]; [lock release]; @@ -109,23 +110,9 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, - (void)prepareOpenGL { - CGOpenGLDisplayMask totalDisplayMask = 0; - int virtualScreen; - GLint displayMask; NSAutoreleasePool *pool; pool = [[NSAutoreleasePool alloc] init]; - // Create display link - if (layerView) { - NSOpenGLPixelFormat *openGLPixelFormat = [layerView pixelFormat]; - viewDisplayID = (CGDirectDisplayID)[[[[[layerView window] screen] deviceDescription] objectForKey:@"NSScreenNumber"] intValue]; // we start with our view on the main display - // build up list of displays from OpenGL's pixel format - for (virtualScreen = 0; virtualScreen < [openGLPixelFormat numberOfVirtualScreens]; virtualScreen++) - { - [openGLPixelFormat getValues:&displayMask forAttribute:NSOpenGLPFAScreenMask forVirtualScreen:virtualScreen]; - totalDisplayMask |= displayMask; - } - } // Setup the timecode overlay /* NSDictionary *fontAttributes = [[NSDictionary alloc] initWithObjectsAndKeys:[NSFont labelFontOfSize:24.0f], NSFontAttributeName, @@ -146,24 +133,28 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, Layer *fjLayer = NULL; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - + if (!filtersInitialized) + [self initFilters]; // initialize on first use + if (layer) fjLayer = layer->fjLayer(); else return; [lock lock]; - if (!currentFrame) { - CVReturn err = CVPixelBufferCreate ( - NULL, - fjLayer->geo.w, - fjLayer->geo.h, - k32ARGBPixelFormat, - NULL, - ¤tFrame - ); - } + if (currentFrame) + CVPixelBufferRelease(currentFrame); + + CVReturn err = CVPixelBufferCreate ( + NULL, + fjLayer->geo.w, + fjLayer->geo.h, + k32ARGBPixelFormat, + NULL, + ¤tFrame + ); //currentFrame = CVPixelBufferRetain(frame); // TODO - check error code + //fjLayer->lock(); CIImage *inputImage = [CIImage imageWithCVImageBuffer:frame]; CGRect bounds = CGRectMake(0, 0, fjLayer->geo.w, fjLayer->geo.h); @@ -185,15 +176,16 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, ); CVPixelBufferUnlockBaseAddress(currentFrame, 0); if (!context) { + //fjLayer->unlock(); // todo - error messages return; } NSDictionary *ciContextOptions = [NSDictionary dictionaryWithObject:(NSString*)kCGColorSpaceGenericRGB forKey: kCIContextOutputColorSpace]; CIContext *ciCtx = [CIContext contextWithCGContext:context options:ciContextOptions]; - //CGContextRelease(context); + CGContextRelease(context); -// if (doFilters) { + if (doFilters) { [colorCorrectionFilter setValue:inputImage forKey:@"inputImage"]; [exposureAdjustFilter setValue:[colorCorrectionFilter valueForKey:@"outputImage"] forKey:@"inputImage"]; [alphaFilter setValue:[exposureAdjustFilter valueForKey:@"outputImage"] @@ -209,46 +201,15 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, } else { renderedImage = [rotateFilter valueForKey:@"outputImage"]; } -// } else { -// renderedImage = inputImage; -// } + } else { + renderedImage = inputImage; + } [ciCtx drawImage:renderedImage inRect:bounds fromRect:bounds]; - newFrame = YES; [lock unlock]; [pool release]; - //[self renderFrame]; } - -- (CVReturn)renderFrame -{ - CIImage *inputImage = nil; - CIImage *renderedImage = nil; - Layer *fjLayer = NULL; - - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - - if (layer) - fjLayer = layer->fjLayer(); - else - return kCVReturnError; - - if (!filtersInitialized) - [self initFilters]; // initialize on first use - - if (newFrame) { - [lock lock]; - if (cvTexture) - [cvTexture release]; - cvTexture = [[CVTexture alloc] initWithCIImage:inputImage pixelBuffer:currentFrame]; - newFrame = NO; - [lock unlock]; - //[self renderPreview]; - } - [pool release]; - return kCVReturnSuccess; -} - + - (IBAction)toggleFilters:(id)sender { doFilters = doFilters?false:true; @@ -452,18 +413,13 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, //[lock unlock]; } -- (void)renderPreview +- (void)renderPreview:(CVPixelBufferRef)frame { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; if ([self doPreview] && previewTarget) { // scale the frame to fit the preview - if (![previewTarget isHiddenOrHasHiddenAncestor]) { - Layer *fjLayer = layer->fjLayer(); - // XXX - it's too dangerous to access layer->buffer directly - if (fjLayer && fjLayer->buffer) - [previewTarget renderFrame:fjLayer]; - } - + if (![previewTarget isHiddenOrHasHiddenAncestor]) + [previewTarget renderFrame:frame]; } [pool release]; } @@ -519,20 +475,42 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, filtersInitialized = true; } -- (CVTexture *)getTexture +- (CVPixelBufferRef)currentFrame { - CVTexture *texture = nil; + CVPixelBufferRef frame; [lock lock]; - texture = [cvTexture retain]; + frame = CVPixelBufferRetain(currentFrame); [lock unlock]; - - return [texture autorelease]; + + return frame; } - -- (bool)needPreview +- (void)frameFiltered:(void *)buffer { - return doPreview; + // we have been notified that the frame has been filtered + // and 'buffer' holds the data for the filtered image + // (it will still have the some pixelformat and dimensions of original image) + // XXX - actually we don't store the filtered image, but we use it just for preview + if (layer && doPreview) { + CVPixelBufferRef pixelBufferFiltered; + CVReturn cvRet = CVPixelBufferCreateWithBytes ( + NULL, + layer->width(), + layer->height(), + k32ARGBPixelFormat, + buffer, + layer->width()*4, + NULL, + NULL, + NULL, + &pixelBufferFiltered + ); + // TODO - Error Messages + if (cvRet == noErr) { + [self renderPreview:pixelBufferFiltered]; + CVPixelBufferRelease(pixelBufferFiltered); + } + } } - (void)startPreview @@ -665,7 +643,7 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, doPreview = doPreview?NO:YES; } -- (bool)doPreview +- (BOOL)doPreview { return doPreview; } @@ -712,8 +690,22 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, return 0; } + +- (void)setRepeat:(BOOL)repeat +{ + wantsRepeat = repeat; +} + +- (BOOL)wantsRepeat +{ + return wantsRepeat; +} + @synthesize freej; @synthesize layer; @synthesize layerView; +@synthesize wantsRepeat; +@synthesize doPreview; +@synthesize doFilters; @end diff --git a/xcode/CVLayerView.h b/xcode/CVLayerView.h index b2ac8ca4..93bdacef 100644 --- a/xcode/CVLayerView.h +++ b/xcode/CVLayerView.h @@ -55,7 +55,6 @@ class CVLayer; - (bool)needPreview; // true if we need to provide a preview, else otherwise - (void)startPreview; // enable preview rendering - (void)stopPreview; // disable preview rendering -- (void)renderPreview; // render the preview frame - (bool)isVisible; // query the layer to check if it's being sent to the Screen or not - (void)activate; /// activate the underlying CVLayer - (void)deactivate; /// deactivate the underlying CVLayer diff --git a/xcode/CVLayerView.mm b/xcode/CVLayerView.mm index e95b0cd7..23424c56 100644 --- a/xcode/CVLayerView.mm +++ b/xcode/CVLayerView.mm @@ -203,13 +203,6 @@ } -- (void)renderPreview -{ - if (layerController) - [layerController renderPreview]; -} - - - (void)mouseDown:(NSEvent *)theEvent { [filterPanel setLayer:layerController]; [filterPanel show]; diff --git a/xcode/CVPreview.h b/xcode/CVPreview.h index 7d27e78f..bc8d65dc 100644 --- a/xcode/CVPreview.h +++ b/xcode/CVPreview.h @@ -30,7 +30,7 @@ IBOutlet CFreej *freej; } -- (void)renderFrame:(Layer *)layer; +- (void)renderFrame:(CVPixelBufferRef)pixelBufferIn; - (void)clear; @end diff --git a/xcode/CVPreview.mm b/xcode/CVPreview.mm index 3770ffde..73d97ea2 100644 --- a/xcode/CVPreview.mm +++ b/xcode/CVPreview.mm @@ -135,72 +135,50 @@ [pool release]; } -- (void)renderFrame:(Layer *)layer +- (void)renderFrame:(CVPixelBufferRef)pixelBufferIn { NSRect frame = [self frame]; NSRect bounds = [self bounds]; float scaleFactor; //CVTexture *textureToRelease = nil; Context *ctx = (Context *)[freej getContext]; - CVPixelBufferRef pixelBufferIn; CIImage *ciImage; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; @synchronized(self) { - layer->lock(); - CVReturn cvRet = CVPixelBufferCreateWithBytes ( - NULL, - layer->geo.w, - layer->geo.h, - k32ARGBPixelFormat, - layer->buffer, - layer->geo.w*4, - NULL, - NULL, - NULL, - &pixelBufferIn - ); - if (cvRet == kCVReturnSuccess) { - CIImage *inputImage = [CIImage imageWithCVImageBuffer:pixelBufferIn]; + CIImage *inputImage = [CIImage imageWithCVImageBuffer:pixelBufferIn]; - NSAffineTransform *scaleTransform = [NSAffineTransform transform]; + NSAffineTransform *scaleTransform = [NSAffineTransform transform]; - scaleFactor = frame.size.height/ctx->screen->geo.h; - [scaleTransform scaleBy:scaleFactor]; - CIFilter *scaleFilter = [CIFilter filterWithName:@"CIAffineTransform"]; - [scaleFilter setDefaults]; // set the filter to its default values + scaleFactor = frame.size.height/ctx->screen->geo.h; + [scaleTransform scaleBy:scaleFactor]; + CIFilter *scaleFilter = [CIFilter filterWithName:@"CIAffineTransform"]; + [scaleFilter setDefaults]; // set the filter to its default values - [scaleFilter setValue:scaleTransform forKey:@"inputTransform"]; - [scaleFilter setValue:inputImage forKey:@"inputImage"]; + [scaleFilter setValue:scaleTransform forKey:@"inputTransform"]; + [scaleFilter setValue:inputImage forKey:@"inputImage"]; - CIImage *previewImage = [scaleFilter valueForKey:@"outputImage"]; - // output the downscaled frame in the preview window - // XXX - I'm not sure we really need locking here + CIImage *previewImage = [scaleFilter valueForKey:@"outputImage"]; + // output the downscaled frame in the preview window + // XXX - I'm not sure we really need locking here - CGRect imageRect = CGRectMake(NSMinX(bounds), NSMinY(bounds), - NSWidth(bounds), NSHeight(bounds)); - if( kCGLNoError != CGLLockContext((CGLContextObj)[[self openGLContext] CGLContextObj]) ) - return; + CGRect imageRect = CGRectMake(NSMinX(bounds), NSMinY(bounds), + NSWidth(bounds), NSHeight(bounds)); + if( kCGLNoError != CGLLockContext((CGLContextObj)[[self openGLContext] CGLContextObj]) ) + return; - CGPoint origin; + CGPoint origin; - origin.x = (frame.size.width-(ctx->screen->geo.w * scaleFactor))/2; - origin.y = (frame.size.height-(ctx->screen->geo.h * scaleFactor))/2; - [ciContext drawImage:previewImage - atPoint: origin - fromRect: imageRect]; - //[self drawRect:NSZeroRect]; - CGLUnlockContext((CGLContextObj)[[self openGLContext] CGLContextObj]); - - [self setNeedsDisplay:YES]; - //if (textureToRelease) - // [textureToRelease release]; - CVPixelBufferRelease(pixelBufferIn); - } - layer->unlock(); + origin.x = (frame.size.width-(ctx->screen->geo.w * scaleFactor))/2; + origin.y = (frame.size.height-(ctx->screen->geo.h * scaleFactor))/2; + [ciContext drawImage:previewImage + atPoint: origin + fromRect: imageRect]; + //[self drawRect:NSZeroRect]; + CGLUnlockContext((CGLContextObj)[[self openGLContext] CGLContextObj]); + [self setNeedsDisplay:YES]; } - [pool release]; } diff --git a/xcode/CVQtLayerController.h b/xcode/CVQtLayerController.h index 055ca149..27726606 100644 --- a/xcode/CVQtLayerController.h +++ b/xcode/CVQtLayerController.h @@ -37,7 +37,6 @@ #endif uint64_t lastPTS; bool isPlaying; - bool wantsRepeat; } - (BOOL)setQTMovie:(QTMovie *)movie; - (void)unloadMovie; @@ -46,7 +45,6 @@ - (void)setTime:(QTTime)inTime; - (BOOL)togglePlay; - (void)task; -- (void)setRepeat:(BOOL)repeat; @end #endif diff --git a/xcode/CVQtLayerController.mm b/xcode/CVQtLayerController.mm index 8b2123a6..476202cb 100644 --- a/xcode/CVQtLayerController.mm +++ b/xcode/CVQtLayerController.mm @@ -286,9 +286,7 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, #endif nil] error:nil]; - - // rendering (aka: applying filters) is now done in getTexture() - // implemented in CVLayerController (our parent) + // provide the frame to lower layers [self feedFrame:newPixelBuffer]; rv = YES; #else @@ -301,9 +299,10 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, // rendering (aka: applying filters) is now done in getTexture() // implemented in CVLayerView (our parent) - - [self feedFrame:newPixelBuffer]; - rv = YES; + if (newPixelBuffeR) { + [self feedFrame:newPixelBuffer]; + rv = YES; + } } #endif [lock unlock]; @@ -316,8 +315,8 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, return rv; } - -- (CVReturn)renderFrame +// we fetch the image from QTKit just when asked from upper layers +- (CVPixelBufferRef)currentFrame { NSAutoreleasePool *pool = nil; @@ -329,7 +328,7 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, else rv = kCVReturnError; [pool release]; - return [super renderFrame]; + return [super currentFrame]; } - (void)task @@ -349,11 +348,6 @@ static OSStatus SetNumberValue(CFMutableDictionaryRef inDict, return true; } -- (void)setRepeat:(BOOL)repeat -{ - wantsRepeat = repeat; -} - //@synthesize qtMovie; //#endif // no __x86_64 diff --git a/xcode/CVQtLayerView.mm b/xcode/CVQtLayerView.mm index 3dd13c8f..7eef53e8 100644 --- a/xcode/CVQtLayerView.mm +++ b/xcode/CVQtLayerView.mm @@ -96,8 +96,10 @@ - (IBAction)toggleRepeat:(id)sender { - [(CVQtLayerController *)layerController setRepeat: - ([repeatButton state] == NSOnState)?YES:NO]; + if ([sender state] == NSOnState) + [(CVQtLayerController *)layerController setRepeat:YES]; + else + [(CVQtLayerController *)layerController setRepeat:NO]; } @end diff --git a/xcode/CVTextLayerController.mm b/xcode/CVTextLayerController.mm index 78df762f..9fa0f142 100644 --- a/xcode/CVTextLayerController.mm +++ b/xcode/CVTextLayerController.mm @@ -29,7 +29,7 @@ return [super init]; } -- (CVReturn)renderFrame +- (CVPixelBufferRef)currentFrame { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; Context *ctx = [freej getContext]; @@ -62,9 +62,8 @@ needsNewFrame = NO; } [lock unlock]; - //[self renderPreview]; [pool release]; - return [super renderFrame]; + return [super currentFrame]; } - (IBAction)setText:(NSString *)theText withAttributes:(NSDictionary *)attributes diff --git a/xcode/English.lproj/MainMenu.nib/designable.nib b/xcode/English.lproj/MainMenu.nib/designable.nib index 654fcd60..5d55ed3d 100644 --- a/xcode/English.lproj/MainMenu.nib/designable.nib +++ b/xcode/English.lproj/MainMenu.nib/designable.nib @@ -12,8 +12,8 @@ YES + - YES @@ -4930,48 +4930,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {{0, 0}, {1440, 878}} {1.79769e+308, 1.79769e+308} - - - -2147483392 - {430, 307} - 2 - 103 - YES - - -2079981824 - 131072 - - - - - - 3 - 50 - 0.0 - 0.0 - 0.0 - 0 - 1 - NO - NO - - - - - -2147483392 - {60, 18} - 2 - YES - - 67239424 - 4194304 - Param4 - - - - - - @@ -6408,22 +6366,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 3266 - - - nextKeyView - - - - 3287 - - - - setFilterParameter: - - - - 3291 - activeFilters @@ -6512,6 +6454,54 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 3307 + + + toggleRepeat: + + + + 3308 + + + + toggleRepeat: + + + + 3309 + + + + toggleRepeat: + + + + 3310 + + + + toggleRepeat: + + + + 3311 + + + + toggleRepeat: + + + + 3312 + + + + toggleRepeat: + + + + 3313 + @@ -8360,7 +8350,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 2824 - Grabber Controller + Grabber 2825 @@ -9451,34 +9441,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - - 3269 - - - YES - - - - - - 3280 - - - - - 3267 - - - YES - - - - - - 3282 - - - @@ -10042,14 +10004,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 3231.IBPluginDependency 3264.IBPluginDependency 3265.IBPluginDependency - 3267.IBEditorWindowLastContentRect - 3267.IBPluginDependency - 3267.ImportedFromIB2 - 3269.IBEditorWindowLastContentRect - 3269.IBPluginDependency - 3269.ImportedFromIB2 - 3280.IBPluginDependency - 3282.IBPluginDependency 344.IBPluginDependency 345.IBPluginDependency 346.IBPluginDependency @@ -10976,14 +10930,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{42, 781}, {60, 18}} - com.apple.InterfaceBuilder.CocoaPlugin - - {{63, 469}, {430, 307}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -11065,7 +11011,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - 3307 + 3313 @@ -11346,11 +11292,13 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES close: open: + toggleRepeat: YES id id + id @@ -11359,6 +11307,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES close: open: + toggleRepeat: YES @@ -11370,6 +11319,10 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA open: id + + toggleRepeat: + id + @@ -11423,7 +11376,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA CVFilterPanel - + IBProjectSource CVFilterPanel.h @@ -11519,51 +11472,12 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - + CVGrabber QTCaptureDecompressedVideoOutput - - YES - - YES - captureSize - freej - grabberController - - - YES - NSPopUpButton - CFreej - CVGrabberController - - - - YES - - YES - captureSize - freej - grabberController - - - YES - - captureSize - NSPopUpButton - - - freej - CFreej - - - grabberController - CVGrabberController - - - - + IBProjectSource CVGrabber.h @@ -11571,7 +11485,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA CVGrabberController CVLayerController - + CVGrabberView @@ -12296,21 +12210,21 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSApplication NSResponder - + IBFrameworkSource AppKit.framework/Headers/NSApplication.h NSApplication - + IBFrameworkSource AppKit.framework/Headers/NSApplicationScripting.h NSApplication - + IBFrameworkSource AppKit.framework/Headers/NSColorPanel.h @@ -12379,7 +12293,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSControl NSView - + IBFrameworkSource AppKit.framework/Headers/NSControl.h @@ -12532,7 +12446,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSMenu NSObject - + IBFrameworkSource AppKit.framework/Headers/NSMenu.h @@ -12540,7 +12454,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSMenuItem NSObject - + IBFrameworkSource AppKit.framework/Headers/NSMenuItem.h @@ -12570,19 +12484,19 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSObject - + NSObject - + NSObject - + NSObject - + NSObject @@ -12621,7 +12535,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSObject - + NSObject @@ -12653,7 +12567,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSObject - + IBFrameworkSource AppKit.framework/Headers/NSTableView.h @@ -12667,7 +12581,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSObject - + IBFrameworkSource AppKit.framework/Headers/NSView.h @@ -12814,7 +12728,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSObject - + IBFrameworkSource QTKit.framework/Headers/QTCaptureDecompressedVideoOutput.h @@ -12849,7 +12763,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSObject - + IBFrameworkSource QTKit.framework/Headers/QTMovieView.h @@ -13005,7 +12919,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSTableView NSControl - + NSText @@ -13048,7 +12962,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSView - + NSView @@ -13060,7 +12974,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSView NSResponder - + NSWindow @@ -13106,7 +13020,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA QTCaptureDecompressedVideoOutput QTCaptureOutput - + QTCaptureOutput @@ -13270,7 +13184,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - + diff --git a/xcode/English.lproj/MainMenu.nib/keyedobjects.nib b/xcode/English.lproj/MainMenu.nib/keyedobjects.nib index 61a93549b32f13be023f0bd317f27a896d1cf487..bde3a25cc3240ab2c9d46c47a6ef5b27a958940d 100644 GIT binary patch literal 136844 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 literal 137470 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%0AEwTiWv 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