More modernization
This commit is contained in:
parent
e3fb8d3425
commit
41098d6d2d
|
@ -3,7 +3,7 @@
|
||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 46;
|
objectVersion = 54;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
|
@ -26,6 +26,7 @@
|
||||||
950BB7A713F467A400D8E669 /* MAAddMedia.xib in Resources */ = {isa = PBXBuildFile; fileRef = 950BB7A513F467A400D8E669 /* MAAddMedia.xib */; };
|
950BB7A713F467A400D8E669 /* MAAddMedia.xib in Resources */ = {isa = PBXBuildFile; fileRef = 950BB7A513F467A400D8E669 /* MAAddMedia.xib */; };
|
||||||
950BB7AA13F46BAF00D8E669 /* MAAddMediaSheet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7A913F46BAF00D8E669 /* MAAddMediaSheet.mm */; };
|
950BB7AA13F46BAF00D8E669 /* MAAddMediaSheet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7A913F46BAF00D8E669 /* MAAddMediaSheet.mm */; };
|
||||||
950BB7AD13F46ECF00D8E669 /* MAAppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7AC13F46ECF00D8E669 /* MAAppController.mm */; };
|
950BB7AD13F46ECF00D8E669 /* MAAppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7AC13F46ECF00D8E669 /* MAAppController.mm */; };
|
||||||
|
951152732A2C06AA00A56C6C /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 951152722A2C06AA00A56C6C /* CoreMedia.framework */; };
|
||||||
9556F185140426EB00B81D2E /* MAToolbarButton.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9556F184140426EB00B81D2E /* MAToolbarButton.mm */; };
|
9556F185140426EB00B81D2E /* MAToolbarButton.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9556F184140426EB00B81D2E /* MAToolbarButton.mm */; };
|
||||||
958AAE3414052FC600365087 /* DateHypotheses.plist in Resources */ = {isa = PBXBuildFile; fileRef = 958AAE3314052FC600365087 /* DateHypotheses.plist */; };
|
958AAE3414052FC600365087 /* DateHypotheses.plist in Resources */ = {isa = PBXBuildFile; fileRef = 958AAE3314052FC600365087 /* DateHypotheses.plist */; };
|
||||||
95BCFA2113F76A04000F650F /* app.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95BCFA1F13F76A04000F650F /* app.icns */; };
|
95BCFA2113F76A04000F650F /* app.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95BCFA1F13F76A04000F650F /* app.icns */; };
|
||||||
|
@ -81,6 +82,7 @@
|
||||||
950BB7A913F46BAF00D8E669 /* MAAddMediaSheet.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAAddMediaSheet.mm; sourceTree = "<group>"; };
|
950BB7A913F46BAF00D8E669 /* MAAddMediaSheet.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAAddMediaSheet.mm; sourceTree = "<group>"; };
|
||||||
950BB7AB13F46ECF00D8E669 /* MAAppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAAppController.h; sourceTree = "<group>"; };
|
950BB7AB13F46ECF00D8E669 /* MAAppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAAppController.h; sourceTree = "<group>"; };
|
||||||
950BB7AC13F46ECF00D8E669 /* MAAppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAAppController.mm; sourceTree = "<group>"; };
|
950BB7AC13F46ECF00D8E669 /* MAAppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAAppController.mm; sourceTree = "<group>"; };
|
||||||
|
951152722A2C06AA00A56C6C /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
|
||||||
9556F183140426EB00B81D2E /* MAToolbarButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAToolbarButton.h; sourceTree = "<group>"; };
|
9556F183140426EB00B81D2E /* MAToolbarButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAToolbarButton.h; sourceTree = "<group>"; };
|
||||||
9556F184140426EB00B81D2E /* MAToolbarButton.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAToolbarButton.mm; sourceTree = "<group>"; };
|
9556F184140426EB00B81D2E /* MAToolbarButton.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAToolbarButton.mm; sourceTree = "<group>"; };
|
||||||
958AAE3314052FC600365087 /* DateHypotheses.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = DateHypotheses.plist; path = Medianno/Resources/DateHypotheses.plist; sourceTree = "<group>"; };
|
958AAE3314052FC600365087 /* DateHypotheses.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = DateHypotheses.plist; path = Medianno/Resources/DateHypotheses.plist; sourceTree = "<group>"; };
|
||||||
|
@ -118,6 +120,7 @@
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
951152732A2C06AA00A56C6C /* CoreMedia.framework in Frameworks */,
|
||||||
950737F31D5FAA1600737CDE /* AVKit.framework in Frameworks */,
|
950737F31D5FAA1600737CDE /* AVKit.framework in Frameworks */,
|
||||||
950737F11D5FAA0F00737CDE /* AVFoundation.framework in Frameworks */,
|
950737F11D5FAA0F00737CDE /* AVFoundation.framework in Frameworks */,
|
||||||
950BB68F13F1F29D00D8E669 /* CoreData.framework in Frameworks */,
|
950BB68F13F1F29D00D8E669 /* CoreData.framework in Frameworks */,
|
||||||
|
@ -148,6 +151,7 @@
|
||||||
950BB66913F1F26200D8E669 /* Frameworks */ = {
|
950BB66913F1F26200D8E669 /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
951152722A2C06AA00A56C6C /* CoreMedia.framework */,
|
||||||
950737F21D5FAA1600737CDE /* AVKit.framework */,
|
950737F21D5FAA1600737CDE /* AVKit.framework */,
|
||||||
950737F01D5FAA0F00737CDE /* AVFoundation.framework */,
|
950737F01D5FAA0F00737CDE /* AVFoundation.framework */,
|
||||||
950BB68D13F1F29D00D8E669 /* CoreData.framework */,
|
950BB68D13F1F29D00D8E669 /* CoreData.framework */,
|
||||||
|
@ -286,15 +290,17 @@
|
||||||
950BB65D13F1F26200D8E669 /* Project object */ = {
|
950BB65D13F1F26200D8E669 /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 0800;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
|
LastUpgradeCheck = 1500;
|
||||||
ORGANIZATIONNAME = "Matthias Neeracher";
|
ORGANIZATIONNAME = "Matthias Neeracher";
|
||||||
};
|
};
|
||||||
buildConfigurationList = 950BB66013F1F26200D8E669 /* Build configuration list for PBXProject "Medianno" */;
|
buildConfigurationList = 950BB66013F1F26200D8E669 /* Build configuration list for PBXProject "Medianno" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
en,
|
en,
|
||||||
|
Base,
|
||||||
);
|
);
|
||||||
mainGroup = 950BB65B13F1F26200D8E669;
|
mainGroup = 950BB65B13F1F26200D8E669;
|
||||||
productRefGroup = 950BB66713F1F26200D8E669 /* Products */;
|
productRefGroup = 950BB66713F1F26200D8E669 /* Products */;
|
||||||
|
@ -438,18 +444,32 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEAD_CODE_STRIPPING = YES;
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||||
|
@ -478,18 +498,32 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_COMMA = YES;
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
COPY_PHASE_STRIP = YES;
|
COPY_PHASE_STRIP = YES;
|
||||||
|
DEAD_CODE_STRIPPING = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
@ -510,10 +544,11 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
GCC_ENABLE_OBJC_GC = unsupported;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
|
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
|
||||||
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
|
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 12.4;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "org.aereperennius.${PRODUCT_NAME:rfc1034identifier}";
|
PRODUCT_BUNDLE_IDENTIFIER = "org.aereperennius.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
@ -525,10 +560,11 @@
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
GCC_ENABLE_OBJC_GC = unsupported;
|
DEAD_CODE_STRIPPING = YES;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
|
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
|
||||||
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
|
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 12.4;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "org.aereperennius.${PRODUCT_NAME:rfc1034identifier}";
|
PRODUCT_BUNDLE_IDENTIFIER = "org.aereperennius.${PRODUCT_NAME:rfc1034identifier}";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
- (id)transformedValue:(id)value
|
- (id)transformedValue:(id)value
|
||||||
{
|
{
|
||||||
NSURL * mediaURL = [NSURL URLWithString:value];
|
NSURL * mediaURL = [NSURL URLWithString:value];
|
||||||
if ([[AVAsset assetWithURL:mediaURL] isPlayable])
|
if ([AVAsset assetWithURL:mediaURL])
|
||||||
return [NSColor blackColor];
|
return [NSColor blackColor];
|
||||||
else
|
else
|
||||||
return [NSColor redColor];
|
return [NSColor redColor];
|
||||||
|
|
|
@ -24,12 +24,13 @@
|
||||||
IBOutlet NSView * textExportAccessoryView;
|
IBOutlet NSView * textExportAccessoryView;
|
||||||
AVPlayer * currentMovie;
|
AVPlayer * currentMovie;
|
||||||
NSString * currentMovieTitle;
|
NSString * currentMovieTitle;
|
||||||
|
id currentMovieTimeObserver;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property BOOL exportAnnotations;
|
@property BOOL exportAnnotations;
|
||||||
@property BOOL exportTags;
|
@property BOOL exportTags;
|
||||||
@property (nonatomic,retain)NSString * searchString;
|
@property (nonatomic,retain)NSString * searchString;
|
||||||
@property (readonly) NSNumber * currentMovieTime;
|
@property double currentMovieTime;
|
||||||
|
|
||||||
- (IBAction)addMediaFiles:(id)sender;
|
- (IBAction)addMediaFiles:(id)sender;
|
||||||
- (IBAction)importText:(id)sender;
|
- (IBAction)importText:(id)sender;
|
||||||
|
|
|
@ -90,10 +90,17 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
||||||
// Current movie changed
|
// Current movie changed
|
||||||
//
|
//
|
||||||
[self willChangeValueForKey:@"currentMovie"];
|
[self willChangeValueForKey:@"currentMovie"];
|
||||||
|
if (currentMovieTimeObserver) {
|
||||||
|
[currentMovie removeTimeObserver:currentMovieTimeObserver];
|
||||||
|
currentMovieTimeObserver = nil;
|
||||||
|
}
|
||||||
if (MAMedia * currentMedia = [self currentMedia]) {
|
if (MAMedia * currentMedia = [self currentMedia]) {
|
||||||
NSURL * mediaURL = [NSURL URLWithString:[currentMedia media]];
|
NSURL * mediaURL = [NSURL URLWithString:[currentMedia media]];
|
||||||
currentMovie = [AVPlayer playerWithURL:mediaURL];
|
currentMovie = [AVPlayer playerWithURL:mediaURL];
|
||||||
currentMovieTitle = [currentMedia name];
|
currentMovieTitle = [currentMedia name];
|
||||||
|
currentMovieTimeObserver = [currentMovie addPeriodicTimeObserverForInterval:CMTimeMake(1, 1) queue:nil usingBlock:^(CMTime time) {
|
||||||
|
self.currentMovieTime = (double)time.value/time.timescale;
|
||||||
|
}];
|
||||||
} else {
|
} else {
|
||||||
currentMovie = nil;
|
currentMovie = nil;
|
||||||
currentMovieTitle = @"";
|
currentMovieTitle = @"";
|
||||||
|
@ -114,27 +121,15 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (NSSet *)keyPathsForValuesAffectingCurrentMovieTime
|
|
||||||
{
|
|
||||||
return [NSSet setWithObject:@"currentMovie.currentTime"];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSNumber *)currentMovieTime
|
|
||||||
{
|
|
||||||
CMTime time = [currentMovie currentTime];
|
|
||||||
|
|
||||||
return [NSNumber numberWithDouble:(double)time.value/time.timescale];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)addMediaFiles:(id)sender
|
- (IBAction)addMediaFiles:(id)sender
|
||||||
{
|
{
|
||||||
NSOpenPanel * openPanel = [NSOpenPanel openPanel];
|
NSOpenPanel * openPanel = [NSOpenPanel openPanel];
|
||||||
[openPanel setAllowedFileTypes:[AVMovie movieTypes]];
|
[openPanel setAllowedFileTypes:[AVURLAsset audiovisualTypes]];
|
||||||
[openPanel setAllowsMultipleSelection:YES];
|
[openPanel setAllowsMultipleSelection:YES];
|
||||||
[openPanel setCanChooseDirectories:YES];
|
[openPanel setCanChooseDirectories:YES];
|
||||||
[openPanel beginSheetModalForWindow:[self window] completionHandler:^(NSInteger result) {
|
[openPanel beginSheetModalForWindow:[self window] completionHandler:^(NSInteger result) {
|
||||||
[openPanel orderOut:self];
|
[openPanel orderOut:self];
|
||||||
if (result == NSFileHandlingPanelOKButton)
|
if (result == NSModalResponseOK)
|
||||||
[self addMedia:[openPanel URLs]];
|
[self addMedia:[openPanel URLs]];
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
@ -167,7 +162,7 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
||||||
NSNumber * isDirectory;
|
NSNumber * isDirectory;
|
||||||
[url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:nil];
|
[url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:nil];
|
||||||
if ([isDirectory boolValue]) {
|
if ([isDirectory boolValue]) {
|
||||||
[self addMediaTypes:[AVMovie movieTypes] inDirectory:url toList:expandedURLs];
|
[self addMediaTypes:[AVURLAsset audiovisualTypes] inDirectory:url toList:expandedURLs];
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -264,11 +259,12 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
||||||
|
|
||||||
- (IBAction)toggleMediaPlay:(id)sender
|
- (IBAction)toggleMediaPlay:(id)sender
|
||||||
{
|
{
|
||||||
if ([currentMovie rate] > 0.0f)
|
if ([currentMovie rate] > 0.0f) {
|
||||||
[currentMovie pause];
|
[currentMovie pause];
|
||||||
else
|
} else {
|
||||||
[currentMovie play];
|
[currentMovie play];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
|
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,7 +61,14 @@ CFTimeInterval MATimeFromString(NSString * timeStr)
|
||||||
|
|
||||||
- (id)transformedValue:(id)value
|
- (id)transformedValue:(id)value
|
||||||
{
|
{
|
||||||
NSUInteger seconds = [value unsignedIntegerValue];
|
NSUInteger seconds;
|
||||||
|
if (!value) {
|
||||||
|
seconds = 0;
|
||||||
|
} else if ([value isKindOfClass:[NSNumber class]]) {
|
||||||
|
seconds = [value unsignedIntegerValue];
|
||||||
|
} else {
|
||||||
|
seconds = MATimeFromString(value);
|
||||||
|
}
|
||||||
if (NSUInteger minutes = seconds/60) {
|
if (NSUInteger minutes = seconds/60) {
|
||||||
seconds %= 60;
|
seconds %= 60;
|
||||||
if (NSUInteger hours = minutes/60) {
|
if (NSUInteger hours = minutes/60) {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11191" systemVersion="16A323" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22101" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.AVKitIBPlugin" version="11191"/>
|
<plugIn identifier="com.apple.AVKitIBPlugin" version="22101"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11191"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22101"/>
|
||||||
<capability name="box content view" minToolsVersion="7.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="MADocWindow">
|
<customObject id="-2" userLabel="File's Owner" customClass="MADocWindow">
|
||||||
|
@ -20,37 +20,36 @@
|
||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="5" userLabel="Window" customClass="MADocumentWindow">
|
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="5" userLabel="Window" customClass="MADocumentWindow">
|
||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" unifiedTitleAndToolbar="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||||
<windowCollectionBehavior key="collectionBehavior" fullScreenPrimary="YES"/>
|
<windowCollectionBehavior key="collectionBehavior" fullScreenPrimary="YES"/>
|
||||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||||
<rect key="contentRect" x="200" y="400" width="1280" height="809"/>
|
<rect key="contentRect" x="200" y="400" width="1280" height="809"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1025"/>
|
||||||
<value key="minSize" type="size" width="450" height="400"/>
|
<value key="minSize" type="size" width="450" height="400"/>
|
||||||
<view key="contentView" id="6">
|
<view key="contentView" id="6">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1280" height="809"/>
|
<rect key="frame" x="0.0" y="0.0" width="1280" height="809"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<splitView dividerStyle="paneSplitter" id="100130">
|
<splitView fixedFrame="YES" dividerStyle="paneSplitter" translatesAutoresizingMaskIntoConstraints="NO" id="100130">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1281" height="810"/>
|
<rect key="frame" x="0.0" y="0.0" width="1281" height="810"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="100021">
|
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="100021">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1281" height="201"/>
|
<rect key="frame" x="0.0" y="0.0" width="1281" height="201"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<clipView key="contentView" id="Kk6-e7-OkE">
|
<clipView key="contentView" id="Kk6-e7-OkE">
|
||||||
<rect key="frame" x="1" y="23" width="1279" height="177"/>
|
<rect key="frame" x="1" y="1" width="1279" height="199"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnSelection="YES" multipleSelection="NO" typeSelect="NO" headerView="100023" id="100025" userLabel="Table View">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnSelection="YES" multipleSelection="NO" typeSelect="NO" headerView="100023" id="100025" userLabel="Table View">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1279" height="177"/>
|
<rect key="frame" x="0.0" y="0.0" width="1279" height="176"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="283.765625" minWidth="250" maxWidth="500" id="100026">
|
<tableColumn width="279.5" minWidth="250" maxWidth="500" id="100026">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Name">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Name">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -69,9 +68,8 @@
|
||||||
<binding destination="100086" name="value" keyPath="arrangedObjects.name" id="100088"/>
|
<binding destination="100086" name="value" keyPath="arrangedObjects.name" id="100088"/>
|
||||||
</connections>
|
</connections>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="845.796875" minWidth="50" maxWidth="5200" id="100027">
|
<tableColumn width="841.5" minWidth="50" maxWidth="5200" id="100027">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Notes">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Notes">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -87,7 +85,6 @@
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="140" minWidth="140" maxWidth="140" id="100030">
|
<tableColumn width="140" minWidth="140" maxWidth="140" id="100030">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Date">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Date">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -113,40 +110,40 @@
|
||||||
</tableView>
|
</tableView>
|
||||||
</subviews>
|
</subviews>
|
||||||
</clipView>
|
</clipView>
|
||||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="100024">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="100024">
|
||||||
<rect key="frame" x="1" y="184" width="1279" height="16"/>
|
<rect key="frame" x="1" y="184" width="1279" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="37" horizontal="NO" id="100022">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="100022">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<tableHeaderView key="headerView" id="100023">
|
<tableHeaderView key="headerView" wantsLayer="YES" id="100023">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1279" height="23"/>
|
<rect key="frame" x="0.0" y="0.0" width="1279" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</tableHeaderView>
|
</tableHeaderView>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<box boxType="custom" borderType="none" borderWidth="0.0" title="Box" titlePosition="noTitle" id="100129">
|
<box fixedFrame="YES" boxType="custom" borderType="none" borderWidth="0.0" title="Box" titlePosition="noTitle" id="100129">
|
||||||
<rect key="frame" x="0.0" y="211" width="1281" height="599"/>
|
<rect key="frame" x="0.0" y="211" width="1281" height="599"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<view key="contentView" id="iKG-WZ-DyC">
|
<view key="contentView" id="iKG-WZ-DyC">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1281" height="599"/>
|
<rect key="frame" x="0.0" y="0.0" width="1281" height="599"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<avPlayerView misplaced="YES" controlsStyle="inline" id="HKG-Gq-ov2">
|
<avPlayerView fixedFrame="YES" controlsStyle="inline" videoGravity="resize" translatesAutoresizingMaskIntoConstraints="NO" id="HKG-Gq-ov2">
|
||||||
<rect key="frame" x="103" y="583" width="1178" height="18"/>
|
<rect key="frame" x="103" y="565" width="1178" height="35"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
</avPlayerView>
|
</avPlayerView>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="100034">
|
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="100034">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1280" height="583"/>
|
<rect key="frame" x="0.0" y="0.0" width="1280" height="565"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<clipView key="contentView" id="NKj-PG-dju">
|
<clipView key="contentView" id="NKj-PG-dju">
|
||||||
<rect key="frame" x="1" y="23" width="1278" height="559"/>
|
<rect key="frame" x="1" y="1" width="1278" height="563"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" alternatingRowBackgroundColors="YES" typeSelect="NO" rowSizeStyle="automatic" headerView="100036" viewBased="YES" id="100038" userLabel="Table View">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" alternatingRowBackgroundColors="YES" typeSelect="NO" rowSizeStyle="automatic" headerView="100036" viewBased="YES" id="100038" userLabel="Table View">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1278" height="559"/>
|
<rect key="frame" x="0.0" y="0.0" width="1278" height="540"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
|
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
|
||||||
|
@ -154,7 +151,6 @@
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn editable="NO" width="100" minWidth="100" maxWidth="100" id="100039">
|
<tableColumn editable="NO" width="100" minWidth="100" maxWidth="100" id="100039">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Time">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Time">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -166,11 +162,11 @@
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="100202">
|
<tableCellView id="100202">
|
||||||
<rect key="frame" x="1" y="1" width="100" height="17"/>
|
<rect key="frame" x="1" y="1" width="105" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" id="100203">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100203">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="100" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="105" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="right" title="Table View Cell" id="100204">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="right" title="Table View Cell" id="100204">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
@ -201,9 +197,8 @@
|
||||||
</binding>
|
</binding>
|
||||||
</connections>
|
</connections>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn identifier="tags" width="549" minWidth="200" maxWidth="2000" id="100040">
|
<tableColumn identifier="tags" width="544.5" minWidth="200" maxWidth="2000" id="100040">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Tags">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Tags">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -215,10 +210,10 @@
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="100206">
|
<tableCellView id="100206">
|
||||||
<rect key="frame" x="104" y="1" width="549" height="17"/>
|
<rect key="frame" x="109" y="1" width="545" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tokenField verticalHuggingPriority="750" id="100221">
|
<tokenField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100221">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="549" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="549" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<tokenFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" alignment="left" allowsEditingTextAttributes="YES" id="100222" customClass="MATokenFieldCell">
|
<tokenFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" alignment="left" allowsEditingTextAttributes="YES" id="100222" customClass="MATokenFieldCell">
|
||||||
|
@ -244,9 +239,8 @@
|
||||||
</binding>
|
</binding>
|
||||||
</connections>
|
</connections>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="620" minWidth="50" maxWidth="3.4028234663852886e+38" id="100043">
|
<tableColumn width="615.5" minWidth="50" maxWidth="3.4028234663852886e+38" id="100043">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Notes">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Notes">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
|
@ -258,11 +252,11 @@
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="100210" userLabel="Table Cell View">
|
<tableCellView id="100210" userLabel="Table Cell View">
|
||||||
<rect key="frame" x="656" y="1" width="620" height="17"/>
|
<rect key="frame" x="657" y="1" width="619" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" id="100211">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100211">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="620" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="619" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" id="100212">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" id="100212">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
@ -297,21 +291,21 @@
|
||||||
</tableView>
|
</tableView>
|
||||||
</subviews>
|
</subviews>
|
||||||
</clipView>
|
</clipView>
|
||||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="100037">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="100037">
|
||||||
<rect key="frame" x="1" y="566" width="1279" height="15"/>
|
<rect key="frame" x="1" y="518" width="1260" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="100035">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="100035">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<tableHeaderView key="headerView" id="100036">
|
<tableHeaderView key="headerView" wantsLayer="YES" id="100036">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1278" height="23"/>
|
<rect key="frame" x="0.0" y="0.0" width="1278" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</tableHeaderView>
|
</tableHeaderView>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<button verticalHuggingPriority="750" id="100197">
|
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100197">
|
||||||
<rect key="frame" x="0.0" y="582" width="103" height="20"/>
|
<rect key="frame" x="0.0" y="565" width="103" height="35"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="smallSquare" title="Button" bezelStyle="smallSquare" alignment="right" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="100198">
|
<buttonCell key="cell" type="smallSquare" title="Button" bezelStyle="smallSquare" alignment="right" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="100198">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
@ -368,6 +362,8 @@
|
||||||
</connections>
|
</connections>
|
||||||
</toolbarItem>
|
</toolbarItem>
|
||||||
<toolbarItem implicitItemIdentifier="10408ABC-594E-48CD-9161-E21F2A53A796" label="Play" paletteLabel="Play" tag="102" image="play" id="100272">
|
<toolbarItem implicitItemIdentifier="10408ABC-594E-48CD-9161-E21F2A53A796" label="Play" paletteLabel="Play" tag="102" image="play" id="100272">
|
||||||
|
<size key="minSize" width="22" height="22"/>
|
||||||
|
<size key="maxSize" width="22" height="22"/>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="toggleMediaPlay:" target="-1" id="100275"/>
|
<action selector="toggleMediaPlay:" target="-1" id="100275"/>
|
||||||
</connections>
|
</connections>
|
||||||
|
@ -398,17 +394,26 @@
|
||||||
</connections>
|
</connections>
|
||||||
</toolbarItem>
|
</toolbarItem>
|
||||||
<toolbarItem implicitItemIdentifier="18FD3E74-6E8C-445B-B04D-55EDA8F7ECE7" label="Annotate" paletteLabel="Annotate" tag="104" image="anno" id="100278">
|
<toolbarItem implicitItemIdentifier="18FD3E74-6E8C-445B-B04D-55EDA8F7ECE7" label="Annotate" paletteLabel="Annotate" tag="104" image="anno" id="100278">
|
||||||
|
<size key="minSize" width="22" height="22"/>
|
||||||
|
<size key="maxSize" width="22" height="22"/>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="addAnnotation:" target="-1" id="100282"/>
|
<action selector="addAnnotation:" target="-1" id="100282"/>
|
||||||
</connections>
|
</connections>
|
||||||
</toolbarItem>
|
</toolbarItem>
|
||||||
<toolbarItem implicitItemIdentifier="664414C9-912C-4CDB-AA38-3FE2DED268DC" label="Delete" paletteLabel="Delete" tag="104" image="del" id="100283">
|
<toolbarItem implicitItemIdentifier="664414C9-912C-4CDB-AA38-3FE2DED268DC" label="Delete" paletteLabel="Delete" tag="104" image="del" id="100283">
|
||||||
|
<size key="minSize" width="22" height="22"/>
|
||||||
|
<size key="maxSize" width="22" height="22"/>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="delete:" target="-1" id="100284"/>
|
<action selector="delete:" target="-1" id="100284"/>
|
||||||
</connections>
|
</connections>
|
||||||
</toolbarItem>
|
</toolbarItem>
|
||||||
<toolbarItem implicitItemIdentifier="8C60B854-069F-498C-B9DA-51102A7886FD" label="Print" paletteLabel="Print" tag="-1" image="print" id="100286"/>
|
<toolbarItem implicitItemIdentifier="8C60B854-069F-498C-B9DA-51102A7886FD" label="Print" paletteLabel="Print" tag="-1" image="print" id="100286">
|
||||||
|
<size key="minSize" width="22" height="22"/>
|
||||||
|
<size key="maxSize" width="22" height="22"/>
|
||||||
|
</toolbarItem>
|
||||||
<toolbarItem implicitItemIdentifier="D1B223FD-2B2A-471D-A6A4-0230D2846698" label="Customize" paletteLabel="Customize" tag="-1" image="custom" id="100287">
|
<toolbarItem implicitItemIdentifier="D1B223FD-2B2A-471D-A6A4-0230D2846698" label="Customize" paletteLabel="Customize" tag="-1" image="custom" id="100287">
|
||||||
|
<size key="minSize" width="22" height="22"/>
|
||||||
|
<size key="maxSize" width="22" height="22"/>
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="runToolbarCustomizationPalette:" target="-1" id="100288"/>
|
<action selector="runToolbarCustomizationPalette:" target="-1" id="100288"/>
|
||||||
</connections>
|
</connections>
|
||||||
|
@ -454,8 +459,9 @@
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="delegate" destination="-2" id="17"/>
|
<outlet property="delegate" destination="-2" id="17"/>
|
||||||
</connections>
|
</connections>
|
||||||
|
<point key="canvasLocation" x="139" y="133.5"/>
|
||||||
</window>
|
</window>
|
||||||
<customObject id="-3" userLabel="Application"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<arrayController mode="entity" entityName="MAMedia" fetchPredicateFormat="" automaticallyPreparesContent="YES" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="100086" userLabel="MediaController">
|
<arrayController mode="entity" entityName="MAMedia" fetchPredicateFormat="" automaticallyPreparesContent="YES" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="100086" userLabel="MediaController">
|
||||||
<connections>
|
<connections>
|
||||||
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100179"/>
|
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100179"/>
|
||||||
|
@ -464,12 +470,12 @@
|
||||||
<userDefaultsController representsSharedInstance="YES" id="100094"/>
|
<userDefaultsController representsSharedInstance="YES" id="100094"/>
|
||||||
<arrayController mode="entity" entityName="MAAnno" automaticallyPreparesContent="YES" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="100148" userLabel="AnnotationController">
|
<arrayController mode="entity" entityName="MAAnno" automaticallyPreparesContent="YES" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="100148" userLabel="AnnotationController">
|
||||||
<connections>
|
<connections>
|
||||||
|
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100178"/>
|
||||||
<binding destination="100086" name="contentSet" keyPath="selection.annotations" id="100151">
|
<binding destination="100086" name="contentSet" keyPath="selection.annotations" id="100151">
|
||||||
<dictionary key="options">
|
<dictionary key="options">
|
||||||
<bool key="NSDeletesObjectsOnRemove" value="YES"/>
|
<bool key="NSDeletesObjectsOnRemove" value="YES"/>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
</binding>
|
</binding>
|
||||||
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100178"/>
|
|
||||||
</connections>
|
</connections>
|
||||||
</arrayController>
|
</arrayController>
|
||||||
<box autoresizesSubviews="NO" borderType="none" title="Export" titlePosition="noTitle" id="100229" userLabel="Text Export Options">
|
<box autoresizesSubviews="NO" borderType="none" title="Export" titlePosition="noTitle" id="100229" userLabel="Text Export Options">
|
||||||
|
@ -479,7 +485,7 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="166" height="65"/>
|
<rect key="frame" x="0.0" y="0.0" width="166" height="65"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button id="100236">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100236">
|
||||||
<rect key="frame" x="16" y="39" width="144" height="18"/>
|
<rect key="frame" x="16" y="39" width="144" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Export Annotations" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="100237">
|
<buttonCell key="cell" type="check" title="Export Annotations" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="100237">
|
||||||
|
@ -490,7 +496,7 @@
|
||||||
<binding destination="-2" name="value" keyPath="exportAnnotations" id="100242"/>
|
<binding destination="-2" name="value" keyPath="exportAnnotations" id="100242"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button id="100238">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100238">
|
||||||
<rect key="frame" x="16" y="20" width="98" height="18"/>
|
<rect key="frame" x="16" y="20" width="98" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Export Tags" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="100239">
|
<buttonCell key="cell" type="check" title="Export Tags" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="100239">
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11191" systemVersion="16A323" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22101" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.AVKitIBPlugin" version="11191"/>
|
<plugIn identifier="com.apple.AVKitIBPlugin" version="22101"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11191"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22101"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="MAMovieWindow">
|
<customObject id="-2" userLabel="File's Owner" customClass="MAMovieWindow">
|
||||||
|
@ -13,17 +14,17 @@
|
||||||
</connections>
|
</connections>
|
||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hidesOnDeactivate="YES" oneShot="NO" showsToolbarButton="NO" visibleAtLaunch="NO" frameAutosaveName="MAMoviePanel" animationBehavior="default" id="3" customClass="MAMovieWin">
|
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hidesOnDeactivate="YES" visibleAtLaunch="NO" frameAutosaveName="MAMoviePanel" animationBehavior="default" id="3" customClass="MAMovieWin">
|
||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" utility="YES" documentModal="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" utility="YES" documentModal="YES"/>
|
||||||
<windowPositionMask key="initialPositionMask" rightStrut="YES" topStrut="YES"/>
|
<windowPositionMask key="initialPositionMask" rightStrut="YES" topStrut="YES"/>
|
||||||
<rect key="contentRect" x="1887" y="836" width="640" height="496"/>
|
<rect key="contentRect" x="1887" y="836" width="640" height="496"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1418"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1025"/>
|
||||||
<view key="contentView" id="4">
|
<view key="contentView" id="4">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="640" height="496"/>
|
<rect key="frame" x="0.0" y="0.0" width="640" height="496"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<avPlayerView misplaced="YES" controlsStyle="inline" id="s8w-Lv-MOu">
|
<avPlayerView fixedFrame="YES" controlsStyle="inline" translatesAutoresizingMaskIntoConstraints="NO" id="s8w-Lv-MOu">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="640" height="496"/>
|
<rect key="frame" x="0.0" y="0.0" width="640" height="496"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
</avPlayerView>
|
</avPlayerView>
|
||||||
|
@ -32,6 +33,7 @@
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="delegate" destination="-2" id="13"/>
|
<outlet property="delegate" destination="-2" id="13"/>
|
||||||
</connections>
|
</connections>
|
||||||
|
<point key="canvasLocation" x="48" y="-42"/>
|
||||||
</window>
|
</window>
|
||||||
</objects>
|
</objects>
|
||||||
</document>
|
</document>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user