summaryrefslogtreecommitdiffstats
path: root/macosx/HBVideoController.h
blob: 6845ed7031f9add0305eebbe3779069500e95556 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*  HBVideoController.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 <Cocoa/Cocoa.h>
#import "HBViewValidation.h"

#include "hb.h"

@class HBController;
@class HBAdvancedController;

extern NSString *HBVideoEncoderChangedNotification;

/**
 *  HBVideoController
 *
 *  Responds to HBContainerChangedNotification and HBTitleChangedNotification notifications.
 */
@interface HBVideoController : NSViewController <HBViewValidation>

// Methods to apply the settings to the controller
- (void)applyVideoSettingsFromQueue:(NSDictionary *)queueToApply;
- (void)applySettingsFromPreset:(NSDictionary *)preset;

// Methods to get back the controller settings
- (void)prepareVideoForQueueFileJob:(NSMutableDictionary *)queueFileJob;
- (void)prepareVideoForJobPreview:(hb_job_t *)job andTitle:(hb_title_t *)title;
- (void)prepareVideoForPreset:(NSMutableDictionary *)preset;

- (IBAction)x264PresetsChangedDisplayExpandedOptions:(id)sender;

@property (nonatomic, copy, readwrite) NSString *pictureSettingsField;
@property (nonatomic, copy, readwrite) NSString *pictureFiltersField;

// Property exposed for the auto name function
@property (nonatomic, readonly) int codec;
@property (nonatomic, readonly) int qualityType;
@property (nonatomic, readonly) NSString *selectedBitrate;
@property (nonatomic, readonly) NSString *selectedQuality;

// Property updates when the video size changes
@property (nonatomic, readwrite) NSUInteger fPresetsWidthForUnparse;
@property (nonatomic, readwrite) NSUInteger fPresetsHeightForUnparse;

@property (nonatomic, retain, readwrite) HBController *fHBController;
@property (nonatomic, retain, readwrite) HBAdvancedController *fAdvancedOptions;

@end