diff --git a/App/English.lproj/MainMenu.xib b/App/English.lproj/MainMenu.xib
index da471315..de57dc3f 100644
--- a/App/English.lproj/MainMenu.xib
+++ b/App/English.lproj/MainMenu.xib
@@ -13,8 +13,9 @@
+
@@ -8526,6 +8541,22 @@
1796
+
+
+
+ menu
+
+
+
+ 1803
+
@@ -11965,6 +11996,21 @@
+
+ 1798
+
+
+ YES
+
+
+
+ Search Menu
+
+
+ 1799
+
+
+
@@ -12142,6 +12188,9 @@
1788.IBPluginDependency
1789.IBPluginDependency
1793.IBPluginDependency
+ 1798.IBEditorWindowLastContentRect
+ 1798.IBPluginDependency
+ 1799.IBPluginDependency
19.IBPluginDependency
19.ImportedFromIB2
195.IBPluginDependency
@@ -12709,12 +12758,15 @@
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- {{655, 716}, {218, 73}}
+ {{656, 716}, {218, 73}}
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+ {{62, 822}, {137, 23}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -12740,7 +12792,7 @@
com.apple.InterfaceBuilder.CocoaPlugin
- {{561, 526}, {247, 263}}
+ {{562, 526}, {247, 263}}
com.apple.InterfaceBuilder.CocoaPlugin
{{187, 434}, {243, 243}}
@@ -12771,7 +12823,7 @@
com.apple.InterfaceBuilder.CocoaPlugin
- {{808, 526}, {194, 83}}
+ {{809, 526}, {194, 83}}
com.apple.InterfaceBuilder.CocoaPlugin
{{608, 612}, {241, 103}}
@@ -12781,11 +12833,11 @@
com.apple.InterfaceBuilder.CocoaPlugin
- {{711, 646}, {194, 143}}
+ {{712, 646}, {194, 143}}
com.apple.InterfaceBuilder.CocoaPlugin
{{525, 802}, {197, 73}}
- {{375, 789}, {468, 20}}
+ {{376, 789}, {468, 20}}
com.apple.InterfaceBuilder.CocoaPlugin
{74, 862}
@@ -13120,7 +13172,7 @@
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
- {{519, 686}, {175, 103}}
+ {{520, 686}, {175, 103}}
com.apple.InterfaceBuilder.CocoaPlugin
{{145, 474}, {199, 203}}
@@ -13149,7 +13201,7 @@
- 1797
+ 1803
@@ -13517,14 +13569,14 @@
NSView
-
+
IBProjectSource
Externals/google-toolbox-for-mac/AppKit/GTMTheme.h
NSWindow
-
+
PictureEditor
diff --git a/App/src/PresetsWindowController.m b/App/src/PresetsWindowController.m
index 17990a45..3b38dbd9 100644
--- a/App/src/PresetsWindowController.m
+++ b/App/src/PresetsWindowController.m
@@ -73,16 +73,21 @@ - (void)dealloc
- (void)awakeFromNib
{
- [segmentedControl setKeyEquivalent:@"+" forSegment:0];
+ // cmd + N
+ [segmentedControl setKeyEquivalent:@"N" forSegment:0];
+ [segmentedControl setKeyEquivalentModifierMask:NSCommandKeyMask forSegment:0];
+ // cmd + backspace
const unichar back = NSDeleteCharacter;
NSString* back2 = [NSString stringWithCharacters:&back length:1];
[segmentedControl setKeyEquivalent:back2 forSegment:1];
[segmentedControl setKeyEquivalentModifierMask:NSCommandKeyMask forSegment:1];
+ // shift + cmd + A
[segmentedControl setKeyEquivalent:@"A" forSegment:2];
[segmentedControl setKeyEquivalentModifierMask:NSShiftKeyMask|NSCommandKeyMask forSegment:2];
+
NSArray* sorters = [presetsController sortDescriptors];
if(sorters == nil || [sorters count] == 0)
{
diff --git a/MetaZ.xcodeproj/project.pbxproj b/MetaZ.xcodeproj/project.pbxproj
index 65338ec7..e7dc5c81 100644
--- a/MetaZ.xcodeproj/project.pbxproj
+++ b/MetaZ.xcodeproj/project.pbxproj
@@ -73,6 +73,9 @@
1B20209B10B36EC200EE548A /* VideoType.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1B20209910B36EC200EE548A /* VideoType.strings */; };
1B42F21C10DD5D5D00AFEBF6 /* UKDockProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B42F21B10DD5D5D00AFEBF6 /* UKDockProgressIndicator.m */; };
1B42F21F10DD5D6D00AFEBF6 /* MiniProgressGradient.png in Resources */ = {isa = PBXBuildFile; fileRef = 1B42F21D10DD5D6D00AFEBF6 /* MiniProgressGradient.png */; };
+ 1B42F26D10DEB11E00AFEBF6 /* MetaZKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BA325C410545ACA00276F57 /* MetaZKit.framework */; };
+ 1B42F27210DEB14B00AFEBF6 /* RubyCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B11A00610457B0D004C93D3 /* RubyCocoa.framework */; };
+ 1B42F2B710DEB4A200AFEBF6 /* IMDBPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B42F2B610DEB4A200AFEBF6 /* IMDBPlugin.m */; };
1B44949910D57D6900B9C751 /* AtomicParsley in Resources */ = {isa = PBXBuildFile; fileRef = 1B44949810D57D6900B9C751 /* AtomicParsley */; };
1B44956D10D6118F00B9C751 /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B44956C10D6118F00B9C751 /* Growl.framework */; };
1B44957A10D611AA00B9C751 /* Growl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1B44956C10D6118F00B9C751 /* Growl.framework */; };
@@ -255,6 +258,20 @@
remoteGlobalIDString = 1B2022F810B393CA00EE548A;
remoteInfo = "Plist Marcos";
};
+ 1B42F25F10DEB0DC00AFEBF6 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 1BA325C310545ACA00276F57 /* MetaZKit */;
+ remoteInfo = MetaZKit;
+ };
+ 1B42F26110DEB0E900AFEBF6 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 1B2022F810B393CA00EE548A /* Plist Marcos */;
+ remoteInfo = "Plist Marcos";
+ };
1BA325CB10545BAE00276F57 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
@@ -394,6 +411,10 @@
1B42F21A10DD5D5D00AFEBF6 /* UKDockProgressIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UKDockProgressIndicator.h; path = Externals/UKDockProgressIndicator/UKDockProgressIndicator.h; sourceTree = ""; };
1B42F21B10DD5D5D00AFEBF6 /* UKDockProgressIndicator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UKDockProgressIndicator.m; path = Externals/UKDockProgressIndicator/UKDockProgressIndicator.m; sourceTree = ""; };
1B42F21E10DD5D6D00AFEBF6 /* English */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = English; path = Externals/UKDockProgressIndicator/English.lproj/MiniProgressGradient.png; sourceTree = ""; };
+ 1B42F25810DEB0D300AFEBF6 /* IMDBPlugin.mzplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IMDBPlugin.mzplugin; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1B42F25910DEB0D300AFEBF6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Plugins/IMDB/Info.plist; sourceTree = ""; };
+ 1B42F2B510DEB4A200AFEBF6 /* IMDBPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMDBPlugin.h; sourceTree = ""; };
+ 1B42F2B610DEB4A200AFEBF6 /* IMDBPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IMDBPlugin.m; sourceTree = ""; };
1B44949810D57D6900B9C751 /* AtomicParsley */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = AtomicParsley; path = Plugins/AtomicParsley/resources/AtomicParsley; sourceTree = ""; };
1B4494BC10D584E000B9C751 /* next_release.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = next_release.txt; path = Release/next_release.txt; sourceTree = ""; };
1B44956C10D6118F00B9C751 /* Growl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Growl.framework; path = Externals/Growl.framework; sourceTree = ""; };
@@ -825,6 +846,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 1B42F25610DEB0D300AFEBF6 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1B42F26D10DEB11E00AFEBF6 /* MetaZKit.framework in Frameworks */,
+ 1B42F27210DEB14B00AFEBF6 /* RubyCocoa.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
1BA325C210545ACA00276F57 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -948,6 +978,7 @@
1B040EBE1081B3C00027FA0D /* TagChimp.mzplugin */,
1B032F6710B0C12100B28E3A /* AmazonPlugin.mzplugin */,
1B03304310B0CD3C00B28E3A /* MetaZKitTest.octest */,
+ 1B42F25810DEB0D300AFEBF6 /* IMDBPlugin.mzplugin */,
);
name = Products;
sourceTree = "";
@@ -1037,6 +1068,33 @@
name = UKDockProgressIndicator;
sourceTree = "";
};
+ 1B42F23B10DEB05000AFEBF6 /* IMDB */ = {
+ isa = PBXGroup;
+ children = (
+ 1B42F23C10DEB07B00AFEBF6 /* Classes */,
+ 1B42F23D10DEB08300AFEBF6 /* Resources */,
+ );
+ name = IMDB;
+ sourceTree = "";
+ };
+ 1B42F23C10DEB07B00AFEBF6 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 1B42F2B510DEB4A200AFEBF6 /* IMDBPlugin.h */,
+ 1B42F2B610DEB4A200AFEBF6 /* IMDBPlugin.m */,
+ );
+ name = Classes;
+ path = Plugins/IMDB/src;
+ sourceTree = "";
+ };
+ 1B42F23D10DEB08300AFEBF6 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 1B42F25910DEB0D300AFEBF6 /* Info.plist */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
1B449CEE10DCCAD500B9C751 /* External Sources */ = {
isa = PBXGroup;
children = (
@@ -1504,6 +1562,7 @@
1BEA6E68106EF248004B1A7F /* Plugins */ = {
isa = PBXGroup;
children = (
+ 1B42F23B10DEB05000AFEBF6 /* IMDB */,
1B032F5410B0BDAC00B28E3A /* Amazon */,
1B040EA81081B3860027FA0D /* TagChimp */,
1BEA6E69106EF251004B1A7F /* AtomicParsley */,
@@ -1719,6 +1778,25 @@
productReference = 1B040EBE1081B3C00027FA0D /* TagChimp.mzplugin */;
productType = "com.apple.product-type.bundle";
};
+ 1B42F25710DEB0D300AFEBF6 /* IMDB */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1B42F25E10DEB0D400AFEBF6 /* Build configuration list for PBXNativeTarget "IMDB" */;
+ buildPhases = (
+ 1B42F25410DEB0D300AFEBF6 /* Resources */,
+ 1B42F25510DEB0D300AFEBF6 /* Sources */,
+ 1B42F25610DEB0D300AFEBF6 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 1B42F26010DEB0DC00AFEBF6 /* PBXTargetDependency */,
+ 1B42F26210DEB0E900AFEBF6 /* PBXTargetDependency */,
+ );
+ name = IMDB;
+ productName = IMDBPlugin;
+ productReference = 1B42F25810DEB0D300AFEBF6 /* IMDBPlugin.mzplugin */;
+ productType = "com.apple.product-type.bundle";
+ };
1BA325C310545ACA00276F57 /* MetaZKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1BA325C810545ACB00276F57 /* Build configuration list for PBXNativeTarget "MetaZKit" */;
@@ -1828,6 +1906,7 @@
1B032F6610B0C12100B28E3A /* Amazon */,
1B03304210B0CD3C00B28E3A /* MetaZKitTest */,
1B2022F810B393CA00EE548A /* Plist Marcos */,
+ 1B42F25710DEB0D300AFEBF6 /* IMDB */,
);
};
/* End PBXProject section */
@@ -1855,6 +1934,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 1B42F25410DEB0D300AFEBF6 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
1BA325C010545ACA00276F57 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -2050,6 +2136,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 1B42F25510DEB0D300AFEBF6 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1B42F2B710DEB4A200AFEBF6 /* IMDBPlugin.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
1BA325C110545ACA00276F57 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -2187,6 +2281,16 @@
target = 1B2022F810B393CA00EE548A /* Plist Marcos */;
targetProxy = 1B2023A610B3960A00EE548A /* PBXContainerItemProxy */;
};
+ 1B42F26010DEB0DC00AFEBF6 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 1BA325C310545ACA00276F57 /* MetaZKit */;
+ targetProxy = 1B42F25F10DEB0DC00AFEBF6 /* PBXContainerItemProxy */;
+ };
+ 1B42F26210DEB0E900AFEBF6 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 1B2022F810B393CA00EE548A /* Plist Marcos */;
+ targetProxy = 1B42F26110DEB0E900AFEBF6 /* PBXContainerItemProxy */;
+ };
1BA325CC10545BAE00276F57 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 1BA325C310545ACA00276F57 /* MetaZKit */;
@@ -2508,6 +2612,78 @@
};
name = Release;
};
+ 1B42F25B10DEB0D400AFEBF6 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
+ INFOPLIST_FILE = Plugins/IMDB/Info.plist;
+ INSTALL_PATH = "$(HOME)/Library/Bundles";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = IMDBPlugin;
+ WRAPPER_EXTENSION = mzplugin;
+ };
+ name = Debug;
+ };
+ 1B42F25C10DEB0D400AFEBF6 /* Remote Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
+ INFOPLIST_FILE = Plugins/IMDB/Info.plist;
+ INSTALL_PATH = "$(HOME)/Library/Bundles";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = IMDBPlugin;
+ WRAPPER_EXTENSION = mzplugin;
+ };
+ name = "Remote Debug";
+ };
+ 1B42F25D10DEB0D400AFEBF6 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
+ INFOPLIST_FILE = Plugins/IMDB/Info.plist;
+ INSTALL_PATH = "$(HOME)/Library/Bundles";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Foundation,
+ "-framework",
+ AppKit,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = IMDBPlugin;
+ WRAPPER_EXTENSION = mzplugin;
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
1B44937E10C95B0A00B9C751 /* Remote Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -2953,6 +3129,16 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 1B42F25E10DEB0D400AFEBF6 /* Build configuration list for PBXNativeTarget "IMDB" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1B42F25B10DEB0D400AFEBF6 /* Debug */,
+ 1B42F25C10DEB0D400AFEBF6 /* Remote Debug */,
+ 1B42F25D10DEB0D400AFEBF6 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
1BA325C810545ACB00276F57 /* Build configuration list for PBXNativeTarget "MetaZKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/Plugins/Amazon/Info.plist b/Plugins/Amazon/Info.plist
index 77d0ded6..cb039cff 100644
--- a/Plugins/Amazon/Info.plist
+++ b/Plugins/Amazon/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
${EXECUTABLE_NAME}
CFBundleIdentifier
- org.maven-group.metaz.${PRODUCT_NAME:identifier}
+ org.maven-group.metaz.${PRODUCT_NAME:rfc1034identifier}
CFBundleInfoDictionaryVersion
6.0
CFBundlePackageType
diff --git a/Plugins/AtomicParsley/src/APDataProvider.h b/Plugins/AtomicParsley/src/APDataProvider.h
index 28b2a960..6a0448ff 100644
--- a/Plugins/AtomicParsley/src/APDataProvider.h
+++ b/Plugins/AtomicParsley/src/APDataProvider.h
@@ -19,6 +19,8 @@
NSMutableArray* writes;
}
++ (void)logFromPipe:(NSPipe *)pipe;
++ (int)testReadFile:(NSString *)filePath;
+ (int)removeChaptersFromFile:(NSString *)filePath;
+ (int)importChaptersFromFile:(NSString *)chaptersFile toFile:(NSString *)filePath;
diff --git a/Plugins/AtomicParsley/src/APDataProvider.m b/Plugins/AtomicParsley/src/APDataProvider.m
index 90899300..11c64cce 100644
--- a/Plugins/AtomicParsley/src/APDataProvider.m
+++ b/Plugins/AtomicParsley/src/APDataProvider.m
@@ -20,13 +20,40 @@ - (NSString *)launchChapsPath;
@implementation APDataProvider
++ (void)logFromPipe:(NSPipe *)pipe
+{
+ NSData* data = [[pipe fileHandleForReading] readDataToEndOfFile];
+ NSString* str = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
+ MZLoggerDebug(@"Read from program: %@", str);
+}
+
++ (int)testReadFile:(NSString *)filePath
+{
+ NSTask* task = [[NSTask alloc] init];
+ [task setLaunchPath:[self launchChapsPath]];
+ [task setArguments:[NSArray arrayWithObjects:@"-l", filePath, nil]];
+ NSPipe* err = [NSPipe pipe];
+ [task setStandardError:err];
+ [task setStandardOutput:err];
+ [task launch];
+ [task waitUntilExit];
+ [self logFromPipe:err];
+ int ret = [task terminationStatus];
+ [task release];
+ return ret;
+}
+
+ (int)removeChaptersFromFile:(NSString *)filePath
{
NSTask* task = [[NSTask alloc] init];
[task setLaunchPath:[self launchChapsPath]];
[task setArguments:[NSArray arrayWithObjects:@"-r", filePath, nil]];
+ NSPipe* err = [NSPipe pipe];
+ [task setStandardError:err];
+ [task setStandardOutput:err];
[task launch];
[task waitUntilExit];
+ [self logFromPipe:err];
int ret = [task terminationStatus];
[task release];
return ret;
@@ -38,8 +65,12 @@ + (int)importChaptersFromFile:(NSString *)chaptersFile toFile:(NSString *)filePa
NSTask* task = [[NSTask alloc] init];
[task setLaunchPath:[self launchChapsPath]];
[task setArguments:[NSArray arrayWithObjects:@"--import", chaptersFile, filePath, nil]];
+ NSPipe* err = [NSPipe pipe];
+ [task setStandardError:err];
+ [task setStandardOutput:err];
[task launch];
[task waitUntilExit];
+ [self logFromPipe:err];
int ret = [task terminationStatus];
[task release];
return ret;
@@ -388,10 +419,14 @@ - (MetaLoaded *)loadFromFile:(NSString *)fileName
[task setArguments:[NSArray arrayWithObjects:fileName, @"-t", nil]];
NSPipe* out = [NSPipe pipe];
[task setStandardOutput:out];
+ NSPipe* err = [NSPipe pipe];
+ [task setStandardError:err];
[task launch];
NSData* data = [[out fileHandleForReading] readDataToEndOfFile];
[task waitUntilExit];
+ [APDataProvider logFromPipe:err];
+
int status = [task terminationStatus];
[task release];
if (status != 0)
@@ -581,10 +616,13 @@ - (MetaLoaded *)loadFromFile:(NSString *)fileName
[task setArguments:[NSArray arrayWithObjects:@"-l", fileName, nil]];
NSPipe* out = [NSPipe pipe];
[task setStandardOutput:out];
+ NSPipe* err = [NSPipe pipe];
+ [task setStandardError:err];
[task launch];
NSData* data = [[out fileHandleForReading] readDataToEndOfFile];
[task waitUntilExit];
+ [APDataProvider logFromPipe:err];
int chapStatus = [task terminationStatus];
[task release];
diff --git a/Plugins/AtomicParsley/src/APWriteManager.h b/Plugins/AtomicParsley/src/APWriteManager.h
index 2bf1920e..4696fac1 100644
--- a/Plugins/AtomicParsley/src/APWriteManager.h
+++ b/Plugins/AtomicParsley/src/APWriteManager.h
@@ -18,6 +18,7 @@
MetaEdits* edits;
id delegate;
APDataProvider* provider;
+ NSPipe* err;
}
@property(readonly) NSTask* task;
@property(readonly) id delegate;
diff --git a/Plugins/AtomicParsley/src/APWriteManager.m b/Plugins/AtomicParsley/src/APWriteManager.m
index 53282569..a9980593 100644
--- a/Plugins/AtomicParsley/src/APWriteManager.m
+++ b/Plugins/AtomicParsley/src/APWriteManager.m
@@ -62,6 +62,7 @@ - (void)dealloc
[delegate release];
[edits release];
[pictureFile release];
+ [err release];
[super dealloc];
}
@@ -80,6 +81,8 @@ - (void)start
name:NSTaskDidTerminateNotification
object:task];
MZLoggerDebug(@"Starting write %@", [[task arguments] componentsJoinedByString:@" "]);
+ err = [[NSPipe alloc] init];
+ [task setStandardError:err];
[[[task standardOutput] fileHandleForReading] readInBackgroundAndNotify];
[task launch];
if([delegate respondsToSelector:@selector(dataProvider:controller:writeStartedForEdits:)])
@@ -112,6 +115,7 @@ - (void)cancel
- (void)taskTerminated:(NSNotification *)note
{
+ [APDataProvider logFromPipe:err];
NSError* error = nil;
NSError* tempError = nil;
@@ -163,7 +167,9 @@ - (void)taskTerminated:(NSNotification *)note
else
fileName = [edits loadedFileName];
- if(chaptersFile)
+ status = [APDataProvider testReadFile:fileName];
+
+ if(chaptersFile && status == 0)
{
if([chaptersFile isEqualToString:@""])
status = [APDataProvider removeChaptersFromFile:fileName];
@@ -176,15 +182,15 @@ - (void)taskTerminated:(NSNotification *)note
tempError = nil;
}
}
- if(status != 0)
- {
- NSDictionary* dict = [NSDictionary dictionaryWithObject:
- [NSString stringWithFormat:
- NSLocalizedString(@"mp4chaps failed with exit code %d", @"Write failed error"),
- status]
- forKey:NSLocalizedDescriptionKey];
- error = [NSError errorWithDomain:@"AtomicParsleyPlugin" code:status userInfo:dict];
- }
+ }
+ if(status != 0)
+ {
+ NSDictionary* dict = [NSDictionary dictionaryWithObject:
+ [NSString stringWithFormat:
+ NSLocalizedString(@"mp4chaps failed with exit code %d", @"Write failed error"),
+ status]
+ forKey:NSLocalizedDescriptionKey];
+ error = [NSError errorWithDomain:@"AtomicParsleyPlugin" code:status userInfo:dict];
}
if(error)
diff --git a/Plugins/IMDB/Info.plist b/Plugins/IMDB/Info.plist
new file mode 100644
index 00000000..b32e4c2a
--- /dev/null
+++ b/Plugins/IMDB/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleExecutable
+ ${EXECUTABLE_NAME}
+ CFBundleIdentifier
+ org.maven-group.metaz.${PRODUCT_NAME:rfc1034identifier}
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ RELEASE
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ BUILDDATE
+ NSPrincipalClass
+ IMDBPlugin
+ BuildId
+ BUILDID
+
+
diff --git a/Plugins/IMDB/src/IMDBPlugin.h b/Plugins/IMDB/src/IMDBPlugin.h
new file mode 100644
index 00000000..252d4742
--- /dev/null
+++ b/Plugins/IMDB/src/IMDBPlugin.h
@@ -0,0 +1,16 @@
+//
+// IMDBPlugin.h
+// MetaZ
+//
+// Created by Brian Olsen on 20/12/09.
+// Copyright 2009 Maven-Group. All rights reserved.
+//
+
+#import
+#import
+
+@interface IMDBPlugin : MZPlugin
+{
+}
+
+@end
diff --git a/Plugins/IMDB/src/IMDBPlugin.m b/Plugins/IMDB/src/IMDBPlugin.m
new file mode 100644
index 00000000..aebae202
--- /dev/null
+++ b/Plugins/IMDB/src/IMDBPlugin.m
@@ -0,0 +1,14 @@
+//
+// IMDBPlugin.m
+// MetaZ
+//
+// Created by Brian Olsen on 20/12/09.
+// Copyright 2009 Maven-Group. All rights reserved.
+//
+
+#import "IMDBPlugin.h"
+
+
+@implementation IMDBPlugin
+
+@end