WinGui: Fix another instance of the Caliburn vs Json.net sillyness where objects...
[HandBrake.git] / macosx / HBSubtitles.h
blob29487dd6c459ad4f200e0e934e4e6ed2b624d65a
1 /* HBSubtitles.h $
3 This file is part of the HandBrake source code.
4 Homepage: <http://handbrake.fr/>.
5 It may be used under the terms of the GNU General Public License. */
7 #import <Foundation/Foundation.h>
8 #import "HBPresetCoding.h"
10 NS_ASSUME_NONNULL_BEGIN
12 extern NSString *keySubTrackSelectionIndex;
13 extern NSString *keySubTrackName;
14 extern NSString *keySubTrackIndex;
15 extern NSString *keySubTrackLanguage;
16 extern NSString *keySubTrackLanguageIsoCode;
17 extern NSString *keySubTrackType;
19 extern NSString *keySubTrackForced;
20 extern NSString *keySubTrackBurned;
21 extern NSString *keySubTrackDefault;
23 extern NSString *keySubTrackSrtOffset;
24 extern NSString *keySubTrackSrtFilePath;
25 extern NSString *keySubTrackSrtCharCode;
26 extern NSString *keySubTrackSrtCharCodeIndex;
27 extern NSString *keySubTrackLanguageIndex;
29 @class HBTitle;
30 @class HBSubtitlesDefaults;
32 @interface HBSubtitles : NSObject <NSSecureCoding, NSCopying, HBPresetCoding>
34 - (instancetype)initWithTitle:(HBTitle *)title;
36 - (void)addAllTracks;
37 - (void)removeAll;
38 - (void)reloadDefaults;
40 - (void)validatePassthru;
41 - (NSMutableDictionary *)createSubtitleTrack;
42 - (NSMutableDictionary *)trackFromSourceTrackIndex:(NSInteger)index;
44 @property (nonatomic, readonly) NSMutableArray *masterTrackArray; // the master list of audio tracks from the title
45 @property (nonatomic, readonly) NSMutableArray *tracks;
47 @property (nonatomic, readwrite, strong) NSString *foreignAudioSearchTrackName;
48 @property (nonatomic, readonly) NSArray *charCodeArray;
50 @property (nonatomic, readonly) NSArray *languagesArray;
51 @property (nonatomic, readonly) NSInteger languagesArrayDefIndex;
53 @property (nonatomic, readwrite, strong) HBSubtitlesDefaults *defaults;
55 /**
56 * For internal use
59 - (void)containerChanged:(int)container;
60 @property (nonatomic, readwrite) int container; // initially is the default HB_MUX_MP4
62 @end
64 @interface HBSubtitles (KVC)
66 @property (nonatomic, readonly) NSUInteger countOfTracks;
67 - (id)objectInTracksAtIndex:(NSUInteger)index;
68 - (void)insertObject:(id)audioObject inTracksAtIndex:(NSUInteger)index;
69 - (void)removeObjectFromTracksAtIndex:(NSUInteger)index;
71 @end
73 NS_ASSUME_NONNULL_END