OSDN Git Service

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