/* HBJob.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 "HBTitle.h"
#import "HBVideo.h"
#import "HBPicture.h"
#import "HBFilters.h"
@class HBAudioDefaults;
@class HBSubtitlesDefaults;
@class HBPreset;
typedef NS_ENUM(NSUInteger, HBJobStatus) {
HBJobStatusNone,
HBJobStatusWorking,
HBJobStatusCompleted,
HBJobStatusCanceled
};
/**
* HBJob
*/
@interface HBJob : NSObject
- (instancetype)initWithTitle:(HBTitle *)title url:(NSURL *)fileURL andPreset:(HBPreset *)preset;
- (void)applyPreset:(HBPreset *)preset;
@property (nonatomic, readonly) HBJobStatus status;
// libhb
@property (nonatomic, readonly) HBTitle *title;
@property (nonatomic, readonly) NSURL *fileURL;
// Old job format
@property (nonatomic, readwrite, retain) NSDictionary *jobDict;
@property (nonatomic, readonly) NSAttributedString *jobDescription;
// Job settings
@property (nonatomic, readwrite) int fileFormat;
@property (nonatomic, readwrite) BOOL mp4LargeFile;
@property (nonatomic, readwrite) BOOL mp4HttpOptimize;
@property (nonatomic, readwrite) BOOL mp4iPodCompatible;
@property (nonatomic, readonly) HBVideo *video;
@property (nonatomic, readonly) HBPicture *picture;
@property (nonatomic, readonly) HBFilters *filters;
// Defaults settings
@property (nonatomic, readonly) HBAudioDefaults *audioDefaults;
@property (nonatomic, readonly) HBSubtitlesDefaults *subtitlesDefaults;
@end