// // main.m // FaceCrop // // Created by Andrew Salamon on 10/9/06. // Copyright Machine Perception Laboratory, University of California San Diego. 2006. All rights reserved. // #import #include #import "FaceCropController.h" int main(int argc, char *argv[]) { int returnCode = 0; if( 1 == argc ) { return NSApplicationMain(argc, (const char **) argv); } else if( 2 == argc ) { // When running from the finder, argc is 2, and arg2 is set to the process number? if( !strncmp( "-psn", argv[1], 4 ) ) { return NSApplicationMain(argc, (const char **) argv); } else { NSLog( @"Wrong number of arguments.\nUsage: FaceCrop " ); return 10; } } else { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; if( 3 == argc ) { NSString *source = [NSString stringWithUTF8String:argv[1]]; NSString *dest = [NSString stringWithUTF8String:argv[2]]; if( [source length] && [dest length] ) { FaceCropController *controller = [[FaceCropController alloc] init]; [controller awakeFromNib]; if( [controller processFolder:source into:dest] ) { returnCode = 0; } else { NSLog( @"Error trying to process %@ into %@.", source, dest ); returnCode = 1; } } else { NSLog( @"Invalid source or destination.\nUsage: FaceCrop " ); returnCode = 2; } } else { NSLog( @"Wrong number of arguments.\nUsage: FaceCrop " ); returnCode = 3; } [pool release]; } return returnCode; }