diff options
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/English.lproj/ChaptersTitles.xib | 129 | ||||
-rw-r--r-- | macosx/HBChapter.h | 20 | ||||
-rw-r--r-- | macosx/HBChapter.m | 82 | ||||
-rw-r--r-- | macosx/HBChapterTitlesController.m | 18 | ||||
-rw-r--r-- | macosx/HBJob+HBJobConversion.m | 6 | ||||
-rw-r--r-- | macosx/HBJob.h | 2 | ||||
-rw-r--r-- | macosx/HBJob.m | 6 | ||||
-rw-r--r-- | macosx/HBTitle.m | 12 | ||||
-rw-r--r-- | macosx/HandBrake.xcodeproj/project.pbxproj | 6 |
9 files changed, 204 insertions, 77 deletions
diff --git a/macosx/English.lproj/ChaptersTitles.xib b/macosx/English.lproj/ChaptersTitles.xib index 330021be8..beb0f4fc1 100644 --- a/macosx/English.lproj/ChaptersTitles.xib +++ b/macosx/English.lproj/ChaptersTitles.xib @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="8164.2" systemVersion="15A225f" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none"> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9052" systemVersion="15B30a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none"> <dependencies> <deployment identifier="macosx"/> <development version="6300" identifier="xcode"/> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="8164.2"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9052"/> </dependencies> <objects> <customObject id="-2" userLabel="File's Owner" customClass="HBChapterTitlesController"> @@ -19,6 +19,57 @@ <rect key="frame" x="0.0" y="0.0" width="926" height="322"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> + <button toolTip="Add chapter markers to output file." id="7Xf-c0-jsr"> + <rect key="frame" x="17" y="294" width="165" height="18"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> + <animations/> + <buttonCell key="cell" type="check" title="Create chapter markers" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="lJL-wX-DVP"> + <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> + <font key="font" metaFont="smallSystem"/> + </buttonCell> + <connections> + <binding destination="-2" name="enabled" keyPath="self.job" id="JMA-67-MXH"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSIsNotNil</string> + </dictionary> + </binding> + <binding destination="-2" name="value" keyPath="self.job.chaptersEnabled" id="7wG-le-s1k"/> + </connections> + </button> + <button toolTip="Import a list of chapter names from a file." verticalHuggingPriority="750" id="Ron-3B-rYg"> + <rect key="frame" x="656" y="288" width="129" height="28"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/> + <animations/> + <buttonCell key="cell" type="push" title="Import Chapters…" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="PM3-Ue-0kW"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="smallSystem"/> + </buttonCell> + <connections> + <action selector="browseForChapterFile:" target="-2" id="yMS-zB-Pa6"/> + <binding destination="-2" name="enabled" keyPath="self.job" id="Rla-9q-ULw"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSIsNotNil</string> + </dictionary> + </binding> + </connections> + </button> + <button toolTip="Export the list of chapter names to a file." verticalHuggingPriority="750" id="3SP-6e-RPS"> + <rect key="frame" x="783" y="288" width="128" height="28"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/> + <animations/> + <buttonCell key="cell" type="push" title="Export Chapters…" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="h0O-zg-OF9"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="smallSystem"/> + </buttonCell> + <connections> + <action selector="browseForChapterFileSave:" target="-2" id="kKu-5B-QsT"/> + <binding destination="-2" name="enabled" keyPath="self.job" id="TZV-TC-ydR"> + <dictionary key="options"> + <string key="NSValueTransformerName">NSIsNotNil</string> + </dictionary> + </binding> + </connections> + </button> <scrollView horizontalLineScroll="19" horizontalPageScroll="0.0" verticalLineScroll="19" verticalPageScroll="0.0" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" id="lqY-aE-MZi"> <rect key="frame" x="20" y="20" width="886" height="266"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> @@ -34,7 +85,7 @@ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/> <tableColumns> - <tableColumn identifier="1" editable="NO" width="91" minWidth="40" maxWidth="1000" id="0iF-eL-NOC"> + <tableColumn identifier="index" editable="NO" width="76" minWidth="40" maxWidth="1000" id="0iF-eL-NOC"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Chapter"> <font key="font" metaFont="smallSystem"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> @@ -47,8 +98,21 @@ </textFieldCell> <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> </tableColumn> - <tableColumn identifier="2" width="787" minWidth="77.217290000000006" maxWidth="1000" id="Z6H-lJ-ipr"> - <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Chapter Title"> + <tableColumn identifier="duration" editable="NO" width="84" minWidth="10" maxWidth="3.4028234663852886e+38" id="QVB-Cw-DJD" userLabel="Timestamp"> + <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Duration"> + <font key="font" metaFont="smallSystem"/> + <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> + </tableHeaderCell> + <textFieldCell key="dataCell" controlSize="small" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="pAo-XM-bvP"> + <font key="font" metaFont="smallSystem"/> + <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/> + </tableColumn> + <tableColumn identifier="title" width="715" minWidth="77.217290000000006" maxWidth="1000" id="Z6H-lJ-ipr"> + <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Title"> <font key="font" metaFont="smallSystem"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" white="0.33333299" alpha="1" colorSpace="calibratedWhite"/> @@ -76,12 +140,12 @@ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/> </clipView> <animations/> - <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="O2b-uL-5ea"> + <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="O2b-uL-5ea"> <rect key="frame" x="-100" y="-100" width="488" height="15"/> <autoresizingMask key="autoresizingMask"/> <animations/> </scroller> - <scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="yp0-pp-Yw7"> + <scroller key="verticalScroller" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="yp0-pp-Yw7"> <rect key="frame" x="869" y="17" width="16" height="248"/> <autoresizingMask key="autoresizingMask"/> <animations/> @@ -92,57 +156,6 @@ <animations/> </tableHeaderView> </scrollView> - <button toolTip="Add chapter markers to output file." id="7Xf-c0-jsr"> - <rect key="frame" x="17" y="294" width="165" height="18"/> - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> - <animations/> - <buttonCell key="cell" type="check" title="Create chapter markers" bezelStyle="regularSquare" imagePosition="left" alignment="left" controlSize="small" inset="2" id="lJL-wX-DVP"> - <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - <connections> - <binding destination="-2" name="enabled" keyPath="self.job" id="JMA-67-MXH"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSIsNotNil</string> - </dictionary> - </binding> - <binding destination="-2" name="value" keyPath="self.job.chaptersEnabled" id="7wG-le-s1k"/> - </connections> - </button> - <button toolTip="Import a list of chapter names from a file." verticalHuggingPriority="750" id="Ron-3B-rYg"> - <rect key="frame" x="656" y="288" width="129" height="28"/> - <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/> - <animations/> - <buttonCell key="cell" type="push" title="Import Chapters…" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="PM3-Ue-0kW"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - <connections> - <action selector="browseForChapterFile:" target="-2" id="yMS-zB-Pa6"/> - <binding destination="-2" name="enabled" keyPath="self.job" id="Rla-9q-ULw"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSIsNotNil</string> - </dictionary> - </binding> - </connections> - </button> - <button toolTip="Export the list of chapter names to a file." verticalHuggingPriority="750" id="3SP-6e-RPS"> - <rect key="frame" x="783" y="288" width="128" height="28"/> - <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/> - <animations/> - <buttonCell key="cell" type="push" title="Export Chapters…" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="h0O-zg-OF9"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="smallSystem"/> - </buttonCell> - <connections> - <action selector="browseForChapterFileSave:" target="-2" id="kKu-5B-QsT"/> - <binding destination="-2" name="enabled" keyPath="self.job" id="TZV-TC-ydR"> - <dictionary key="options"> - <string key="NSValueTransformerName">NSIsNotNil</string> - </dictionary> - </binding> - </connections> - </button> </subviews> <animations/> <point key="canvasLocation" x="131" y="343"/> diff --git a/macosx/HBChapter.h b/macosx/HBChapter.h new file mode 100644 index 000000000..c72243026 --- /dev/null +++ b/macosx/HBChapter.h @@ -0,0 +1,20 @@ +/* HBChapter.h + + This file is part of the HandBrake source code. + Homepage: <http://handbrake.fr/>. + It may be used under the terms of the GNU General Public License. */ + +#import <Foundation/Foundation.h> + +NS_ASSUME_NONNULL_BEGIN + +@interface HBChapter : NSObject <NSSecureCoding, NSCopying> + +- (instancetype)initWithTitle:(NSString *)title duration:(uint64_t)duration NS_DESIGNATED_INITIALIZER; + +@property (nonatomic, readwrite) NSString *title; +@property (nonatomic, readonly) NSString *duration; + +@end + +NS_ASSUME_NONNULL_END diff --git a/macosx/HBChapter.m b/macosx/HBChapter.m new file mode 100644 index 000000000..46d0a7602 --- /dev/null +++ b/macosx/HBChapter.m @@ -0,0 +1,82 @@ +/* HBChapter.m + + This file is part of the HandBrake source code. + Homepage: <http://handbrake.fr/>. + It may be used under the terms of the GNU General Public License. */ + +#import "HBChapter.h" +#import "HBCodingUtilities.h" + +@implementation HBChapter + +- (instancetype)init +{ + self = [self initWithTitle:@"No Value" duration:0]; + return self; +} + +- (instancetype)initWithTitle:(NSString *)title duration:(uint64_t)duration +{ + NSParameterAssert(title); + + self = [super init]; + if (self) + { + uint64_t hours = duration / 90000 / 3600; + uint64_t minutes = ((duration / 90000 ) % 3600) / 60; + uint64_t seconds = (duration / 90000 ) % 60; + + _duration = [NSString stringWithFormat:@"%02llu:%02llu:%02llu", hours, minutes, seconds]; + _title = [title copy]; + + } + return self; +} + +#pragma mark - NSCopying + +- (instancetype)copyWithZone:(NSZone *)zone +{ + HBChapter *copy = [[[self class] alloc] init]; + + if (copy) + { + copy->_title = [_title copy]; + copy->_duration = [_duration copy]; + } + + return copy; +} + + +#pragma mark - NSCoding + ++ (BOOL)supportsSecureCoding +{ + return YES; +} + +- (void)encodeWithCoder:(NSCoder *)coder +{ + [coder encodeInt:1 forKey:@"HBChapterVersion"]; + + encodeObject(_title); + encodeObject(_duration); +} + +- (instancetype)initWithCoder:(NSCoder *)decoder +{ + int version = [decoder decodeIntForKey:@"HBChapterVersion"]; + + if (version == 1 && (self = [self init])) + { + decodeObject(_title, NSString); + decodeObject(_duration, NSString); + + return self; + } + + return nil; +} + +@end diff --git a/macosx/HBChapterTitlesController.m b/macosx/HBChapterTitlesController.m index 633e3fad6..6c05f2b16 100644 --- a/macosx/HBChapterTitlesController.m +++ b/macosx/HBChapterTitlesController.m @@ -5,6 +5,7 @@ It may be used under the terms of the GNU General Public License. */ #import "HBChapterTitlesController.h" +#import "HBChapter.h" #import "HBJob.h" @interface HBChapterTitlesController () <NSTableViewDataSource, NSTableViewDelegate> @@ -13,7 +14,7 @@ IBOutlet NSTableColumn * fChapterTableNameColumn; } -@property (nonatomic, readwrite, strong) NSMutableArray *chapterTitles; +@property (nonatomic, readwrite, strong) NSArray *chapterTitles; @end @@ -46,10 +47,9 @@ forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex { - if (aTableColumn != nil && [[aTableColumn identifier] intValue] == 2) + if ([aTableColumn.identifier isEqualToString:@"title"]) { - (self.chapterTitles)[rowIndex] = [NSString - stringWithString:anObject]; + [(HBChapter *)self.chapterTitles[rowIndex] setTitle:anObject]; } } @@ -57,13 +57,17 @@ objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex { - if ([[aTableColumn identifier] intValue] == 1) + if ([aTableColumn.identifier isEqualToString:@"index"]) { return [NSString stringWithFormat:@"%ld", rowIndex + 1]; } - else + else if ([aTableColumn.identifier isEqualToString:@"duration"]) { - return [NSString stringWithString:(self.chapterTitles)[rowIndex]]; + return [(HBChapter *)self.chapterTitles[rowIndex] duration]; + } + else if ([aTableColumn.identifier isEqualToString:@"title"]) + { + return [(HBChapter *)self.chapterTitles[rowIndex] title]; } return @"__DATA ERROR__"; } diff --git a/macosx/HBJob+HBJobConversion.m b/macosx/HBJob+HBJobConversion.m index 1b9f39fd0..08514d55d 100644 --- a/macosx/HBJob+HBJobConversion.m +++ b/macosx/HBJob+HBJobConversion.m @@ -9,6 +9,8 @@ #import "HBAudioDefaults.h" #import "HBAudioTrack.h" +#import "HBChapter.h" + #import "HBTitlePrivate.h" @implementation HBJob (HBJobConversion) @@ -84,12 +86,12 @@ // Also, note that if for some reason we don't apply chapter names, the // chapters just come out 001, 002, etc. etc. int i = 0; - for (NSString *name in self.chapterTitles) + for (HBChapter *jobChapter in self.chapterTitles) { hb_chapter_t *chapter = (hb_chapter_t *) hb_list_item(job->list_chapter, i); if (chapter != NULL) { - hb_chapter_set_title(chapter, name.UTF8String); + hb_chapter_set_title(chapter, jobChapter.title.UTF8String); } i++; } diff --git a/macosx/HBJob.h b/macosx/HBJob.h index 73779ecee..3dda3f27e 100644 --- a/macosx/HBJob.h +++ b/macosx/HBJob.h @@ -74,7 +74,7 @@ typedef NS_ENUM(NSUInteger, HBJobState){ @property (nonatomic, readonly) HBSubtitles *subtitles; @property (nonatomic, readwrite) BOOL chaptersEnabled; -@property (nonatomic, readonly) NSMutableArray *chapterTitles; +@property (nonatomic, readonly) NSArray *chapterTitles; @end diff --git a/macosx/HBJob.m b/macosx/HBJob.m index ff7a7b5ad..69c649fd1 100644 --- a/macosx/HBJob.m +++ b/macosx/HBJob.m @@ -50,7 +50,7 @@ NSString *HBChaptersChangedNotification = @"HBChaptersChangedNotification"; _audio = [[HBAudio alloc] initWithTitle:title]; _subtitles = [[HBSubtitles alloc] initWithTitle:title]; - _chapterTitles = [title.chapters mutableCopy]; + _chapterTitles = [title.chapters copy]; _uuid = [[NSUUID UUID] UUIDString]; @@ -170,7 +170,7 @@ NSString *HBChaptersChangedNotification = @"HBChaptersChangedNotification"; copy->_subtitles = [_subtitles copy]; copy->_chaptersEnabled = _chaptersEnabled; - copy->_chapterTitles = [[NSMutableArray alloc] initWithArray:_chapterTitles copyItems:YES]; + copy->_chapterTitles = [[NSArray alloc] initWithArray:_chapterTitles copyItems:YES]; } return copy; @@ -244,7 +244,7 @@ NSString *HBChaptersChangedNotification = @"HBChaptersChangedNotification"; decodeObject(_subtitles, HBSubtitles); decodeBool(_chaptersEnabled); - decodeObject(_chapterTitles, NSMutableArray); + decodeObject(_chapterTitles, NSArray); return self; } diff --git a/macosx/HBTitle.m b/macosx/HBTitle.m index 47b4a98ae..4fca7c072 100644 --- a/macosx/HBTitle.m +++ b/macosx/HBTitle.m @@ -6,6 +6,7 @@ #import "HBTitle.h" #import "HBTitlePrivate.h" +#import "HBChapter.h" #include "lang.h" @@ -253,18 +254,17 @@ extern NSString *keySubTrackSrtCharCode; if (chapter != NULL) { + NSString *title; if (chapter->title != NULL) { - [chapters addObject:[NSString - stringWithFormat:@"%s", - chapter->title]]; + title = [NSString stringWithFormat:@"%s", chapter->title]; } else { - [chapters addObject:[NSString - stringWithFormat:@"Chapter %d", - i + 1]]; + title = [NSString stringWithFormat:@"Chapter %d", i + 1]; } + + [chapters addObject:[[HBChapter alloc] initWithTitle:title duration:chapter->duration]]; } } diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj index e4780d22b..d69580cc5 100644 --- a/macosx/HandBrake.xcodeproj/project.pbxproj +++ b/macosx/HandBrake.xcodeproj/project.pbxproj @@ -160,6 +160,7 @@ A9706CBA1AC1452800BAEAA8 /* ExceptionAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9706CB81AC1452800BAEAA8 /* ExceptionAlert.xib */; }; A971281F1A2C75180088C076 /* HBTitle.m in Sources */ = {isa = PBXBuildFile; fileRef = A971281E1A2C75180088C076 /* HBTitle.m */; }; A975C08E1AE8C5270061870D /* HBStateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = A975C08D1AE8C5270061870D /* HBStateFormatter.m */; }; + A988AF9D1BC7C35F00932543 /* HBChapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A988AF9C1BC7C35F00932543 /* HBChapter.m */; }; A98C29C41977B10600AF5DED /* HBLanguagesSelection.m in Sources */ = {isa = PBXBuildFile; fileRef = A98C29C31977B10600AF5DED /* HBLanguagesSelection.m */; }; A98FD5931B19C63800FCC7A5 /* HBMockTitle.m in Sources */ = {isa = PBXBuildFile; fileRef = A98FD5921B19C63800FCC7A5 /* HBMockTitle.m */; }; A9906B2C1A710920001D82D5 /* HBQueueController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9906B2B1A710920001D82D5 /* HBQueueController.m */; }; @@ -457,6 +458,8 @@ A971281E1A2C75180088C076 /* HBTitle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBTitle.m; sourceTree = "<group>"; }; A975C08C1AE8C5270061870D /* HBStateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBStateFormatter.h; sourceTree = "<group>"; }; A975C08D1AE8C5270061870D /* HBStateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBStateFormatter.m; sourceTree = "<group>"; }; + A988AF9B1BC7C35F00932543 /* HBChapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBChapter.h; sourceTree = "<group>"; }; + A988AF9C1BC7C35F00932543 /* HBChapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBChapter.m; sourceTree = "<group>"; }; A98C29C21977B10600AF5DED /* HBLanguagesSelection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBLanguagesSelection.h; sourceTree = "<group>"; }; A98C29C31977B10600AF5DED /* HBLanguagesSelection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBLanguagesSelection.m; sourceTree = "<group>"; }; A98FD5911B19C63800FCC7A5 /* HBMockTitle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBMockTitle.h; sourceTree = "<group>"; }; @@ -1035,6 +1038,8 @@ A9DEC8791A23C89E00C79B48 /* HBPicture.m */, A9523935199A6AAE00588AEF /* HBFilters.h */, A9523936199A6AAE00588AEF /* HBFilters.m */, + A988AF9B1BC7C35F00932543 /* HBChapter.h */, + A988AF9C1BC7C35F00932543 /* HBChapter.m */, A996B0F81A62C51C00B64179 /* Audio */, A91017B51A64441700039BFB /* Subtitles */, A9537BED1A48A7F900141102 /* UI Bindings Additions */, @@ -1418,6 +1423,7 @@ A9E66D701A67A2A8007B641D /* HBDistributedArray.m in Sources */, A99422E01B1887B000DDB077 /* NSJSONSerialization+HBAdditions.m in Sources */, A9DC6C52196F04F6002AE6B4 /* HBSubtitlesController.m in Sources */, + A988AF9D1BC7C35F00932543 /* HBChapter.m in Sources */, A9F472891976B7F30009EC65 /* HBSubtitlesDefaultsController.m in Sources */, A91AFD0C1A948827009BECED /* HBOutputFileWriter.m in Sources */, A9906B2C1A710920001D82D5 /* HBQueueController.m in Sources */, |