More modernization

This commit is contained in:
Matthias Neeracher 2023-06-04 02:38:33 +02:00
parent e3fb8d3425
commit 41098d6d2d
8 changed files with 594 additions and 2891 deletions

View File

@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@ -26,6 +26,7 @@
950BB7A713F467A400D8E669 /* MAAddMedia.xib in Resources */ = {isa = PBXBuildFile; fileRef = 950BB7A513F467A400D8E669 /* MAAddMedia.xib */; };
950BB7AA13F46BAF00D8E669 /* MAAddMediaSheet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7A913F46BAF00D8E669 /* MAAddMediaSheet.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 */; };
958AAE3414052FC600365087 /* DateHypotheses.plist in Resources */ = {isa = PBXBuildFile; fileRef = 958AAE3314052FC600365087 /* DateHypotheses.plist */; };
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>"; };
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>"; };
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>"; };
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>"; };
@ -118,6 +120,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
951152732A2C06AA00A56C6C /* CoreMedia.framework in Frameworks */,
950737F31D5FAA1600737CDE /* AVKit.framework in Frameworks */,
950737F11D5FAA0F00737CDE /* AVFoundation.framework in Frameworks */,
950BB68F13F1F29D00D8E669 /* CoreData.framework in Frameworks */,
@ -148,6 +151,7 @@
950BB66913F1F26200D8E669 /* Frameworks */ = {
isa = PBXGroup;
children = (
951152722A2C06AA00A56C6C /* CoreMedia.framework */,
950737F21D5FAA1600737CDE /* AVKit.framework */,
950737F01D5FAA0F00737CDE /* AVFoundation.framework */,
950BB68D13F1F29D00D8E669 /* CoreData.framework */,
@ -286,15 +290,17 @@
950BB65D13F1F26200D8E669 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0800;
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1500;
ORGANIZATIONNAME = "Matthias Neeracher";
};
buildConfigurationList = 950BB66013F1F26200D8E669 /* Build configuration list for PBXProject "Medianno" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 950BB65B13F1F26200D8E669;
productRefGroup = 950BB66713F1F26200D8E669 /* Products */;
@ -438,18 +444,32 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = 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__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
@ -478,18 +498,32 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = 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__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
@ -510,10 +544,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
GCC_ENABLE_OBJC_GC = unsupported;
DEAD_CODE_STRIPPING = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 12.4;
PRODUCT_BUNDLE_IDENTIFIER = "org.aereperennius.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
@ -525,10 +560,11 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
GCC_ENABLE_OBJC_GC = unsupported;
DEAD_CODE_STRIPPING = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
MACOSX_DEPLOYMENT_TARGET = 12.4;
PRODUCT_BUNDLE_IDENTIFIER = "org.aereperennius.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;

View File

@ -24,7 +24,7 @@
- (id)transformedValue:(id)value
{
NSURL * mediaURL = [NSURL URLWithString:value];
if ([[AVAsset assetWithURL:mediaURL] isPlayable])
if ([AVAsset assetWithURL:mediaURL])
return [NSColor blackColor];
else
return [NSColor redColor];

View File

@ -24,12 +24,13 @@
IBOutlet NSView * textExportAccessoryView;
AVPlayer * currentMovie;
NSString * currentMovieTitle;
id currentMovieTimeObserver;
}
@property BOOL exportAnnotations;
@property BOOL exportTags;
@property (nonatomic,retain)NSString * searchString;
@property (readonly) NSNumber * currentMovieTime;
@property double currentMovieTime;
- (IBAction)addMediaFiles:(id)sender;
- (IBAction)importText:(id)sender;

View File

@ -90,10 +90,17 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
// Current movie changed
//
[self willChangeValueForKey:@"currentMovie"];
if (currentMovieTimeObserver) {
[currentMovie removeTimeObserver:currentMovieTimeObserver];
currentMovieTimeObserver = nil;
}
if (MAMedia * currentMedia = [self currentMedia]) {
NSURL * mediaURL = [NSURL URLWithString:[currentMedia media]];
currentMovie = [AVPlayer playerWithURL:mediaURL];
currentMovieTitle = [currentMedia name];
currentMovieTimeObserver = [currentMovie addPeriodicTimeObserverForInterval:CMTimeMake(1, 1) queue:nil usingBlock:^(CMTime time) {
self.currentMovieTime = (double)time.value/time.timescale;
}];
} else {
currentMovie = nil;
currentMovieTitle = @"";
@ -114,27 +121,15 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
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
{
NSOpenPanel * openPanel = [NSOpenPanel openPanel];
[openPanel setAllowedFileTypes:[AVMovie movieTypes]];
[openPanel setAllowedFileTypes:[AVURLAsset audiovisualTypes]];
[openPanel setAllowsMultipleSelection:YES];
[openPanel setCanChooseDirectories:YES];
[openPanel beginSheetModalForWindow:[self window] completionHandler:^(NSInteger result) {
[openPanel orderOut:self];
if (result == NSFileHandlingPanelOKButton)
if (result == NSModalResponseOK)
[self addMedia:[openPanel URLs]];
}];
}
@ -167,7 +162,7 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
NSNumber * isDirectory;
[url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:nil];
if ([isDirectory boolValue]) {
[self addMediaTypes:[AVMovie movieTypes] inDirectory:url toList:expandedURLs];
[self addMediaTypes:[AVURLAsset audiovisualTypes] inDirectory:url toList:expandedURLs];
continue;
}
}
@ -264,11 +259,12 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
- (IBAction)toggleMediaPlay:(id)sender
{
if ([currentMovie rate] > 0.0f)
if ([currentMovie rate] > 0.0f) {
[currentMovie pause];
else
} else {
[currentMovie play];
}
}
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
{

View File

@ -61,7 +61,14 @@ CFTimeInterval MATimeFromString(NSString * timeStr)
- (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) {
seconds %= 60;
if (NSUInteger hours = minutes/60) {

View File

@ -1,10 +1,10 @@
<?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>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.AVKitIBPlugin" version="11191"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11191"/>
<capability name="box content view" minToolsVersion="7.0"/>
<plugIn identifier="com.apple.AVKitIBPlugin" version="22101"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22101"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MADocWindow">
@ -20,37 +20,36 @@
</customObject>
<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">
<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"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<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"/>
<view key="contentView" id="6">
<rect key="frame" x="0.0" y="0.0" width="1280" height="809"/>
<autoresizingMask key="autoresizingMask"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<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"/>
<subviews>
<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"/>
<autoresizingMask key="autoresizingMask"/>
<rect key="frame" x="0.0" y="0.0" width="1279" height="176"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<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">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
</tableHeaderCell>
@ -69,9 +68,8 @@
<binding destination="100086" name="value" keyPath="arrangedObjects.name" id="100088"/>
</connections>
</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">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
</tableHeaderCell>
@ -87,7 +85,6 @@
</tableColumn>
<tableColumn width="140" minWidth="140" maxWidth="140" id="100030">
<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="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@ -113,40 +110,40 @@
</tableView>
</subviews>
</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"/>
<autoresizingMask key="autoresizingMask"/>
</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"/>
<autoresizingMask key="autoresizingMask"/>
</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"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</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"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView" id="iKG-WZ-DyC">
<rect key="frame" x="0.0" y="0.0" width="1281" height="599"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<avPlayerView misplaced="YES" controlsStyle="inline" id="HKG-Gq-ov2">
<rect key="frame" x="103" y="583" width="1178" height="18"/>
<avPlayerView fixedFrame="YES" controlsStyle="inline" videoGravity="resize" translatesAutoresizingMaskIntoConstraints="NO" id="HKG-Gq-ov2">
<rect key="frame" x="103" y="565" width="1178" height="35"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
</avPlayerView>
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="100034">
<rect key="frame" x="0.0" y="0.0" width="1280" height="583"/>
<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="565"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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"/>
<subviews>
<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"/>
<autoresizingMask key="autoresizingMask"/>
<rect key="frame" x="0.0" y="0.0" width="1278" height="540"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" vertical="YES"/>
@ -154,7 +151,6 @@
<tableColumns>
<tableColumn editable="NO" width="100" minWidth="100" maxWidth="100" id="100039">
<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="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
</tableHeaderCell>
@ -166,11 +162,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<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"/>
<subviews>
<textField verticalHuggingPriority="750" id="100203">
<rect key="frame" x="0.0" y="0.0" width="100" height="17"/>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100203">
<rect key="frame" x="0.0" y="0.0" width="105" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="right" title="Table View Cell" id="100204">
<font key="font" metaFont="system"/>
@ -201,9 +197,8 @@
</binding>
</connections>
</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">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
</tableHeaderCell>
@ -215,10 +210,10 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<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"/>
<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"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<tokenFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" alignment="left" allowsEditingTextAttributes="YES" id="100222" customClass="MATokenFieldCell">
@ -244,9 +239,8 @@
</binding>
</connections>
</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">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
@ -258,11 +252,11 @@
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<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"/>
<subviews>
<textField verticalHuggingPriority="750" id="100211">
<rect key="frame" x="0.0" y="0.0" width="620" height="17"/>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100211">
<rect key="frame" x="0.0" y="0.0" width="619" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" id="100212">
<font key="font" metaFont="system"/>
@ -297,21 +291,21 @@
</tableView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="100037">
<rect key="frame" x="1" y="566" width="1279" height="15"/>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="100037">
<rect key="frame" x="1" y="518" width="1260" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</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"/>
<autoresizingMask key="autoresizingMask"/>
</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"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
<button verticalHuggingPriority="750" id="100197">
<rect key="frame" x="0.0" y="582" width="103" height="20"/>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100197">
<rect key="frame" x="0.0" y="565" width="103" height="35"/>
<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">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@ -368,6 +362,8 @@
</connections>
</toolbarItem>
<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>
<action selector="toggleMediaPlay:" target="-1" id="100275"/>
</connections>
@ -398,17 +394,26 @@
</connections>
</toolbarItem>
<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>
<action selector="addAnnotation:" target="-1" id="100282"/>
</connections>
</toolbarItem>
<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>
<action selector="delete:" target="-1" id="100284"/>
</connections>
</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">
<size key="minSize" width="22" height="22"/>
<size key="maxSize" width="22" height="22"/>
<connections>
<action selector="runToolbarCustomizationPalette:" target="-1" id="100288"/>
</connections>
@ -454,8 +459,9 @@
<connections>
<outlet property="delegate" destination="-2" id="17"/>
</connections>
<point key="canvasLocation" x="139" y="133.5"/>
</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">
<connections>
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100179"/>
@ -464,12 +470,12 @@
<userDefaultsController representsSharedInstance="YES" id="100094"/>
<arrayController mode="entity" entityName="MAAnno" automaticallyPreparesContent="YES" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="100148" userLabel="AnnotationController">
<connections>
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100178"/>
<binding destination="100086" name="contentSet" keyPath="selection.annotations" id="100151">
<dictionary key="options">
<bool key="NSDeletesObjectsOnRemove" value="YES"/>
</dictionary>
</binding>
<binding destination="-2" name="managedObjectContext" keyPath="document.managedObjectContext" id="100178"/>
</connections>
</arrayController>
<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"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button id="100236">
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100236">
<rect key="frame" x="16" y="39" width="144" height="18"/>
<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">
@ -490,7 +496,7 @@
<binding destination="-2" name="value" keyPath="exportAnnotations" id="100242"/>
</connections>
</button>
<button id="100238">
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="100238">
<rect key="frame" x="16" y="20" width="98" height="18"/>
<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">

View File

@ -1,9 +1,10 @@
<?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>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.AVKitIBPlugin" version="11191"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11191"/>
<plugIn identifier="com.apple.AVKitIBPlugin" version="22101"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22101"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MAMovieWindow">
@ -13,17 +14,17 @@
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application"/>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" hidesOnDeactivate="YES" oneShot="NO" showsToolbarButton="NO" visibleAtLaunch="NO" frameAutosaveName="MAMoviePanel" animationBehavior="default" id="3" customClass="MAMovieWin">
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<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"/>
<windowPositionMask key="initialPositionMask" rightStrut="YES" topStrut="YES"/>
<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">
<rect key="frame" x="0.0" y="0.0" width="640" height="496"/>
<autoresizingMask key="autoresizingMask"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</avPlayerView>
@ -32,6 +33,7 @@
<connections>
<outlet property="delegate" destination="-2" id="13"/>
</connections>
<point key="canvasLocation" x="48" y="-42"/>
</window>
</objects>
</document>

File diff suppressed because it is too large Load Diff