OSDN Git Service

a9911a31edebef3f27f9adef11cba508fe5189da
[handbrake-jp/handbrake-jp.git] / macosx / HBPresets.m
1 /*  HBPresets.m $
2
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. */
6
7 #import "HBPresets.h"
8
9 @implementation HBPresets
10 - (id)init 
11 {
12     self = [super init];
13    return self;
14 }
15
16 /* Called by -addFactoryPresets in Controller.mm */
17 - (NSMutableArray *) generateBuiltinPresets: (NSMutableArray *) UserPresets
18 {
19     /* We receive the user presets array of dictionaries from controller.mm */
20     /* We re-create new built in presets programmatically and add them to our presets array */
21     
22     /* Note: the built in presets will *not* sort themselves alphabetically, so they will
23      * appear in the order you create them
24      */
25     /* Built in preset folders at the root of the hierarchy */
26     [UserPresets addObject:[self createApplePresetFolder]];
27     [UserPresets addObject:[self createBasicPresetFolder]];
28     [UserPresets addObject:[self createHiProfilePresetFolder]];
29     [UserPresets addObject:[self createGamingConsolesPresetFolder]];
30     
31     /* Independent presets at the root hierarchy level would go here */
32     
33     /* return the newly regenerated preset array back to Controller.mm */
34     return UserPresets;
35 }
36
37 #pragma mark -
38
39 #pragma mark Built In Preset Folder Definitions
40
41 - (NSDictionary *)createApplePresetFolder
42 {
43     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
44 /*Set whether or not this is a folder, 1 is bool for folder*/
45     [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
46
47
48     /* Get the New Preset Name from the field in the AddPresetPanel */
49     [preset setObject:@"Apple" forKey:@"PresetName"];
50
51     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
52     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
53
54     /*Set whether or not this is default, at creation set to 0*/
55     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
56     
57     /* Lets initalize the child array of dictionaries for folders, this
58      is an array of dictionaries much like the root level of presets and
59      may contain folders and presets alike, etc.*/
60     NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
61     /* we actually call the methods for the nests here */
62     [childrenArray addObject:[self createAppleUniversalPreset]];
63     [childrenArray addObject:[self createIpodLowPreset]];
64     [childrenArray addObject:[self createiPhonePreset]];
65     [childrenArray addObject:[self createAppleTVPreset]];
66     [childrenArray addObject:[self createQuickTimePreset]];
67     [childrenArray addObject:[self createLegacyPresetFolder]];
68
69     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
70     
71     [childrenArray autorelease];
72
73
74
75     [preset autorelease];
76     return preset;
77 }
78
79 - (NSDictionary *)createGamingConsolesPresetFolder
80 {
81     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
82 /*Set whether or not this is a folder, 1 is bool for folder*/
83     [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
84
85
86     /* Get the New Preset Name from the field in the AddPresetPanel */
87     [preset setObject:@"Gaming Consoles" forKey:@"PresetName"];
88
89     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
90     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
91
92     /*Set whether or not this is default, at creation set to 0*/
93     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
94     
95     /* Lets initalize the child array of dictionaries for folders, this
96      is an array of dictionaries much like the root level of presets and
97      may contain folders and presets alike, etc.*/
98     NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
99     /* we actually call the methods for the nests here */
100     [childrenArray addObject:[self createPSPPreset]];
101     [childrenArray addObject:[self createPSThreePreset]];
102     [childrenArray addObject:[self create360Preset]];
103     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
104     
105     [childrenArray autorelease];
106
107
108
109     [preset autorelease];
110     return preset;
111 }
112
113
114 - (NSDictionary *)createBasicPresetFolder
115 {
116     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
117 /*Set whether or not this is a folder, 1 is bool for folder*/
118     [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
119
120
121     /* Get the New Preset Name from the field in the AddPresetPanel */
122     [preset setObject:@"Basic" forKey:@"PresetName"];
123
124     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
125     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
126
127     /*Set whether or not this is default, at creation set to 0*/
128     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
129     
130     /* Lets initalize the child array of dictionaries for folders, this
131      is an array of dictionaries much like the root level of presets and
132      may contain folders and presets alike, etc.*/
133     NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
134     /* we actually call the methods for the nests here */
135     [childrenArray addObject:[self createNormalPreset]];
136     [childrenArray addObject:[self createClassicPreset]];
137     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
138     
139     [childrenArray autorelease];
140
141
142
143     [preset autorelease];
144     return preset;
145 }
146
147 - (NSDictionary *)createHiProfilePresetFolder
148 {
149     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
150 /*Set whether or not this is a folder, 1 is bool for folder*/
151     [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
152
153
154     /* Get the New Preset Name from the field in the AddPresetPanel */
155     [preset setObject:@"High Profile" forKey:@"PresetName"];
156
157     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
158     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
159
160     /*Set whether or not this is default, at creation set to 0*/
161     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
162     
163     /* Lets initalize the child array of dictionaries for folders, this
164      is an array of dictionaries much like the root level of presets and
165      may contain folders and presets alike, etc.*/
166     NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
167     /* we actually call the methods for the nests here */
168     [childrenArray addObject:[self createAnimationPreset]];
169     [childrenArray addObject:[self createCRFPreset]];
170     [childrenArray addObject:[self createFilmPreset]];
171     [childrenArray addObject:[self createTelevisionPreset]];
172     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
173     
174     [childrenArray autorelease];
175     [preset autorelease];
176     return preset;
177 }
178
179 - (NSDictionary *)createLegacyPresetFolder
180 {
181     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
182 /*Set whether or not this is a folder, 1 is bool for folder*/
183     [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
184
185
186     /* Get the New Preset Name from the field in the AddPresetPanel */
187     [preset setObject:@"Legacy" forKey:@"PresetName"];
188
189     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
190     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
191
192     /*Set whether or not this is default, at creation set to 0*/
193     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
194     
195     /* Lets initalize the child array of dictionaries for folders, this
196      is an array of dictionaries much like the root level of presets and
197      may contain folders and presets alike, etc.*/
198     NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
199     /* we actually call the methods for the nests here */
200     [childrenArray addObject:[self createAppleTVLegacyPreset]];
201     [childrenArray addObject:[self createiPhoneLegacyPreset]];
202     [childrenArray addObject:[self createIpodHighPreset]];
203     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
204     
205     [childrenArray autorelease];
206
207
208
209     [preset autorelease];
210     return preset;
211 }
212
213
214 #pragma mark -
215
216 #pragma mark Built In Preset Definitions
217
218 /* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */
219 /* Note: For now, you can no longer have reference to any main window fields in your key values */
220
221 - (NSDictionary *)create360Preset
222 {
223     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
224
225     /* Get the New Preset Name from the field in the AddPresetPanel */
226     [preset setObject:@"Xbox 360" forKey:@"PresetName"];
227
228     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
229     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
230
231     /*Set whether or not this is default, at creation set to 0*/
232     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
233
234     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
235     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
236
237     /* Get the New Preset Description from the field in the AddPresetPanel */
238     [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"];
239
240     /* File Format */
241     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
242
243     /* Chapter Markers*/
244      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
245
246     /* Video encoder */
247     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
248     
249     /* x264 Option String */
250     [preset setObject:@"level=40:ref=2:mixed-refs:bframes=3:weightb:subme=9:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1" forKey:@"x264Option"];
251
252     /* Video quality */
253     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
254     [preset setObject:@"700" forKey:@"VideoTargetSize"];
255     [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
256     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
257
258     /* Video framerate */
259     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
260
261     /* GrayScale */
262     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
263
264     /* 2 Pass Encoding */
265     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
266
267     /*Picture Settings*/
268     /* Use Max Picture settings for whatever the dvd is.*/
269     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
270     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
271     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
272     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
273     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
274
275     /* Explicitly set the filters for built-in presets */
276     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
277     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
278     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
279     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
280     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
281     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
282
283     /* Set crop settings here */
284     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
285     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
286     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
287     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
288     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
289
290     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
291      * not listed will be set to "None" and not encoded */
292     
293     /* Track 1 */
294     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
295     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
296     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
297     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
298     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
299     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
300     
301     /* Subtitles*/
302     [preset setObject:@"None" forKey:@"Subtitles"];
303
304     [preset autorelease];
305     return preset;
306 }
307
308 - (NSDictionary *)createAnimationPreset
309 {
310     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
311
312     /* Get the New Preset Name from the field in the AddPresetPanel */
313     [preset setObject:@"Animation" forKey:@"PresetName"];
314
315     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
316     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
317
318     /*Set whether or not this is default, at creation set to 0*/
319     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
320
321     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
322     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
323
324     /* Get the New Preset Description from the field in the AddPresetPanel */
325     [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"];
326
327     /* File Format */
328     [preset setObject:@"MKV file" forKey:@"FileFormat"];
329
330     /* Chapter Markers*/
331      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
332
333     /* Video encoder */
334     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
335
336     /* x264 Option String */
337     [preset setObject:@"ref=5:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2:psy-rd=1,1:subme=9" forKey:@"x264Option"];
338
339     /* Video quality */
340     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
341     [preset setObject:@"700" forKey:@"VideoTargetSize"];
342     [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
343     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
344
345     /* Video framerate */
346     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
347
348     /* GrayScale */
349     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
350
351     /* 2 Pass Encoding */
352     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
353     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
354
355     /*Picture Settings*/
356     /* Basic Picture Settings */
357     /* Use Max Picture settings for whatever the dvd is.*/
358     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
359     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
360     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
361     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
362     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
363     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
364
365     /* Filters. For animation, use slower deinterlacing. */
366     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
367     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
368     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
369     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
370     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
371     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
372     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
373
374     /* Set crop settings here */
375     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
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 - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
382      * not listed will be set to "None" and not encoded */
383     
384     /* Track 1 */
385     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
386     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
387     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
388     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
389     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
390     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
391     
392     /* Subtitles*/
393     [preset setObject:@"None" forKey:@"Subtitles"];
394
395     [preset autorelease];
396     return preset;
397 }
398
399 - (NSDictionary *)createAppleTVPreset
400 {
401     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
402
403     /* Get the New Preset Name from the field in the AddPresetPanel */
404     [preset setObject:@"AppleTV" forKey:@"PresetName"];
405
406     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
407     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
408     /*Set whether or not this is a folder, 1 is bool for folder*/
409     [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
410     /*Set whether or not this is default, at creation set to 0*/
411     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
412
413     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
414     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
415
416     /* Get the New Preset Description from the field in the AddPresetPanel */
417     [preset setObject:@"HandBrake's settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance." forKey:@"PresetDescription"];
418
419     /* File Format */
420     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
421
422     /* 64-bit MP4 file */
423     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
424
425     /* Chapter Markers*/
426      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
427
428     /* Video encoder */
429     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
430
431     /* x264 Option String (We can use this to tweak the appleTV output)*/
432     [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=7:analyse=all" forKey:@"x264Option"];
433
434     /* Video quality */
435     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
436     [preset setObject:@"700" forKey:@"VideoTargetSize"];
437     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
438     [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
439
440     /* Video framerate */
441     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
442
443     /* GrayScale */
444     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
445
446     /* 2 Pass Encoding */
447     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
448
449     /* Basic Picture Settings */
450     /* Use Max Picture settings for whatever the dvd is.*/
451     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
452     [preset setObject:[NSNumber numberWithInt:960] forKey:@"PictureWidth"];
453     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
454     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
455     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
456
457     /* Explicitly set the filters for built-in presets */
458     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
459     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
460     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
461     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
462     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
463     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
464
465     /* Set crop settings here */
466     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
467     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];    
468     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
469     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
470     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
471     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
472
473     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
474      * not listed will be set to "None" and not encoded */
475     
476     /* Track 1 */
477     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
478     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
479     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
480     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
481     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
482     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
483
484     /* Track 2 */
485     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
486     [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
487     [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
488     [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
489     /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
490      * the sources bitrate, however we need to initially set the value to something so
491      * the macgui doesnt barf, so 160 seems as good as anything */
492     [preset setObject:@"160" forKey:@"Audio2Bitrate"];
493     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
494
495     /* Subtitles*/
496     [preset setObject:@"None" forKey:@"Subtitles"];
497
498     [preset autorelease];
499     return preset;
500 }
501
502 - (NSDictionary *)createAppleTVLegacyPreset
503 {
504     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
505
506     /* Get the New Preset Name from the field in the AddPresetPanel */
507     [preset setObject:@"AppleTV Legacy" forKey:@"PresetName"];
508
509     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
510     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
511
512     /*Set whether or not this is default, at creation set to 0*/
513     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
514
515     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
516     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
517
518     /* Get the New Preset Description from the field in the AddPresetPanel */
519     [preset setObject:@"HandBrake's deprecated settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance. This is the AppleTV preset from HandBrake 0.9.2, and while it is offered as a service to legacy users, it is no longer supported." forKey:@"PresetDescription"];
520
521     /* File Format */
522     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
523
524     /* 64-bit MP4 file */
525     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
526
527     /* Chapter Markers*/
528      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
529
530     /* Video encoder */
531     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
532
533     /* x264 Option String (We can use this to tweak the appleTV output)*/
534     [preset setObject:@"bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0" forKey:@"x264Option"];
535
536     /* Video quality */
537     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
538     [preset setObject:@"700" forKey:@"VideoTargetSize"];
539     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
540     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
541
542     /* Video framerate */
543     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
544
545     /* GrayScale */
546     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
547
548     /* 2 Pass Encoding */
549     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
550
551     /* Basic Picture Settings */
552     /* Use Max Picture settings for whatever the dvd is.*/
553     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
554     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
555     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
556     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
557     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
558
559     /* Explicitly set the filters for built-in presets */
560     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
561     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
562     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
563     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
564     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
565     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
566
567     /* Set crop settings here */
568     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
569     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
570     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
571     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
572     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
573
574     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
575      * not listed will be set to "None" and not encoded */
576    
577     /* Track 1 */
578     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
579     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
580     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
581     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
582     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
583     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
584
585     /* Track 2 */
586     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
587     [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
588     [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
589     [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
590     /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
591      * the sources bitrate, however we need to initially set the value to something so
592      * the macgui doesnt barf, so 160 seems as good as anything */
593     [preset setObject:@"160" forKey:@"Audio2Bitrate"];
594     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
595
596     /* Subtitles*/
597     [preset setObject:@"None" forKey:@"Subtitles"];
598
599     [preset autorelease];
600     return preset;
601 }
602
603 - (NSDictionary *)createAppleUniversalPreset
604 {
605     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
606
607     /* Get the New Preset Name from the field in the AddPresetPanel */
608     [preset setObject:@"Universal" forKey:@"PresetName"];
609
610     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
611     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
612     /*Set whether or not this is a folder, 1 is bool for folder*/
613     [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
614     /*Set whether or not this is default, at creation set to 0*/
615     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
616
617     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
618     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
619
620     /* Get the New Preset Description from the field in the AddPresetPanel */
621     [preset setObject:@"HandBrake's universally compatible, full resolution settings for all current Apple devices: iPod, iPhone, AppleTV, and Macs" forKey:@"PresetDescription"];
622
623     /* File Format */
624     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
625
626     /* 64-bit MP4 file */
627     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
628
629     /* Chapter Markers*/
630      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
631
632     /* Video encoder */
633     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
634
635     /* x264 Option String (We can use this to tweak the appleTV output)*/
636     [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
637
638     /* Video quality */
639     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
640     [preset setObject:@"700" forKey:@"VideoTargetSize"];
641     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
642     [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
643
644     /* Video framerate */
645     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
646
647     /* GrayScale */
648     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
649
650     /* 2 Pass Encoding */
651     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
652
653     /* Basic Picture Settings */
654     /* Use Max Picture settings for whatever the dvd is.*/
655     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
656     [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"];
657     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
658     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
659     [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
660
661     /* Explicitly set the filters for built-in presets */
662     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
663     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
664     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
665     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
666     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
667     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
668
669     /* Set crop settings here */
670     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
671     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];    
672     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
673     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
674     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
675     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
676
677     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
678      * not listed will be set to "None" and not encoded */
679     
680     /* Track 1 */
681     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
682     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
683     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
684     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
685     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
686     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
687
688     /* Track 2 */
689     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
690     [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
691     [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
692     [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
693     /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
694      * the sources bitrate, however we need to initially set the value to something so
695      * the macgui doesnt barf, so 160 seems as good as anything */
696     [preset setObject:@"160" forKey:@"Audio2Bitrate"];
697     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
698
699     /* Subtitles*/
700     [preset setObject:@"None" forKey:@"Subtitles"];
701
702     [preset autorelease];
703     return preset;
704 }
705
706 - (NSDictionary *)createClassicPreset
707 {
708     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
709
710     /* Get the New Preset Name from the field in the AddPresetPanel */
711     [preset setObject:@"Classic" forKey:@"PresetName"];
712
713     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
714     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
715
716     /*Set whether or not this is default, at creation set to 0*/
717     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
718
719     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
720     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
721
722     /* Get the New Preset Description from the field in the AddPresetPanel */
723     [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
724
725     /* File Format */
726     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
727
728     /* Chapter Markers*/
729      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
730
731     /* Video encoder */
732     [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
733
734     /* x264 Option String */
735     [preset setObject:@"" forKey:@"x264Option"];
736
737     /* Video quality */
738     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
739     [preset setObject:@"700"  forKey:@"VideoTargetSize"];
740     [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
741     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
742
743     /* Video framerate */
744     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
745
746     /* GrayScale */
747     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
748
749     /* 2 Pass Encoding */
750     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
751
752     /*Picture Settings*/
753     /* Use Max Picture settings for whatever the dvd is.*/
754     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
755     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
756     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
757     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
758     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
759     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
760
761     /* Explicitly set the filters for built-in presets */
762     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
763     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
764     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
765     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
766     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
767     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
768
769     /* Set crop settings here */
770     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
771     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
772     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
773     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
774     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
775     
776     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
777      * not listed will be set to "None" and not encoded */
778     
779     /* Track 1 */
780     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
781     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
782     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
783     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
784     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
785     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
786
787     /* Subtitles*/
788     [preset setObject:@"None" forKey:@"Subtitles"];
789
790     [preset autorelease];
791     return preset;
792 }
793
794 - (NSDictionary *)createCRFPreset
795 {
796     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
797
798     /* Get the New Preset Name from the field in the AddPresetPanel */
799     [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
800
801     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
802     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
803
804     /*Set whether or not this is default, at creation set to 0*/
805     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
806
807     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
808     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
809
810     /* Get the New Preset Description from the field in the AddPresetPanel */
811     [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
812
813     /* File Format */
814     [preset setObject:@"MKV file" forKey:@"FileFormat"];
815
816     /* Chapter Markers*/
817      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
818
819     /* Video encoder */
820     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
821
822     /* x264 Option String */
823     [preset setObject:@"ref=3:mixed-refs:bframes=3:b-pyramid:weightb:filter=-2,-1:trellis=1:analyse=all:8x8dct:me=umh:subme=9:psy-rd=1,1" forKey:@"x264Option"];
824
825     /* Video quality */
826     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
827     [preset setObject:@"700" forKey:@"VideoTargetSize"];
828     [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
829     [preset setObject:[NSNumber numberWithFloat:0.60] forKey:@"VideoQualitySlider"];
830
831     /* Video framerate */
832     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
833
834     /* GrayScale */
835     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
836
837     /* 2 Pass Encoding */
838     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
839     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
840
841     /*Picture Settings*/
842     /* Use Max Picture settings for whatever the dvd is.*/
843     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
844     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
845     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
846     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
847     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
848     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
849
850     /* Explicitly set the filters for built-in presets */
851     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
852     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
853     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
854     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
855     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
856     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
857
858     /* Set crop settings here */
859     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
860     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
861     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
862     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
863     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
864
865     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
866      * not listed will be set to "None" and not encoded */
867     
868     /* Track 1 */
869     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
870     [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
871     [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
872     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
873     /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
874      * the sources bitrate, however we need to initially set the value to something so
875      * the macgui doesnt barf, so 160 seems as good as anything */
876     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
877     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
878
879     /* Subtitles*/
880     [preset setObject:@"None" forKey:@"Subtitles"];
881
882     [preset autorelease];
883     return preset;
884 }
885
886 - (NSDictionary *)createFilmPreset
887 {
888     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
889
890     /* Get the New Preset Name from the field in the AddPresetPanel */
891     [preset setObject:@"Film" forKey:@"PresetName"];
892
893     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
894     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
895
896     /*Set whether or not this is default, at creation set to 0*/
897     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
898
899     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
900     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
901
902     /* Get the New Preset Description from the field in the AddPresetPanel */
903     [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
904
905     /* File Format */
906     [preset setObject:@"MKV file" forKey:@"FileFormat"];
907
908     /* Chapter Markers*/
909      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
910
911     /* Video encoder */
912     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
913
914     /* x264 Option String */
915     [preset setObject:@"ref=3:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:subme=9:analyse=all:8x8dct:trellis=1:no-fast-pskip:psy-rd=1,1" forKey:@"x264Option"];
916
917     /* Video quality */
918     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
919     [preset setObject:@"700" forKey:@"VideoTargetSize"];
920     [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
921     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
922
923     /* Video framerate */
924     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
925
926     /* GrayScale */
927     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
928
929     /* 2 Pass Encoding */
930     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
931     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
932
933     /*Picture Settings*/
934     /* Use Max Picture settings for whatever the dvd is.*/
935     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
936     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
937     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
938     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
939     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
940     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
941
942     /* Explicitly set the filters for built-in presets */
943     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
944     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
945     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
946     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
947     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
948     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
949
950     /* Set crop settings here */
951     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
952     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
953     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
954     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
955     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
956
957     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
958      * not listed will be set to "None" and not encoded */
959     
960     /* Track 1 */
961     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
962     [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
963     [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
964     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
965     /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
966      * the sources bitrate, however we need to initially set the value to something so
967      * the macgui doesnt barf, so 160 seems as good as anything */
968     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
969     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
970
971     /* Subtitles*/
972     [preset setObject:@"None" forKey:@"Subtitles"];
973
974     [preset autorelease];
975     return preset;
976 }
977
978 - (NSDictionary *)createiPhonePreset
979 {
980     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
981
982     /* Get the New Preset Name from the field in the AddPresetPanel */
983     [preset setObject:@"iPhone & iPod Touch" forKey:@"PresetName"];
984
985     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
986     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
987
988     /*Set whether or not this is default, at creation set to 0*/
989     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
990
991     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
992     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
993
994     /* Get the New Preset Description from the field in the AddPresetPanel */
995     [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"];
996
997     /* File Format */
998     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
999
1000     /* Chapter Markers*/
1001      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1002
1003     /* Video encoder */
1004     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1005     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
1006     /* x264 Option String */
1007     [preset setObject:@"level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
1008
1009     /* Video quality */
1010     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
1011     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1012     [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
1013     [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
1014
1015     /* Video framerate */
1016     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1017
1018     /* GrayScale */
1019     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1020
1021     /* 2 Pass Encoding */
1022     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1023
1024     /*Picture Settings*/
1025     /* Use a width of 480 for the iPhone*/
1026     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1027     [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1028     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1029     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1030     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1031
1032     /* Explicitly set the filters for built-in presets */
1033     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1034     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1035     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1036     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1037     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1038     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1039
1040     /* Set crop settings here */
1041     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1042     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1043     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1044     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1045     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1046     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1047
1048     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1049      * not listed will be set to "None" and not encoded */
1050     
1051     /* Track 1 */
1052     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1053     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1054     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1055     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1056     [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1057     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1058
1059     /* Subtitles*/
1060     [preset setObject:@"None" forKey:@"Subtitles"];
1061
1062     [preset autorelease];
1063     return preset;
1064 }
1065
1066 - (NSDictionary *)createiPhoneLegacyPreset
1067 {
1068     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1069
1070     /* Get the New Preset Name from the field in the AddPresetPanel */
1071     [preset setObject:@"iPhone Legacy" forKey:@"PresetName"];
1072
1073     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1074     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1075
1076     /*Set whether or not this is default, at creation set to 0*/
1077     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1078
1079     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1080     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1081
1082     /* Get the New Preset Description from the field in the AddPresetPanel */
1083     [preset setObject:@"HandBrake's deprecated settings for the iPhone and iPod Touch. This is the iPhone preset from HandBrake 0.9.2, and while it is offered as a service to legacy users, it is no longer supported." forKey:@"PresetDescription"];
1084
1085     /* File Format */
1086     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1087
1088     /* Chapter Markers*/
1089      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1090
1091     /* Video encoder */
1092     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1093     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1094     /* x264 Option String */
1095     [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
1096
1097     /* Video quality */
1098     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1099     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1100     [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
1101     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1102
1103     /* Video framerate */
1104     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1105
1106     /* GrayScale */
1107     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1108
1109     /* 2 Pass Encoding */
1110     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1111
1112     /*Picture Settings*/
1113     /* Use a width of 480 for the iPhone*/
1114     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1115     [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1116     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1117     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1118     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1119
1120     /* Explicitly set the filters for built-in presets */
1121     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1122     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1123     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1124     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1125     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1126     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1127
1128     /* Set crop settings here */
1129     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1130     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1131     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1132     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1133     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1134     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1135
1136     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1137      * not listed will be set to "None" and not encoded */
1138     
1139     /* Track 1 */
1140     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1141     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1142     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1143     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1144     [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1145     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1146
1147     /* Subtitles*/
1148     [preset setObject:@"None" forKey:@"Subtitles"];
1149
1150     [preset autorelease];
1151     return preset;
1152 }
1153
1154 - (NSDictionary *)createIpodHighPreset
1155 {
1156     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1157
1158     /* Get the New Preset Name from the field in the AddPresetPanel */
1159     [preset setObject:@"iPod Legacy" forKey:@"PresetName"];
1160
1161     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1162     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1163
1164     /*Set whether or not this is default, at creation set to 0*/
1165     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1166
1167     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1168     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1169
1170     /* Get the New Preset Description from the field in the AddPresetPanel */
1171     [preset setObject:@"HandBrake's high resolution settings for older 5 and 5.5G iPods. Good video quality, great for viewing on a TV using your iPod. This is the iPod High-Rez preset from 0.9.2." forKey:@"PresetDescription"];
1172
1173     /* File Format */
1174     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1175
1176     /* Chapter Markers*/
1177      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1178
1179     /* Video encoder */
1180     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1181     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1182     /* x264 Option String */
1183     [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
1184
1185     /* Video quality */
1186     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1187     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1188     [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1189     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1190
1191     /* Video framerate */
1192     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1193
1194     /* GrayScale */
1195     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1196
1197     /* 2 Pass Encoding */
1198     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1199
1200     /*Picture Settings*/
1201     /* Use a width of 640 for iPod TV-out */
1202     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1203     [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1204     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1205     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1206     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1207
1208     /* Explicitly set the filters for built-in presets */
1209     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1210     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1211     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1212     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1213     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1214     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1215
1216     /* Set crop settings here */
1217     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1218     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1219     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1220     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1221     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1222     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1223
1224     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1225      * not listed will be set to "None" and not encoded */
1226     
1227     /* Track 1 */
1228     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1229     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1230     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1231     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1232     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1233     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1234
1235     /* Subtitles*/
1236     [preset setObject:@"None" forKey:@"Subtitles"];
1237
1238     [preset autorelease];
1239     return preset;
1240 }
1241
1242 - (NSDictionary *)createIpodLowPreset
1243 {
1244     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1245
1246     /* Get the New Preset Name from the field in the AddPresetPanel */
1247     [preset setObject:@"iPod" forKey:@"PresetName"];
1248
1249     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1250     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1251
1252     /*Set whether or not this is default, at creation set to 0*/
1253     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1254
1255     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1256     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1257
1258     /* Get the New Preset Description from the field in the AddPresetPanel */
1259     [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
1260
1261     /* File Format */
1262     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1263
1264     /* Chapter Markers*/
1265      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1266
1267     /* Video encoder */
1268     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1269     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1270     /* x264 Option String */
1271     [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
1272
1273     /* Video quality */
1274     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1275     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1276     [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
1277     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1278
1279     /* Video framerate */
1280     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1281
1282     /* GrayScale */
1283     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1284
1285     /* 2 Pass Encoding */
1286     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1287
1288     /*Picture Settings*/
1289     /* Use a width of 320 for the iPod screen */
1290     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1291     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1292     [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
1293     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1294     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1295     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1296
1297     /* Explicitly set the filters for built-in presets */
1298     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1299     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1300     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1301     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1302     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1303     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1304
1305     /* Set crop settings here */
1306     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1307     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1308     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1309     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1310     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1311
1312     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1313      * not listed will be set to "None" and not encoded */
1314     
1315     /* Track 1 */
1316     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1317     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1318     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1319     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1320     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1321     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1322
1323     /* Subtitles*/
1324     [preset setObject:@"None" forKey:@"Subtitles"];
1325
1326     [preset autorelease];
1327     return preset;
1328 }
1329
1330 - (NSDictionary *)createNormalPreset
1331 {
1332     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1333
1334     /* Get the New Preset Name from the field in the AddPresetPanel */
1335     [preset setObject:@"Normal" forKey:@"PresetName"];
1336
1337     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1338     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1339
1340     /*Set whether or not this is default, at creation set to 0*/
1341     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1342
1343     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1344     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1345
1346     /* Get the New Preset Description from the field in the AddPresetPanel */
1347     [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1348
1349     /* File Format */
1350     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1351
1352     /* Chapter Markers*/
1353      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1354
1355     /* Video encoder */
1356     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1357
1358     /* x264 Option String */
1359     [preset setObject:@"ref=2:bframes=2:me=umh" forKey:@"x264Option"];
1360
1361     /* Video quality */
1362     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1363     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1364     [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1365     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1366
1367     /* Video framerate */
1368     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1369
1370     /* GrayScale */
1371     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1372
1373     /* 2 Pass Encoding */
1374     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1375     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1376
1377     /*Picture Settings*/
1378     /* Use Max Picture settings for whatever the dvd is.*/
1379     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1380     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1381     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1382     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1383     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1384     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1385
1386     /* Explicitly set the filters for built-in presets */
1387     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1388     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1389     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1390     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1391     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1392     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1393
1394     /* Set crop settings here */
1395     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1396     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1397     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1398     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1399     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1400
1401     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1402      * not listed will be set to "None" and not encoded */
1403     
1404     /* Track 1 */
1405     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1406     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1407     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1408     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1409     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1410     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1411
1412     /* Subtitles*/
1413     [preset setObject:@"None" forKey:@"Subtitles"];
1414
1415     [preset autorelease];
1416     return preset;
1417 }
1418
1419 - (NSDictionary *)createPSPPreset
1420 {
1421     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1422
1423     /* Get the New Preset Name from the field in the AddPresetPanel */
1424     [preset setObject:@"PSP" forKey:@"PresetName"];
1425
1426     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1427     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1428
1429     /*Set whether or not this is default, at creation set to 0*/
1430     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1431
1432     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1433     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1434
1435     /* Get the New Preset Description from the field in the AddPresetPanel */
1436     [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
1437
1438     /* File Format */
1439     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1440
1441     /* Chapter Markers*/
1442      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1443
1444     /* Video encoder */
1445     [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
1446
1447     /* x264 Option String (We can use this to tweak the appleTV output)*/
1448     [preset setObject:@"" forKey:@"x264Option"];
1449
1450     /* Video quality */
1451     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1452     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1453     [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
1454     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1455
1456     /* Video framerate */
1457     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1458
1459     /* GrayScale */
1460     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1461
1462     /* 2 Pass Encoding */
1463     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1464
1465     /*Picture Settings*/
1466     /* Use dimensions of 368*208 for robust PSP compatibility */
1467     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1468     [preset setObject:@"368" forKey:@"PictureWidth"];
1469     [preset setObject:@"208" forKey:@"PictureHeight"];
1470     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1471     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1472
1473     /* Explicitly set the filters for built-in presets */
1474     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1475     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1476     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1477     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1478     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1479     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1480
1481     /* Set crop settings here */
1482     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1483     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1484     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1485     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1486     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1487     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1488
1489     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1490      * not listed will be set to "None" and not encoded */
1491     
1492     /* Track 1 */
1493     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1494     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1495     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1496     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1497     [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1498     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1499
1500     /* Subtitles*/
1501     [preset setObject:@"None" forKey:@"Subtitles"];
1502
1503     [preset autorelease];
1504     return preset;
1505 }
1506
1507 - (NSDictionary *)createPSThreePreset
1508 {
1509     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1510
1511     /* Get the New Preset Name from the field in the AddPresetPanel */
1512     [preset setObject:@"PS3" forKey:@"PresetName"];
1513
1514     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1515     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1516
1517     /*Set whether or not this is default, at creation set to 0*/
1518     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1519
1520     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1521     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1522
1523     /* Get the New Preset Description from the field in the AddPresetPanel */
1524     [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
1525
1526     /* File Format */
1527     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1528
1529     /* Chapter Markers*/
1530      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1531
1532     /* Video encoder */
1533     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1534
1535     /* x264 Option String (We can use this to tweak the appleTV output)*/
1536     [preset setObject:@"level=41:me=umh" forKey:@"x264Option"];
1537
1538     /* Video quality */
1539     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1540     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1541     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
1542     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1543
1544     /* Video framerate */
1545     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1546
1547     /* GrayScale */
1548     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1549
1550     /* 2 Pass Encoding */
1551     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1552
1553     /*Picture Settings*/
1554     /* Use Max Picture settings for whatever the dvd is.*/
1555     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1556     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1557     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1558     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1559     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1560
1561     /* Explicitly set the filters for built-in presets */
1562     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1563     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1564     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1565     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1566     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1567     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1568
1569     /* Set crop settings here */
1570     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1571     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureAutoCrop"];
1572     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1573     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1574     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1575     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1576
1577     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1578      * not listed will be set to "None" and not encoded */
1579     
1580     /* Track 1 */
1581     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1582     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1583     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1584     [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1585     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1586     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1587
1588     /* Subtitles*/
1589     [preset setObject:@"None" forKey:@"Subtitles"];
1590
1591     [preset autorelease];
1592     return preset;
1593 }
1594
1595 - (NSDictionary *)createQuickTimePreset
1596 {
1597     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1598
1599     /* Get the New Preset Name from the field in the AddPresetPanel */
1600     [preset setObject:@"QuickTime" forKey:@"PresetName"];
1601
1602     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1603     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1604
1605     /*Set whether or not this is default, at creation set to 0*/
1606     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1607
1608     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1609     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1610
1611     /* Get the New Preset Description from the field in the AddPresetPanel */
1612     [preset setObject:@"HandBrake's high profile settings for use with QuickTime. It can be slow, so use it when the Normal preset doesn't look good enough." forKey:@"PresetDescription"];
1613
1614     /* File Format */
1615     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1616
1617     /* Chapter Markers*/
1618      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1619
1620     /* Video encoder */
1621     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1622
1623     /* x264 Option String */
1624     [preset setObject:@"ref=3:mixed-refs:bframes=3:weightb:direct=auto:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip=1:psy-rd=1,1" forKey:@"x264Option"];
1625
1626     /* Video quality */
1627     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1628     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1629     [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
1630     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1631
1632     /* Video framerate */
1633     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1634
1635     /* GrayScale */
1636     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1637
1638     /* 2 Pass Encoding */
1639     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1640     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1641
1642     /*Picture Settings*/
1643     /* Use Max Picture settings for whatever the dvd is.*/
1644     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1645     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1646     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1647     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1648     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1649     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1650
1651     /* Explicitly set the filters for built-in presets */
1652     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1653     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1654     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1655     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1656     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1657     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1658
1659     /* Set crop settings here */
1660     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1661     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1662     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1663     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1664     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1665
1666     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1667      * not listed will be set to "None" and not encoded */
1668     
1669     /* Track 1 */
1670     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1671     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1672     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1673     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1674     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1675     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1676
1677     /* Subtitles*/
1678     [preset setObject:@"None" forKey:@"Subtitles"];
1679
1680     [preset autorelease];
1681     return preset;
1682 }
1683
1684 - (NSDictionary *)createTelevisionPreset
1685 {
1686     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1687
1688     /* Get the New Preset Name from the field in the AddPresetPanel */
1689     [preset setObject:@"Television" forKey:@"PresetName"];
1690
1691     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1692     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1693
1694     /*Set whether or not this is default, at creation set to 0*/
1695     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1696
1697     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1698     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1699
1700     /* Get the New Preset Description from the field in the AddPresetPanel */
1701     [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1702
1703     /* File Format */
1704     [preset setObject:@"MKV file" forKey:@"FileFormat"];
1705
1706     /* Chapter Markers*/
1707      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1708
1709     /* Video encoder */
1710     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1711
1712     /* x264 Option String */
1713     [preset setObject:@"ref=3:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:subme=9:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip=1:psy-rd=1,1" forKey:@"x264Option"];
1714
1715     /* Video quality */
1716     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1717     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1718     [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
1719     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1720
1721     /* Video framerate */
1722     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1723
1724     /* GrayScale */
1725     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1726
1727     /* 2 Pass Encoding */
1728     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1729     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1730
1731     /*Picture Settings*/
1732     /* Use Max Picture settings for whatever the dvd is.*/
1733     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1734     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1735     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1736     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1737     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1738     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1739
1740     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1741     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1742     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
1743     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1744     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1745     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1746     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
1747
1748     /* Set crop settings here */
1749     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1750     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1751     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1752     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1753     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1754
1755     /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1756      * not listed will be set to "None" and not encoded */
1757     
1758     /* Track 1 */
1759     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1760     [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1761     [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1762     [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1763     [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1764     [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1765
1766     /* Subtitles*/
1767     [preset setObject:@"None" forKey:@"Subtitles"];
1768
1769     [preset autorelease];
1770     return preset;
1771 }
1772
1773 @end