/* HBSubtitles.h $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ #import #import "HBPresetCoding.h" NS_ASSUME_NONNULL_BEGIN extern NSString *keySubTrackSelectionIndex; extern NSString *keySubTrackName; extern NSString *keySubTrackIndex; extern NSString *keySubTrackLanguage; extern NSString *keySubTrackLanguageIsoCode; extern NSString *keySubTrackType; extern NSString *keySubTrackForced; extern NSString *keySubTrackBurned; extern NSString *keySubTrackDefault; extern NSString *keySubTrackSrtOffset; extern NSString *keySubTrackSrtFilePath; extern NSString *keySubTrackSrtCharCode; extern NSString *keySubTrackSrtCharCodeIndex; extern NSString *keySubTrackLanguageIndex; @class HBTitle; @class HBSubtitlesDefaults; @interface HBSubtitles : NSObject - (instancetype)initWithTitle:(HBTitle *)title; - (void)addAllTracks; - (void)removeAll; - (void)reloadDefaults; - (void)validatePassthru; - (NSMutableDictionary *)createSubtitleTrack; - (NSMutableDictionary *)trackFromSourceTrackIndex:(NSInteger)index; @property (nonatomic, readonly) NSMutableArray *masterTrackArray; // the master list of audio tracks from the title @property (nonatomic, readonly) NSMutableArray *tracks; @property (nonatomic, readwrite, strong) NSString *foreignAudioSearchTrackName; @property (nonatomic, readonly) NSArray *charCodeArray; @property (nonatomic, readonly) NSArray *languagesArray; @property (nonatomic, readonly) NSInteger languagesArrayDefIndex; @property (nonatomic, readwrite, strong) HBSubtitlesDefaults *defaults; /** * For internal use */ - (void)containerChanged:(int)container; @property (nonatomic, readwrite) int container; // initially is the default HB_MUX_MP4 @end @interface HBSubtitles (KVC) @property (nonatomic, readonly) NSUInteger countOfTracks; - (id)objectInTracksAtIndex:(NSUInteger)index; - (void)insertObject:(id)audioObject inTracksAtIndex:(NSUInteger)index; - (void)removeObjectFromTracksAtIndex:(NSUInteger)index; @end NS_ASSUME_NONNULL_END