OSDN Git Service

MacGui: Built-In Presets moved to new class: HBPresets
[handbrake-jp/handbrake-jp-git.git] / macosx / HBPresets.m
1 /*  HBPresets.m $
2
3    This file is part of the HandBrake source code.
4    Homepage: <http://handbrake.m0k.org/>.
5    It may be used under the terms of the GNU General Public License. */
6
7 #import "HBPresets.h"
8
9
10 @implementation HBPresets
11 - (id)init 
12 {
13     self = [super init];
14    return self;
15 }
16
17 /* Called by -addFactoryPresets in Controller.mm */
18 - (NSMutableArray *) generateBuiltinPresets: (NSMutableArray *) UserPresets
19 {
20     /* We receive the user presets array of dictionaries from controller.mm */
21     /* We re-create new built in presets programmatically and add them to our presets array */
22     [UserPresets addObject:[self createNormalPreset]];
23     [UserPresets addObject:[self createClassicPreset]];
24     [UserPresets addObject:[self createQuickTimePreset]];
25         [UserPresets addObject:[self createIpodLowPreset]];
26         [UserPresets addObject:[self createIpodHighPreset]];
27         [UserPresets addObject:[self createAppleTVPreset]];
28     [UserPresets addObject:[self createiPhonePreset]];
29         [UserPresets addObject:[self createPSThreePreset]];
30         [UserPresets addObject:[self createPSPPreset]];
31         [UserPresets addObject:[self createFilmPreset]];
32     [UserPresets addObject:[self createTelevisionPreset]];
33     [UserPresets addObject:[self createAnimationPreset]];
34     [UserPresets addObject:[self createBedlamPreset]];
35     [UserPresets addObject:[self createDeuxSixQuatrePreset]];
36     [UserPresets addObject:[self createBrokePreset]];
37     [UserPresets addObject:[self createBlindPreset]];
38     [UserPresets addObject:[self createCRFPreset]];
39     /* return the newly regenerated preset array back to Controller.mm */
40     return UserPresets;
41 }
42
43
44
45 #pragma mark -
46 #pragma mark Built In Preset Definitions
47 /* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */
48 /* Note: For now, you can no longer have reference to any main window fields in your key values */
49 - (NSDictionary *)createIpodLowPreset
50 {
51     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
52         /* Get the New Preset Name from the field in the AddPresetPanel */
53     [preset setObject:@"iPod Low-Rez" forKey:@"PresetName"];
54         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
55         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
56         /*Set whether or not this is default, at creation set to 0*/
57         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
58         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
59         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
60         /* Get the New Preset Description from the field in the AddPresetPanel */
61     [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
62         /* File Format */
63     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
64         /* Chapter Markers*/
65          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
66     /* Codecs */
67         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
68         /* Video encoder */
69         [preset setObject:@"x264 (h.264 iPod)" forKey:@"VideoEncoder"];
70         /* x264 Option String */
71         [preset setObject:@"keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1" forKey:@"x264Option"];
72         /* Video quality */
73         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
74         [preset setObject:@"700" forKey:@"VideoTargetSize"];
75         [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
76         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
77         
78         /* Video framerate */
79         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
80         /* GrayScale */
81         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
82         /* 2 Pass Encoding */
83         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
84         
85         /*Picture Settings*/
86         //hb_job_t * job = fTitle->job;
87         /* Basic Picture Settings */
88         /* Use Max Picture settings for whatever the dvd is.*/
89         [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
90         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
91         [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
92         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
93         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
94         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
95         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
96         /* Set crop settings here */
97         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
98         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
99     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
100         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
101         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
102         
103         /*Audio*/
104         /* Audio Sample Rate*/
105         [preset setObject:@"48" forKey:@"AudioSampleRate"];
106         /* Audio Bitrate Rate*/
107         [preset setObject:@"160" forKey:@"AudioBitRate"];
108         /* Subtitles*/
109         [preset setObject:@"None" forKey:@"Subtitles"];
110         
111
112     [preset autorelease];
113     return preset;
114
115 }
116
117 - (NSDictionary *)createIpodHighPreset
118 {
119     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
120         /* Get the New Preset Name from the field in the AddPresetPanel */
121     [preset setObject:@"iPod High-Rez" forKey:@"PresetName"];
122         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
123         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
124         /*Set whether or not this is default, at creation set to 0*/
125         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
126         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
127         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
128         /* Get the New Preset Description from the field in the AddPresetPanel */
129     [preset setObject:@"HandBrake's high resolution settings for the iPod. Good video quality, great for viewing on a TV using your iPod" forKey:@"PresetDescription"];
130         /* File Format */
131     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
132         /* Chapter Markers*/
133          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
134     /* Codecs */
135         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
136         /* Video encoder */
137         [preset setObject:@"x264 (h.264 iPod)" forKey:@"VideoEncoder"];
138         /* x264 Option String */
139         [preset setObject:@"keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1" forKey:@"x264Option"];
140         /* Video quality */
141         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
142         [preset setObject:@"700" forKey:@"VideoTargetSize"];
143         [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
144         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
145         
146         /* Video framerate */
147         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
148         /* GrayScale */
149         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
150         /* 2 Pass Encoding */
151         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
152         
153         /*Picture Settings*/
154         //hb_job_t * job = fTitle->job;
155         /* Basic Picture Settings */
156         /* Use Max Picture settings for whatever the dvd is.*/
157         [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
158         [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
159         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
160         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
161         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
162         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
163         /* Set crop settings here */
164         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
165         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
166         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
167     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
168         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
169         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
170         
171         /*Audio*/
172         /* Audio Sample Rate*/
173         [preset setObject:@"48" forKey:@"AudioSampleRate"];
174         /* Audio Bitrate Rate*/
175         [preset setObject:@"160" forKey:@"AudioBitRate"];
176         /* Subtitles*/
177         [preset setObject:@"None" forKey:@"Subtitles"];
178         
179
180     [preset autorelease];
181     return preset;
182
183 }
184
185 - (NSDictionary *)createAppleTVPreset
186 {
187     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
188         /* Get the New Preset Name from the field in the AddPresetPanel */
189     [preset setObject:@"AppleTV" forKey:@"PresetName"];
190         /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
191         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
192         /*Set whether or not this is default, at creation set to 0*/
193         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
194         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
195         [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
196         /* Get the New Preset Description from the field in the AddPresetPanel */
197     [preset setObject:@"HandBrake's settings for the AppleTV. Provides a good balance between quality and file size, and optimizes performance." forKey:@"PresetDescription"];
198         /* File Format */
199     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
200         /* Chapter Markers*/
201          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
202         /* Codecs */
203         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
204         /* Video encoder */
205         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
206         /* x264 Option String (We can use this to tweak the appleTV output)*/
207         [preset setObject:@"bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2:cabac=0" forKey:@"x264Option"];
208         /* Video quality */
209         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
210         [preset setObject:@"700" forKey:@"VideoTargetSize"];
211         [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
212         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
213         
214         /* Video framerate */
215         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
216         /* GrayScale */
217         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
218         /* 2 Pass Encoding */
219         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
220         
221         /*Picture Settings*/
222         /* For AppleTV we only want to retain UsesMaxPictureSettings
223         which depend on the source dvd picture settings, so we don't
224         record the current dvd's picture info since it will vary from
225         source to source*/
226         //hb_job_t * job = fTitle->job;
227         //hb_job_t * job = title->job;
228         /* Basic Picture Settings */
229         /* Use Max Picture settings for whatever the dvd is.*/
230         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
231         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
232         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
233         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
234         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
235         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
236         /* Set crop settings here */
237         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
238         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
239     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
240         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
241         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
242         
243         /*Audio*/
244         /* Audio Sample Rate*/
245         [preset setObject:@"48" forKey:@"AudioSampleRate"];
246         /* Audio Bitrate Rate*/
247         [preset setObject:@"160" forKey:@"AudioBitRate"];
248         /* Subtitles*/
249         [preset setObject:@"None" forKey:@"Subtitles"];
250         
251
252     [preset autorelease];
253     return preset;
254
255 }
256
257 - (NSDictionary *)createPSThreePreset
258 {
259     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
260         /* Get the New Preset Name from the field in the AddPresetPanel */
261     [preset setObject:@"PS3" forKey:@"PresetName"];
262         /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
263         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
264         /*Set whether or not this is default, at creation set to 0*/
265         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
266         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
267         [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
268         /* Get the New Preset Description from the field in the AddPresetPanel */
269     [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
270         /* File Format */
271     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
272         /* Chapter Markers*/
273          [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
274         /* Codecs */
275         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
276         /* Video encoder */
277         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
278         /* x264 Option String (We can use this to tweak the appleTV output)*/
279         [preset setObject:@"level=41:subme=5:me=umh" forKey:@"x264Option"];
280         /* Video quality */
281         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
282         [preset setObject:@"700" forKey:@"VideoTargetSize"];
283         [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
284         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
285         
286         /* Video framerate */
287         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
288         /* GrayScale */
289         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
290         /* 2 Pass Encoding */
291         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
292         
293         /*Picture Settings*/
294         /* For PS3 we only want to retain UsesMaxPictureSettings
295         which depend on the source dvd picture settings, so we don't
296         record the current dvd's picture info since it will vary from
297         source to source*/
298         /* Use Max Picture settings for whatever the dvd is.*/
299         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
300         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
301         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
302         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
303         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
304         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
305         /* Set crop settings here */
306         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
307         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
308     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
309         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
310         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
311         
312         /*Audio*/
313         /* Audio Sample Rate*/
314         [preset setObject:@"48" forKey:@"AudioSampleRate"];
315         /* Audio Bitrate Rate*/
316         [preset setObject:@"160" forKey:@"AudioBitRate"];
317         /* Subtitles*/
318         [preset setObject:@"None" forKey:@"Subtitles"];
319         
320
321     [preset autorelease];
322     return preset;
323
324 }
325 - (NSDictionary *)createPSPPreset
326 {
327     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
328         /* Get the New Preset Name from the field in the AddPresetPanel */
329     [preset setObject:@"PSP" forKey:@"PresetName"];
330         /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
331         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
332         /*Set whether or not this is default, at creation set to 0*/
333         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
334         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
335         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
336         /* Get the New Preset Description from the field in the AddPresetPanel */
337     [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
338         /* File Format */
339     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
340         /* Chapter Markers*/
341          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
342         /* Codecs */
343         [preset setObject:@"MPEG-4 Video / AAC Audio" forKey:@"FileCodecs"];
344         /* Video encoder */
345         [preset setObject:@"FFmpeg" forKey:@"VideoEncoder"];
346         /* x264 Option String (We can use this to tweak the appleTV output)*/
347         [preset setObject:@"" forKey:@"x264Option"];
348         /* Video quality */
349         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
350         [preset setObject:@"700" forKey:@"VideoTargetSize"];
351         [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
352         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
353         
354         /* Video framerate */
355         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
356         /* GrayScale */
357         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
358         /* 2 Pass Encoding */
359         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
360         
361         /*Picture Settings*/
362         /* For PS3 we only want to retain UsesMaxPictureSettings
363         which depend on the source dvd picture settings, so we don't
364         record the current dvd's picture info since it will vary from
365         source to source*/
366         /* Use Max Picture settings for whatever the dvd is.*/
367         [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
368         [preset setObject:@"368" forKey:@"PictureWidth"];
369         [preset setObject:@"208" forKey:@"PictureHeight"];
370         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
371         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
372         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
373         /* Set crop settings here */
374         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
375         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
376         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
377     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
378         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
379         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
380         
381         /*Audio*/
382         /* Audio Sample Rate*/
383         [preset setObject:@"48" forKey:@"AudioSampleRate"];
384         /* Audio Bitrate Rate*/
385         [preset setObject:@"128" forKey:@"AudioBitRate"];
386         /* Subtitles*/
387         [preset setObject:@"None" forKey:@"Subtitles"];
388         
389
390     [preset autorelease];
391     return preset;
392
393 }
394
395 - (NSDictionary *)createNormalPreset
396 {
397     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
398         /* Get the New Preset Name from the field in the AddPresetPanel */
399     [preset setObject:@"Normal" forKey:@"PresetName"];
400         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
401         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
402         /*Set whether or not this is default, at creation set to 0*/
403         [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
404         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
405         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
406         /* Get the New Preset Description from the field in the AddPresetPanel */
407     [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
408         /* File Format */
409     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
410         /* Chapter Markers*/
411          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
412     /* Codecs */
413         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
414         /* Video encoder */
415         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
416         /* x264 Option String */
417         [preset setObject:@"ref=2:bframes=2:subme=5:me=umh" forKey:@"x264Option"];
418         /* Video quality */
419         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
420         [preset setObject:@"700" forKey:@"VideoTargetSize"];
421         [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
422         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
423         
424         /* Video framerate */
425         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
426         /* GrayScale */
427         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
428         /* 2 Pass Encoding */
429         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
430         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
431         
432         /*Picture Settings*/
433         //hb_job_t * job = fTitle->job;
434         /* Basic Picture Settings */
435         /* Use Max Picture settings for whatever the dvd is.*/
436         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
437         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
438         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
439         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
440         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
441         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
442         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
443         /* Set crop settings here */
444         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
445         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
446     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
447         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
448         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
449         
450         /*Audio*/
451         /* Audio Sample Rate*/
452         [preset setObject:@"48" forKey:@"AudioSampleRate"];
453         /* Audio Bitrate Rate*/
454         [preset setObject:@"160" forKey:@"AudioBitRate"];
455         /* Subtitles*/
456         [preset setObject:@"None" forKey:@"Subtitles"];
457         
458
459     [preset autorelease];
460     return preset;
461
462 }
463
464 - (NSDictionary *)createClassicPreset
465 {
466     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
467         /* Get the New Preset Name from the field in the AddPresetPanel */
468     [preset setObject:@"Classic" forKey:@"PresetName"];
469         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
470         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
471         /*Set whether or not this is default, at creation set to 0*/
472         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
473         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
474         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
475         /* Get the New Preset Description from the field in the AddPresetPanel */
476     [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
477         /* File Format */
478     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
479         /* Chapter Markers*/
480          [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
481     /* Codecs */
482         [preset setObject:@"MPEG-4 Video / AAC Audio" forKey:@"FileCodecs"];
483         /* Video encoder */
484         [preset setObject:@"FFmpeg" forKey:@"VideoEncoder"];
485         /* x264 Option String */
486         [preset setObject:@"" forKey:@"x264Option"];
487         /* Video quality */
488         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
489         [preset setObject:@"700"  forKey:@"VideoTargetSize"];
490         [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
491         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
492         
493         /* Video framerate */
494         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
495         /* GrayScale */
496         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
497         /* 2 Pass Encoding */
498         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
499         
500         /*Picture Settings*/
501         //hb_job_t * job = fTitle->job;
502         /* Basic Picture Settings */
503         /* Use Max Picture settings for whatever the dvd is.*/
504         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
505         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
506         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
507         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
508         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
509         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
510         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
511         /* Set crop settings here */
512         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
513         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
514     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
515         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
516         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
517         
518         /*Audio*/
519         /* Audio Sample Rate*/
520         [preset setObject:@"48" forKey:@"AudioSampleRate"];
521         /* Audio Bitrate Rate*/
522         [preset setObject:@"160" forKey:@"AudioBitRate"];
523         /* Subtitles*/
524         [preset setObject:@"None" forKey:@"Subtitles"];
525         
526
527     [preset autorelease];
528     return preset;
529
530 }
531
532 - (NSDictionary *)createFilmPreset
533 {
534     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
535         /* Get the New Preset Name from the field in the AddPresetPanel */
536     [preset setObject:@"Film" forKey:@"PresetName"];
537         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
538         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
539         /*Set whether or not this is default, at creation set to 0*/
540         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
541         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
542         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
543         /* Get the New Preset Description from the field in the AddPresetPanel */
544     [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
545         /* File Format */
546     [preset setObject:@"MKV file" forKey:@"FileFormat"];
547         /* Chapter Markers*/
548          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
549     /* Codecs */
550         [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
551         /* Video encoder */
552         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
553         /* x264 Option String */
554         [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip" forKey:@"x264Option"];
555         /* Video quality */
556         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
557         [preset setObject:@"700" forKey:@"VideoTargetSize"];
558         [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
559         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
560         
561         /* Video framerate */
562         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
563         /* GrayScale */
564         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
565         /* 2 Pass Encoding */
566         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
567         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
568         
569         /*Picture Settings*/
570         //hb_job_t * job = fTitle->job;
571         /* Basic Picture Settings */
572         /* Use Max Picture settings for whatever the dvd is.*/
573         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
574         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
575         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
576         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
577         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
578         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
579         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
580         /* Set crop settings here */
581         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
582         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
583     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
584         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
585         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
586         
587         /*Audio*/
588         /* Audio Sample Rate*/
589         [preset setObject:@"48" forKey:@"AudioSampleRate"];
590         /* Audio Bitrate Rate*/
591         [preset setObject:@"160" forKey:@"AudioBitRate"];
592         /* Subtitles*/
593         [preset setObject:@"None" forKey:@"Subtitles"];
594         
595
596     [preset autorelease];
597     return preset;
598
599 }
600
601 - (NSDictionary *)createTelevisionPreset
602 {
603     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
604         /* Get the New Preset Name from the field in the AddPresetPanel */
605     [preset setObject:@"Television" forKey:@"PresetName"];
606         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
607         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
608         /*Set whether or not this is default, at creation set to 0*/
609         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
610         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
611         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
612         /* Get the New Preset Description from the field in the AddPresetPanel */
613     [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
614         /* File Format */
615     [preset setObject:@"MKV file" forKey:@"FileFormat"];
616         /* Chapter Markers*/
617          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
618     /* Codecs */
619         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
620         /* Video encoder */
621         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
622         /* x264 Option String */
623         [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip" forKey:@"x264Option"];
624         /* Video quality */
625         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
626         [preset setObject:@"700" forKey:@"VideoTargetSize"];
627         [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
628         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
629         
630         /* Video framerate */
631         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
632         /* GrayScale */
633         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
634         /* 2 Pass Encoding */
635         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
636         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
637         
638         /*Picture Settings*/
639         //hb_job_t * job = fTitle->job;
640         /* Basic Picture Settings */
641         /* Use Max Picture settings for whatever the dvd is.*/
642         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
643         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
644         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
645         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
646         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
647         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDeinterlace"];
648         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
649         /* Set crop settings here */
650         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
651         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
652     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
653         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
654         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
655         
656         /*Audio*/
657         /* Audio Sample Rate*/
658         [preset setObject:@"48" forKey:@"AudioSampleRate"];
659         /* Audio Bitrate Rate*/
660         [preset setObject:@"160" forKey:@"AudioBitRate"];
661         /* Subtitles*/
662         [preset setObject:@"None" forKey:@"Subtitles"];
663         
664
665     [preset autorelease];
666     return preset;
667
668 }
669
670 - (NSDictionary *)createAnimationPreset
671 {
672     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
673         /* Get the New Preset Name from the field in the AddPresetPanel */
674     [preset setObject:@"Animation" forKey:@"PresetName"];
675         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
676         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
677         /*Set whether or not this is default, at creation set to 0*/
678         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
679         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
680         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
681         /* Get the New Preset Description from the field in the AddPresetPanel */
682     [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"];
683         /* File Format */
684     [preset setObject:@"MKV file" forKey:@"FileFormat"];
685         /* Chapter Markers*/
686          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
687     /* Codecs */
688         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
689         /* Video encoder */
690         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
691         /* x264 Option String */
692         [preset setObject:@"ref=5:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2" forKey:@"x264Option"];
693         /* Video quality */
694         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
695         [preset setObject:@"700" forKey:@"VideoTargetSize"];
696         [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
697         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
698         
699         /* Video framerate */
700         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
701         /* GrayScale */
702         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
703         /* 2 Pass Encoding */
704         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
705         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
706         
707         /*Picture Settings*/
708         //hb_job_t * job = fTitle->job;
709         /* Basic Picture Settings */
710         /* Use Max Picture settings for whatever the dvd is.*/
711         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
712         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
713         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
714         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
715         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
716         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDeinterlace"];
717         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
718         /* Set crop settings here */
719         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
720         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
721     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
722         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
723         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
724         
725         /*Audio*/
726         /* Audio Sample Rate*/
727         [preset setObject:@"48" forKey:@"AudioSampleRate"];
728         /* Audio Bitrate Rate*/
729         [preset setObject:@"160" forKey:@"AudioBitRate"];
730         /* Subtitles*/
731         [preset setObject:@"None" forKey:@"Subtitles"];
732         
733
734     [preset autorelease];
735     return preset;
736
737 }
738
739 - (NSDictionary *)createQuickTimePreset
740 {
741     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
742         /* Get the New Preset Name from the field in the AddPresetPanel */
743     [preset setObject:@"QuickTime" forKey:@"PresetName"];
744         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
745         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
746         /*Set whether or not this is default, at creation set to 0*/
747         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
748         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
749         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
750         /* Get the New Preset Description from the field in the AddPresetPanel */
751     [preset setObject:@"HandBrake's high quality settings for use with QuickTime. It can be slow, so use it when the Normal preset doesn't look good enough." forKey:@"PresetDescription"];
752         /* File Format */
753     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
754         /* Chapter Markers*/
755          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
756     /* Codecs */
757         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
758         /* Video encoder */
759         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
760         /* x264 Option String */
761         [preset setObject:@"ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:trellis=1:no-fast-pskip" forKey:@"x264Option"];
762         /* Video quality */
763         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
764         [preset setObject:@"700" forKey:@"VideoTargetSize"];
765         [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
766         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
767         
768         /* Video framerate */
769         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
770         /* GrayScale */
771         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
772         /* 2 Pass Encoding */
773         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
774         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
775         
776         /*Picture Settings*/
777         //hb_job_t * job = fTitle->job;
778         /* Basic Picture Settings */
779         /* Use Max Picture settings for whatever the dvd is.*/
780         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
781         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
782         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
783         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
784         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
785         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
786         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
787         /* Set crop settings here */
788         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
789         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
790     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
791         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
792         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
793         
794         /*Audio*/
795         /* Audio Sample Rate*/
796         [preset setObject:@"48" forKey:@"AudioSampleRate"];
797         /* Audio Bitrate Rate*/
798         [preset setObject:@"160" forKey:@"AudioBitRate"];
799         /* Subtitles*/
800         [preset setObject:@"None" forKey:@"Subtitles"];
801         
802
803     [preset autorelease];
804     return preset;
805
806 }
807
808 - (NSDictionary *)createBedlamPreset
809 {
810     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
811         /* Get the New Preset Name from the field in the AddPresetPanel */
812     [preset setObject:@"Bedlam" forKey:@"PresetName"];
813         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
814         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
815         /*Set whether or not this is default, at creation set to 0*/
816         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
817         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
818         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
819         /* Get the New Preset Description from the field in the AddPresetPanel */
820     [preset setObject:@"HandBrake's settings maxed out for slowest encoding and highest quality. Use at your own risk. So slow it's not just insane...it's a trip to the looney bin." forKey:@"PresetDescription"];
821         /* File Format */
822     [preset setObject:@"MKV file" forKey:@"FileFormat"];
823         /* Chapter Markers*/
824          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
825     /* Codecs */
826         [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
827         /* Video encoder */
828         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
829         /* x264 Option String */
830         [preset setObject:@"ref=16:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:me-range=64:analyse=all:8x8dct:trellis=2:no-fast-pskip:no-dct-decimate:filter=-2,-1" forKey:@"x264Option"];
831         /* Video quality */
832         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
833         [preset setObject:@"700" forKey:@"VideoTargetSize"];
834         [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
835         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
836         
837         /* Video framerate */
838         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
839         /* GrayScale */
840         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
841         /* 2 Pass Encoding */
842         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
843         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
844         
845         /*Picture Settings*/
846         //hb_job_t * job = fTitle->job;
847         /* Basic Picture Settings */
848         /* Use Max Picture settings for whatever the dvd is.*/
849         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
850         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
851         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
852         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
853         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
854         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
855         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
856         /* Set crop settings here */
857         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
858         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
859     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
860         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
861         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
862         
863         /*Audio*/
864         /* Audio Sample Rate*/
865         [preset setObject:@"48" forKey:@"AudioSampleRate"];
866         /* Audio Bitrate Rate*/
867         [preset setObject:@"160" forKey:@"AudioBitRate"];
868         /* Subtitles*/
869         [preset setObject:@"None" forKey:@"Subtitles"];
870         
871
872     [preset autorelease];
873     return preset;
874
875 }
876
877 - (NSDictionary *)createiPhonePreset
878 {
879     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
880         /* Get the New Preset Name from the field in the AddPresetPanel */
881     [preset setObject:@"iPhone / iPod Touch" forKey:@"PresetName"];
882         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
883         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
884         /*Set whether or not this is default, at creation set to 0*/
885         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
886         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
887         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
888         /* Get the New Preset Description from the field in the AddPresetPanel */
889     [preset setObject:@"HandBrake's settings for the iPhone." forKey:@"PresetDescription"];
890         /* File Format */
891     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
892         /* Chapter Markers*/
893          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
894     /* Codecs */
895         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
896         /* Video encoder */
897         [preset setObject:@"x264 (h.264 iPod)" forKey:@"VideoEncoder"];
898         /* x264 Option String */
899         [preset setObject:@"cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
900         /* Video quality */
901         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
902         [preset setObject:@"700" forKey:@"VideoTargetSize"];
903         [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
904         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
905         
906         /* Video framerate */
907         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
908         /* GrayScale */
909         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
910         /* 2 Pass Encoding */
911         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
912         
913         /*Picture Settings*/
914         //hb_job_t * job = fTitle->job;
915         /* Basic Picture Settings */
916         /* Use Max Picture settings for whatever the dvd is.*/
917         [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
918         [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
919         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
920         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
921         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
922         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
923         /* Set crop settings here */
924         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
925         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
926         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
927     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
928         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
929         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
930         
931         /*Audio*/
932         /* Audio Sample Rate*/
933         [preset setObject:@"48" forKey:@"AudioSampleRate"];
934         /* Audio Bitrate Rate*/
935         [preset setObject:@"128" forKey:@"AudioBitRate"];
936         /* Subtitles*/
937         [preset setObject:@"None" forKey:@"Subtitles"];
938         
939
940     [preset autorelease];
941     return preset;
942
943 }
944
945 - (NSDictionary *)createDeuxSixQuatrePreset
946 {
947     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
948         /* Get the New Preset Name from the field in the AddPresetPanel */
949     [preset setObject:@"Deux Six Quatre" forKey:@"PresetName"];
950         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
951         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
952         /*Set whether or not this is default, at creation set to 0*/
953         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
954         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
955         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
956         /* Get the New Preset Description from the field in the AddPresetPanel */
957     [preset setObject:@"HandBrake's preset for true high profile x264 quality. A good balance of quality and speed, based on community standards found in the wild. This preset will give you a much better sense of x264's capabilities than vanilla main profile." forKey:@"PresetDescription"];
958         /* File Format */
959     [preset setObject:@"MKV file" forKey:@"FileFormat"];
960         /* Chapter Markers*/
961          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
962     /* Codecs */
963         [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
964         /* Video encoder */
965         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
966         /* x264 Option String */
967         [preset setObject:@"ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip" forKey:@"x264Option"];
968         /* Video quality */
969         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
970         [preset setObject:@"700" forKey:@"VideoTargetSize"];
971         [preset setObject:@"1600" forKey:@"VideoAvgBitrate"];
972         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
973         
974         /* Video framerate */
975         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
976         /* GrayScale */
977         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
978         /* 2 Pass Encoding */
979         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
980         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
981         
982         /*Picture Settings*/
983         //hb_job_t * job = fTitle->job;
984         /* Basic Picture Settings */
985         /* Use Max Picture settings for whatever the dvd is.*/
986         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
987         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
988         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
989         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
990         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
991         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
992         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
993         /* Set crop settings here */
994         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
995         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
996     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
997         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
998         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
999         
1000         /*Audio*/
1001         /* Audio Sample Rate*/
1002         [preset setObject:@"48" forKey:@"AudioSampleRate"];
1003         /* Audio Bitrate Rate*/
1004         [preset setObject:@"160" forKey:@"AudioBitRate"];
1005         /* Subtitles*/
1006         [preset setObject:@"None" forKey:@"Subtitles"];
1007         
1008
1009     [preset autorelease];
1010     return preset;
1011
1012 }
1013
1014 - (NSDictionary *)createBrokePreset
1015 {
1016     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1017         /* Get the New Preset Name from the field in the AddPresetPanel */
1018     [preset setObject:@"Broke" forKey:@"PresetName"];
1019         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1020         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1021         /*Set whether or not this is default, at creation set to 0*/
1022         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1023         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1024         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1025         /* Get the New Preset Description from the field in the AddPresetPanel */
1026     [preset setObject:@"HandBrake's preset for people without a lot of money to waste on hard drives. Tries to maximize quality for burning to CDs, so you can party like it's 1999." forKey:@"PresetDescription"];
1027         /* File Format */
1028     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1029         /* Chapter Markers*/
1030          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1031     /* Codecs */
1032         [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1033         /* Video encoder */
1034         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
1035         /* x264 Option String */
1036         [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:b-pyramid:direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip" forKey:@"x264Option"];
1037         /* Video quality */
1038         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoQualityType"];
1039         [preset setObject:@"695" forKey:@"VideoTargetSize"];
1040         [preset setObject:@"1600" forKey:@"VideoAvgBitrate"];
1041         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1042         
1043         /* Video framerate */
1044         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1045         /* GrayScale */
1046         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1047         /* 2 Pass Encoding */
1048         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1049         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1050         
1051         /*Picture Settings*/
1052         //hb_job_t * job = fTitle->job;
1053         /* Basic Picture Settings */
1054         /* Use Max Picture settings for whatever the dvd is.*/
1055         [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1056         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1057         [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1058         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1059         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1060         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1061         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1062         /* Set crop settings here */
1063         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1064         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1065     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1066         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1067         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1068         
1069         /*Audio*/
1070         /* Audio Sample Rate*/
1071         [preset setObject:@"48" forKey:@"AudioSampleRate"];
1072         /* Audio Bitrate Rate*/
1073         [preset setObject:@"128" forKey:@"AudioBitRate"];
1074         /* Subtitles*/
1075         [preset setObject:@"None" forKey:@"Subtitles"];
1076         
1077
1078     [preset autorelease];
1079     return preset;
1080
1081 }
1082
1083 - (NSDictionary *)createBlindPreset
1084 {
1085     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1086         /* Get the New Preset Name from the field in the AddPresetPanel */
1087     [preset setObject:@"Blind" forKey:@"PresetName"];
1088         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1089         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1090         /*Set whether or not this is default, at creation set to 0*/
1091         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1092         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1093         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1094         /* Get the New Preset Description from the field in the AddPresetPanel */
1095     [preset setObject:@"HandBrake's preset for impatient people who don't care about picture quality." forKey:@"PresetDescription"];
1096         /* File Format */
1097     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1098         /* Chapter Markers*/
1099          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1100     /* Codecs */
1101         [preset setObject:@"MPEG-4 Video / AAC Audio" forKey:@"FileCodecs"];
1102         /* Video encoder */
1103         [preset setObject:@"FFmpeg" forKey:@"VideoEncoder"];
1104         /* x264 Option String */
1105         [preset setObject:@"" forKey:@"x264Option"];
1106         /* Video quality */
1107         [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1108         [preset setObject:@"700" forKey:@"VideoTargetSize"];
1109         [preset setObject:@"512" forKey:@"VideoAvgBitrate"];
1110         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1111         
1112         /* Video framerate */
1113         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1114         /* GrayScale */
1115         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1116         /* 2 Pass Encoding */
1117         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1118         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
1119         
1120         /*Picture Settings*/
1121         //hb_job_t * job = fTitle->job;
1122         /* Basic Picture Settings */
1123         /* Use Max Picture settings for whatever the dvd is.*/
1124         [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1125         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1126         [preset setObject:[NSNumber numberWithInt:512] forKey:@"PictureWidth"];
1127         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1128         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1129         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1130         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1131         /* Set crop settings here */
1132         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1133         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1134     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1135         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1136         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1137         
1138         /*Audio*/
1139         /* Audio Sample Rate*/
1140         [preset setObject:@"48" forKey:@"AudioSampleRate"];
1141         /* Audio Bitrate Rate*/
1142         [preset setObject:@"128" forKey:@"AudioBitRate"];
1143         /* Subtitles*/
1144         [preset setObject:@"None" forKey:@"Subtitles"];
1145         
1146
1147     [preset autorelease];
1148     return preset;
1149
1150 }
1151
1152 - (NSDictionary *)createCRFPreset
1153 {
1154     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1155         /* Get the New Preset Name from the field in the AddPresetPanel */
1156     [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
1157         /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1158         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1159         /*Set whether or not this is default, at creation set to 0*/
1160         [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1161         /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1162         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1163         /* Get the New Preset Description from the field in the AddPresetPanel */
1164     [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
1165         /* File Format */
1166     [preset setObject:@"MKV file" forKey:@"FileFormat"];
1167         /* Chapter Markers*/
1168          [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1169     /* Codecs */
1170         [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
1171         /* Video encoder */
1172         [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
1173         /* x264 Option String */
1174         [preset setObject:@"ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh" forKey:@"x264Option"];
1175         /* Video quality */
1176         [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
1177         [preset setObject:@"700" forKey:@"VideoTargetSize"];
1178         [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
1179         [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1180         
1181         /* Video framerate */
1182         [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1183         /* GrayScale */
1184         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1185         /* 2 Pass Encoding */
1186         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1187         [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
1188         
1189         /*Picture Settings*/
1190         //hb_job_t * job = fTitle->job;
1191         /* Basic Picture Settings */
1192         /* Use Max Picture settings for whatever the dvd is.*/
1193         [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1194         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1195         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1196         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1197         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1198         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1199         [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1200         /* Set crop settings here */
1201         /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1202         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1203     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1204         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1205         [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1206         
1207         /*Audio*/
1208         /* Audio Sample Rate*/
1209         [preset setObject:@"48" forKey:@"AudioSampleRate"];
1210         /* Audio Bitrate Rate*/
1211         [preset setObject:@"160" forKey:@"AudioBitRate"];
1212         /* Subtitles*/
1213         [preset setObject:@"None" forKey:@"Subtitles"];
1214         
1215
1216     [preset autorelease];
1217     return preset;
1218
1219 }
1220
1221
1222
1223 @end