summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--macosx/English.lproj/SubtitlesDefaults.xib101
-rw-r--r--macosx/HBSubtitles.m61
-rw-r--r--macosx/HBSubtitlesDefaults.h11
-rw-r--r--macosx/HBSubtitlesDefaults.m58
4 files changed, 210 insertions, 21 deletions
diff --git a/macosx/English.lproj/SubtitlesDefaults.xib b/macosx/English.lproj/SubtitlesDefaults.xib
index dcf8fc835..b6c1b3c7b 100644
--- a/macosx/English.lproj/SubtitlesDefaults.xib
+++ b/macosx/English.lproj/SubtitlesDefaults.xib
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6724" systemVersion="14C106a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7515.2" systemVersion="14D72i" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment version="1060" identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6724"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7515.2"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HBSubtitlesDefaultsController">
@@ -17,16 +17,16 @@
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="kwM-lz-5lG">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
- <rect key="contentRect" x="283" y="305" width="427" height="304"/>
+ <rect key="contentRect" x="283" y="305" width="427" height="409"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1418"/>
<value key="minSize" type="size" width="427" height="304"/>
<value key="maxSize" type="size" width="427" height="1000"/>
<view key="contentView" id="ZP2-Cp-K5w">
- <rect key="frame" x="0.0" y="0.0" width="427" height="304"/>
+ <rect key="frame" x="0.0" y="5" width="427" height="409"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="fPg-3n-1TN">
- <rect key="frame" x="-2" y="268" width="157" height="14"/>
+ <rect key="frame" x="-2" y="373" width="157" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Track Selection Behavior:" id="GbM-vm-RC2">
<font key="font" metaFont="smallSystem"/>
@@ -35,7 +35,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="Jsz-Er-bsF">
- <rect key="frame" x="-2" y="244" width="157" height="14"/>
+ <rect key="frame" x="-2" y="349" width="157" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Languages:" id="mAT-Jp-SG1">
<font key="font" metaFont="smallSystem"/>
@@ -44,7 +44,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="Hqz-Lw-gAu">
- <rect key="frame" x="-2" y="66" width="157" height="14"/>
+ <rect key="frame" x="-2" y="171" width="157" height="14"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Options:" id="NJl-q3-zXL">
<font key="font" metaFont="smallSystem"/>
@@ -53,7 +53,7 @@
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" id="oiD-QI-wly">
- <rect key="frame" x="158" y="263" width="252" height="22"/>
+ <rect key="frame" x="158" y="368" width="252" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="None" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="mvw-Hg-JFM" id="21e-KY-8TR">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
@@ -66,12 +66,13 @@
</items>
</menu>
</popUpButtonCell>
+ <accessibility description="Track Selection Behavior:"/>
<connections>
<binding destination="-2" name="selectedIndex" keyPath="self.settings.trackSelectionBehavior" id="sKn-Mr-Hce"/>
</connections>
</popUpButton>
<button toolTip="Closed captions are text subtitles that can be added to any container as a soft subtitle track (not burned)." id="uF5-6E-EIe">
- <rect key="frame" x="158" y="63" width="251" height="18"/>
+ <rect key="frame" x="158" y="168" width="251" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="check" title="Add Closed Captions when available" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="66v-2g-DHn">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -82,7 +83,7 @@
</connections>
</button>
<button toolTip="This search pass finds short sequences of foreign audio and provides subtitles for them." id="OOC-GZ-OFA">
- <rect key="frame" x="158" y="45" width="251" height="18"/>
+ <rect key="frame" x="158" y="150" width="251" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="check" title="Add &quot;Foreign Audio Search&quot;" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="vNY-OC-hTJ">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -93,7 +94,7 @@
</connections>
</button>
<scrollView autohidesScrollers="YES" horizontalLineScroll="16" horizontalPageScroll="10" verticalLineScroll="16" verticalPageScroll="10" usesPredominantAxisScrolling="NO" id="aTC-39-h6S">
- <rect key="frame" x="161" y="123" width="246" height="135"/>
+ <rect key="frame" x="161" y="228" width="246" height="135"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" id="TdE-Sh-NcS">
<rect key="frame" x="1" y="1" width="244" height="133"/>
@@ -103,7 +104,7 @@
<rect key="frame" x="0.0" y="0.0" width="236" height="16"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
- <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="checkBox" width="20" minWidth="20" maxWidth="20" id="G44-XP-6xE">
@@ -156,7 +157,7 @@
</scroller>
</scrollView>
<button verticalHuggingPriority="750" id="QAt-5X-NBT">
- <rect key="frame" x="161" y="93" width="71" height="23"/>
+ <rect key="frame" x="161" y="198" width="71" height="23"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="smallSquare" title="Show All" bezelStyle="smallSquare" imagePosition="overlaps" alignment="center" controlSize="small" borderStyle="border" inset="3" id="PiQ-bA-7P1">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
@@ -166,8 +167,78 @@
<action selector="edit:" target="-2" id="13y-nD-hEj"/>
</connections>
</button>
+ <popUpButton verticalHuggingPriority="750" id="Lsa-kB-2BP">
+ <rect key="frame" x="158" y="117" width="252" height="22"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <string key="toolTip">Set the behavior of subtitle "Burn-in"
+
+Burned-In subtitles are part of the video and can not be disabled during playback.
+Only one subtitle track can be burned. Since conflics can occur, the first chosen wins.</string>
+ <popUpButtonCell key="cell" type="push" title="None" bezelStyle="rounded" alignment="left" controlSize="small" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="ej8-4k-1vd" id="vJS-B5-ELJ">
+ <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ <menu key="menu" id="WrT-aW-kW1">
+ <items>
+ <menuItem title="None" state="on" id="ej8-4k-1vd"/>
+ <menuItem title="Foreign Audio Subtitles Track" id="QRd-XH-6TH"/>
+ <menuItem title="First Selected Track" id="mnl-P8-dtK"/>
+ <menuItem title="Foreign Audio, the First Selected Track" id="d79-2j-fhc"/>
+ </items>
+ </menu>
+ </popUpButtonCell>
+ <accessibility description="Burn-In Behavior:"/>
+ <connections>
+ <binding destination="-2" name="selectedIndex" keyPath="self.settings.burnInBehavior" id="VvM-Ka-msm"/>
+ </connections>
+ </popUpButton>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="qAf-lQ-GN4">
+ <rect key="frame" x="-2" y="122" width="157" height="14"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Burn-In Behavior:" id="640-NB-Uby">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
+ <button id="ceZ-On-t5S">
+ <rect key="frame" x="158" y="97" width="96" height="18"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <string key="toolTip">Burn the first selected DVD subtitle track. All other DVD subtitle tracks will be discarded. Use this option if your player software or device does not support DVD Subtitles.
+
+Only one subtitle track can be burned. Since conflics can occur, the first chosen wins.</string>
+ <buttonCell key="cell" type="check" title="DVD Subtitles" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="69Q-xB-Vyq">
+ <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ </buttonCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="self.settings.burnInDVDSubtitles" id="JoG-RB-CFT"/>
+ </connections>
+ </button>
+ <button id="Px8-G6-NVX">
+ <rect key="frame" x="158" y="79" width="110" height="18"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <string key="toolTip">Burn the first selected Blu-ray subtitle track. All other Blu-ray subtitle tracks will be discarded. Use this option if your player software or device does not support Blu-ray Subtitles.
+
+Only one subtitle track can be burned. Since conflics can occur, the first chosen wins.</string>
+ <buttonCell key="cell" type="check" title="Blu-ray Subtitles" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="bfV-9D-6dh">
+ <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ </buttonCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="self.settings.burnInBluraySubtitles" id="bZK-Kf-z6W"/>
+ </connections>
+ </button>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" setsMaxLayoutWidthAtFirstLayout="YES" id="MlS-tB-pEv">
+ <rect key="frame" x="159" y="46" width="250" height="28"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" title="Only one of the above subtitle burn options will be applied, starting with the top." id="N4s-K9-RwM">
+ <font key="font" metaFont="smallSystem"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ </textField>
<button verticalHuggingPriority="750" id="sC2-52-liU">
- <rect key="frame" x="358" y="14" width="54" height="28"/>
+ <rect key="frame" x="363" y="14" width="54" height="28"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Done" bezelStyle="rounded" alignment="center" controlSize="small" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="kDe-1L-VkD">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -182,7 +253,7 @@ DQ
</button>
</subviews>
</view>
- <point key="canvasLocation" x="380.5" y="287"/>
+ <point key="canvasLocation" x="302.5" y="103.5"/>
</window>
<arrayController objectClassName="HBLang" id="ZBe-aP-wvq" userLabel="Table Controller" customClass="HBLanguageArrayController">
<declaredKeys>
diff --git a/macosx/HBSubtitles.m b/macosx/HBSubtitles.m
index 82eceb963..a8fed1cae 100644
--- a/macosx/HBSubtitles.m
+++ b/macosx/HBSubtitles.m
@@ -306,9 +306,63 @@ NSString *keySubTrackLanguageIndex = @"keySubTrackLanguageIndex";
}
}
+ // Set the burn key for the appropriate track.
+ if (self.defaults.burnInBehavior != HBSubtitleTrackBurnInBehaviorNone && self.tracks.count)
+ {
+ if (self.defaults.burnInBehavior == HBSubtitleTrackBurnInBehaviorFirst)
+ {
+ if ([self.tracks.firstObject[keySubTrackIndex] integerValue] != -1)
+ {
+ self.tracks.firstObject[keySubTrackBurned] = @YES;
+ }
+ else if (self.tracks.count > 1)
+ {
+ self.tracks[1][keySubTrackBurned] = @YES;
+ }
+ }
+ else if (self.defaults.burnInBehavior == HBSubtitleTrackBurnInBehaviorForeignAudio)
+ {
+ if ([self.tracks.firstObject[keySubTrackIndex] integerValue] == -1)
+ {
+ self.tracks.firstObject[keySubTrackBurned] = @YES;
+ }
+ }
+ else if (self.defaults.burnInBehavior == HBSubtitleTrackBurnInBehaviorForeignAudioThenFirst)
+ {
+ self.tracks.firstObject[keySubTrackBurned] = @YES;
+ }
+ }
+
+ // Burn-in the first dvd or bluray track and remove the others.
+ if (self.defaults.burnInDVDSubtitles || self.defaults.burnInBluraySubtitles)
+ {
+ // Ugly settings for ugly players
+ BOOL bitmapSubtitlesFound = NO;
+
+ NSMutableArray *tracksToDelete = [[NSMutableArray alloc] init];
+ for (NSMutableDictionary *track in self.tracks)
+ {
+ if ([track[keySubTrackIndex] integerValue] != -1)
+ {
+ if ((([track[keySubTrackType] intValue] == VOBSUB && self.defaults.burnInDVDSubtitles) ||
+ ([track[keySubTrackType] intValue] == PGSSUB && self.defaults.burnInBluraySubtitles)) &&
+ !bitmapSubtitlesFound)
+ {
+ track[keySubTrackBurned] = @YES;
+ bitmapSubtitlesFound = YES;
+ }
+ else if ([track[keySubTrackType] intValue] == VOBSUB || [track[keySubTrackType] intValue] == PGSSUB)
+ {
+ [tracksToDelete addObject:track];
+ }
+ }
+ }
+ [self.tracks removeObjectsInArray:tracksToDelete];
+ [tracksToDelete release];
+ }
+
// Add an empty track
[self insertObject:[self createSubtitleTrack] inTracksAtIndex:[self countOfTracks]];
-
[self validatePassthru];
}
@@ -318,7 +372,6 @@ NSString *keySubTrackLanguageIndex = @"keySubTrackLanguageIndex";
*/
- (void)validatePassthru
{
- int subtitleTrackType;
BOOL convertToBurnInUsed = NO;
NSMutableArray *tracksToDelete = [[NSMutableArray alloc] init];
@@ -330,7 +383,7 @@ NSString *keySubTrackLanguageIndex = @"keySubTrackLanguageIndex";
continue;
}
- subtitleTrackType = [track[keySubTrackType] intValue];
+ int subtitleTrackType = [track[keySubTrackType] intValue];
if (!hb_subtitle_can_pass(subtitleTrackType, self.container))
{
if (convertToBurnInUsed == NO)
@@ -356,7 +409,7 @@ NSString *keySubTrackLanguageIndex = @"keySubTrackLanguageIndex";
continue;
}
- subtitleTrackType = [track[keySubTrackType] intValue];
+ int subtitleTrackType = [track[keySubTrackType] intValue];
if (hb_subtitle_can_pass(subtitleTrackType, self.container))
{
track[keySubTrackBurned] = @0;
diff --git a/macosx/HBSubtitlesDefaults.h b/macosx/HBSubtitlesDefaults.h
index ab65a20b3..793e31d3a 100644
--- a/macosx/HBSubtitlesDefaults.h
+++ b/macosx/HBSubtitlesDefaults.h
@@ -13,6 +13,13 @@ typedef NS_ENUM(NSUInteger, HBSubtitleTrackSelectionBehavior) {
HBSubtitleTrackSelectionBehaviorAll,
};
+typedef NS_ENUM(NSUInteger, HBSubtitleTrackBurnInBehavior) {
+ HBSubtitleTrackBurnInBehaviorNone,
+ HBSubtitleTrackBurnInBehaviorForeignAudio,
+ HBSubtitleTrackBurnInBehaviorFirst,
+ HBSubtitleTrackBurnInBehaviorForeignAudioThenFirst,
+};
+
@interface HBSubtitlesDefaults : NSObject <NSCoding, NSCopying, HBPresetCoding>
@property (nonatomic, readwrite) HBSubtitleTrackSelectionBehavior trackSelectionBehavior;
@@ -22,4 +29,8 @@ typedef NS_ENUM(NSUInteger, HBSubtitleTrackSelectionBehavior) {
@property (nonatomic, readwrite) BOOL addForeignAudioSubtitle;
@property (nonatomic, readwrite) BOOL addCC;
+@property (nonatomic, readwrite) HBSubtitleTrackBurnInBehavior burnInBehavior;
+@property (nonatomic, readwrite) BOOL burnInDVDSubtitles;
+@property (nonatomic, readwrite) BOOL burnInBluraySubtitles;
+
@end
diff --git a/macosx/HBSubtitlesDefaults.m b/macosx/HBSubtitlesDefaults.m
index 359b19ea2..02d9cc345 100644
--- a/macosx/HBSubtitlesDefaults.m
+++ b/macosx/HBSubtitlesDefaults.m
@@ -37,6 +37,28 @@
self.addCC = [preset[@"SubtitleAddCC"] boolValue];
self.addForeignAudioSearch = [preset[@"SubtitleAddForeignAudioSearch"] boolValue];
self.addForeignAudioSubtitle = [preset[@"SubtitleAddForeignAudioSubtitle"] boolValue];
+
+ NSString *burnInBehavior = preset[@"SubtitleBurnBehavior"];
+
+ if ([burnInBehavior isEqualToString:@"foreign"])
+ {
+ self.burnInBehavior = HBSubtitleTrackBurnInBehaviorForeignAudio;
+ }
+ else if ([burnInBehavior isEqualToString:@"fist"])
+ {
+ self.burnInBehavior = HBSubtitleTrackBurnInBehaviorFirst;
+ }
+ else if ([burnInBehavior isEqualToString:@"foreign_first"])
+ {
+ self.burnInBehavior = HBSubtitleTrackBurnInBehaviorForeignAudioThenFirst;
+ }
+ else
+ {
+ self.burnInBehavior = HBSubtitleTrackBurnInBehaviorNone;
+ }
+
+ self.burnInDVDSubtitles = [preset[@"SubtitleBurnDVDSub"] boolValue];
+ self.burnInBluraySubtitles = [preset[@"SubtitleBurnBDSub"] boolValue];
}
- (void)writeToPreset:(NSMutableDictionary *)preset
@@ -58,6 +80,26 @@
preset[@"SubtitleAddCC"] = @(self.addCC);
preset[@"SubtitleAddForeignAudioSearch"] = @(self.addForeignAudioSearch);
preset[@"SubtitleAddForeignAudioSubtitle"] = @(self.addForeignAudioSubtitle);
+
+ if (self.burnInBehavior == HBSubtitleTrackBurnInBehaviorForeignAudio)
+ {
+ preset[@"SubtitleBurnBehavior"] = @"foreign";
+ }
+ else if (self.burnInBehavior == HBSubtitleTrackBurnInBehaviorFirst)
+ {
+ preset[@"SubtitleBurnBehavior"] = @"fist";
+ }
+ else if (self.burnInBehavior == HBSubtitleTrackBurnInBehaviorForeignAudioThenFirst)
+ {
+ preset[@"SubtitleBurnBehavior"] = @"foreign_first";
+ }
+ else
+ {
+ preset[@"SubtitleBurnBehavior"] = @"none";
+ }
+
+ preset[@"SubtitleBurnDVDSub"] = @(self.burnInDVDSubtitles);
+ preset[@"SubtitleBurnBDSub"] = @(self.burnInBluraySubtitles);
}
#pragma mark - NSCopying
@@ -75,8 +117,12 @@
copy->_addForeignAudioSearch = _addForeignAudioSearch;
copy->_addForeignAudioSubtitle = _addForeignAudioSubtitle;
copy->_addCC = _addCC;
+
+ copy->_burnInBehavior = _burnInBehavior;
+ copy->_burnInDVDSubtitles = _burnInDVDSubtitles;
+ copy->_burnInBluraySubtitles = _burnInBluraySubtitles;
}
-
+
return copy;
}
@@ -84,7 +130,7 @@
- (void)encodeWithCoder:(NSCoder *)coder
{
- [coder encodeInt:1 forKey:@"HBAudioDefaultsVersion"];
+ [coder encodeInt:1 forKey:@"HBSubtitlesDefaultsVersion"];
encodeInteger(_trackSelectionBehavior);
encodeObject(_trackSelectionLanguages);
@@ -92,6 +138,10 @@
encodeBool(_addForeignAudioSearch);
encodeBool(_addForeignAudioSubtitle);
encodeBool(_addCC);
+
+ encodeInteger(_burnInBehavior);
+ encodeBool(_burnInDVDSubtitles);
+ encodeBool(_burnInBluraySubtitles);
}
- (id)initWithCoder:(NSCoder *)decoder
@@ -105,6 +155,10 @@
decodeBool(_addForeignAudioSubtitle);
decodeBool(_addCC);
+ decodeInteger(_burnInBehavior);
+ decodeBool(_burnInDVDSubtitles);
+ decodeBool(_burnInBluraySubtitles);
+
return self;
}