From 9862522802e2736c5d694b5a929b41e4e7e3f806 Mon Sep 17 00:00:00 2001 From: dynaflash Date: Wed, 4 Feb 2009 22:09:33 +0000 Subject: [PATCH] MacGui: Picture Filters Inspector enhancements - Add custom settings fields to Detelecine, Decomb, Deinterlace, and Denoise. - Add a two position slider to choose between Decomb and Deinterlace (can no longer run both in the macgui). - Update Presets, Queue, and Live Preview code accordingly. - Moved Grayscale to the Filters inspector and removed it from the main window. - Changed the style of the buttons on both the settings and filters inspectors to better fit in with HUD. Known Issues: - Resizing of the inspector to show/hide the custom fields is a touch ugly. - Setting the filter to "Custom" then not using a custom string, results in default from libhb, though should probably error trap against that actually. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2114 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- macosx/Controller.h | 3 +- macosx/Controller.mm | 352 ++-- macosx/English.lproj/MainMenu.xib | 171 +- macosx/English.lproj/PictureFilters.xib | 2223 ++++++++++++++++------ macosx/English.lproj/PictureSettings.xib | 83 +- macosx/HBFilterController.h | 54 +- macosx/HBFilterController.mm | 180 +- macosx/HBQueueController.mm | 57 +- 8 files changed, 2265 insertions(+), 858 deletions(-) diff --git a/macosx/Controller.h b/macosx/Controller.h index 453c54eba..cfabdda43 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -106,7 +106,6 @@ BOOL fIsDragging; IBOutlet NSTextField * fVidBitrateField; IBOutlet NSButtonCell * fVidConstantCell; IBOutlet NSSlider * fVidQualitySlider; - IBOutlet NSButton * fVidGrayscaleCheck; IBOutlet NSButton * fVidTwoPassCheck; IBOutlet NSButton * fVidTurboPassCheck; @@ -134,6 +133,8 @@ BOOL fIsDragging; IBOutlet NSTextField * fPicSettingDetelecine; IBOutlet NSTextField * fPicSettingDenoise; IBOutlet NSTextField * fPicSettingDeblock; + IBOutlet NSTextField * fPicLabelGrayscale; + IBOutlet NSTextField * fPicSettingGrayscale; /* Picture variables */ int PicOrigOutputWidth; diff --git a/macosx/Controller.mm b/macosx/Controller.mm index d185c6b5a..33f25aa2d 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -422,7 +422,7 @@ static NSString * ChooseSourceIdentifier = @"Choose Source It fDstFormatField, fDstFormatPopUp, fDstFile1Field, fDstFile2Field, fDstBrowseButton, fVidRateField, fVidRatePopUp, fVidEncoderField, fVidEncoderPopUp, fVidQualityField, - fVidQualityMatrix, fVidGrayscaleCheck, fSubField, fSubPopUp, + fVidQualityMatrix, fSubField, fSubPopUp, fAudSourceLabel, fAudCodecLabel, fAudMixdownLabel, fAudSamplerateLabel, fAudBitrateLabel, fAudTrack1Label, fAudTrack2Label, fAudTrack3Label, fAudTrack4Label, fAudLang1PopUp, fAudLang2PopUp, fAudLang3PopUp, fAudLang4PopUp, @@ -438,7 +438,7 @@ static NSString * ChooseSourceIdentifier = @"Choose Source It fCreateChapterMarkers,fVidTurboPassCheck,fDstMp4LargeFileCheck,fPicLabelAutoCrop, fPicSettingAutoCrop,fPicSettingDetelecine,fPicLabelDetelecine,fPicLabelDenoise,fPicSettingDenoise, fSubForcedCheck,fPicSettingDeblock,fPicLabelDeblock,fPicLabelDecomb,fPicSettingDecomb,fPresetsOutlineView, - fAudDrcLabel,fDstMp4HttpOptFileCheck,fDstMp4iPodFileCheck}; + fPicLabelGrayscale,fPicSettingGrayscale,fAudDrcLabel,fDstMp4HttpOptFileCheck,fDstMp4iPodFileCheck}; for( unsigned i = 0; i < sizeof( controls ) / sizeof( NSControl * ); i++ ) @@ -1897,8 +1897,6 @@ fWorkingCount = 0; /* Framerate */ [queueFileJob setObject:[fVidRatePopUp titleOfSelectedItem] forKey:@"VideoFramerate"]; - /* GrayScale */ - [queueFileJob setObject:[NSNumber numberWithInt:[fVidGrayscaleCheck state]] forKey:@"VideoGrayScale"]; /* 2 Pass Encoding */ [queueFileJob setObject:[NSNumber numberWithInt:[fVidTwoPassCheck state]] forKey:@"VideoTwoPass"]; /* Turbo 2 pass Encoding fVidTurboPassCheck*/ @@ -1925,11 +1923,22 @@ fWorkingCount = 0; [queueFileJob setObject:[NSNumber numberWithInt:job->crop[3]] forKey:@"PictureRightCrop"]; /* Picture Filters */ + [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController detelecine]] forKey:@"PictureDetelecine"]; + [queueFileJob setObject:[fPictureFilterController detelecineCustomString] forKey:@"PictureDetelecineCustom"]; + + [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController useDecomb]] forKey:@"PictureDecombDeinterlace"]; + [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController decomb]] forKey:@"PictureDecomb"]; + [queueFileJob setObject:[fPictureFilterController decombCustomString] forKey:@"PictureDecombCustom"]; + [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController deinterlace]] forKey:@"PictureDeinterlace"]; - [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController detelecine]] forKey:@"PictureDetelecine"]; + [queueFileJob setObject:[fPictureFilterController deinterlaceCustomString] forKey:@"PictureDeinterlaceCustom"]; + [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController denoise]] forKey:@"PictureDenoise"]; - [queueFileJob setObject:[NSString stringWithFormat:@"%d",[fPictureFilterController deblock]] forKey:@"PictureDeblock"]; - [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController decomb]] forKey:@"PictureDecomb"]; + [queueFileJob setObject:[fPictureFilterController denoiseCustomString] forKey:@"PictureDenoiseCustom"]; + + [queueFileJob setObject:[NSString stringWithFormat:@"%d",[fPictureFilterController deblock]] forKey:@"PictureDeblock"]; + + [queueFileJob setObject:[NSNumber numberWithInt:[fPictureFilterController grayscale]] forKey:@"VideoGrayScale"]; /*Audio*/ if ([fAudLang1PopUp indexOfSelectedItem] > 0) @@ -2278,9 +2287,6 @@ fWorkingCount = 0; [fVidRatePopUp selectItemWithTitle:[queueToApply objectForKey:@"VideoFramerate"]]; } - /* GrayScale */ - [fVidGrayscaleCheck setState:[[queueToApply objectForKey:@"VideoGrayScale"] intValue]]; - /* 2 Pass Encoding */ [fVidTwoPassCheck setState:[[queueToApply objectForKey:@"VideoTwoPass"] intValue]]; [self twoPassCheckboxChanged:nil]; @@ -2458,6 +2464,8 @@ fWorkingCount = 0; [fPictureFilterController setDeblock:[[queueToApply objectForKey:@"PictureDeblock"] intValue]]; /* Decomb */ [fPictureFilterController setDecomb:[[queueToApply objectForKey:@"PictureDecomb"] intValue]]; + /* Grayscale */ + [fPictureFilterController setGrayscale:[[queueToApply objectForKey:@"VideoGrayScale"] intValue]]; [self calculatePictureSizing:nil]; @@ -2691,8 +2699,6 @@ fWorkingCount = 0; break; } - job->grayscale = ( [fVidGrayscaleCheck state] == NSOnState ); - /* Subtitle settings */ job->subtitle = [fSubPopUp indexOfSelectedItem] - 2; @@ -2777,7 +2783,22 @@ fWorkingCount = 0; - /* Filters */ + /* Filters */ + + /* Though Grayscale is not really a filter, per se + * we put it here since its in the filters panel + */ + + if ([fPictureFilterController grayscale]) + { + job->grayscale = 1; + } + else + { + job->grayscale = 0; + } + + /* Initialize the filters list */ job->filters = hb_list_init(); /* Now lets call the filters if applicable. @@ -2785,40 +2806,63 @@ fWorkingCount = 0; */ /* Detelecine */ - if ([fPictureFilterController detelecine]) + if ([fPictureFilterController detelecine] == 1) { hb_list_add( job->filters, &hb_filter_detelecine ); } - - /* Decomb */ - if ([fPictureFilterController decomb] > 0) - { - /* Run old deinterlacer fd by default */ - //hb_filter_decomb.settings = (char *) [[fPicSettingDecomb stringValue] UTF8String]; - hb_list_add( job->filters, &hb_filter_decomb ); - } - - - /* Deinterlace */ - if ([fPictureFilterController deinterlace] == 1) + if ([fPictureFilterController detelecine] == 2) { - /* Run old deinterlacer fd by default */ - hb_filter_deinterlace.settings = "-1"; - hb_list_add( job->filters, &hb_filter_deinterlace ); + /* use a custom detelecine string */ + hb_filter_detelecine.settings = (char *) [[fPictureFilterController detelecineCustomString] UTF8String]; + hb_list_add( job->filters, &hb_filter_detelecine ); } - else if ([fPictureFilterController deinterlace] == 2) + if ([fPictureFilterController useDecomb] == 1) { - /* Yadif mode 0 (without spatial deinterlacing.) */ - hb_filter_deinterlace.settings = "2"; - hb_list_add( job->filters, &hb_filter_deinterlace ); + /* Decomb */ + if ([fPictureFilterController decomb] == 1) + { + /* Run old deinterlacer fd by default */ + //hb_filter_decomb.settings = (char *) [[fPicSettingDecomb stringValue] UTF8String]; + hb_list_add( job->filters, &hb_filter_decomb ); + } + /* we add the custom string if present */ + if ([fPictureFilterController decomb] == 2) + { + /* use a custom decomb string */ + hb_filter_decomb.settings = (char *) [[fPictureFilterController decombCustomString] UTF8String]; + hb_list_add( job->filters, &hb_filter_decomb ); + } } - else if ([fPictureFilterController deinterlace] == 3) + else { - /* Yadif (with spatial deinterlacing) */ - hb_filter_deinterlace.settings = "0"; - hb_list_add( job->filters, &hb_filter_deinterlace ); - } - + + /* Deinterlace */ + if ([fPictureFilterController deinterlace] == 1) + { + /* Run old deinterlacer fd by default */ + hb_filter_deinterlace.settings = "-1"; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + else if ([fPictureFilterController deinterlace] == 2) + { + /* Yadif mode 0 (without spatial deinterlacing.) */ + hb_filter_deinterlace.settings = "2"; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + else if ([fPictureFilterController deinterlace] == 3) + { + /* Yadif (with spatial deinterlacing) */ + hb_filter_deinterlace.settings = "0"; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + else if ([fPictureFilterController deinterlace] == 4) + { + /* we add the custom string if present */ + hb_filter_deinterlace.settings = (char *) [[fPictureFilterController deinterlaceCustomString] UTF8String]; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + } + /* Denoise */ if ([fPictureFilterController denoise] == 1) // Weak in popup { @@ -2835,6 +2879,12 @@ fWorkingCount = 0; hb_filter_denoise.settings = "7:7:5:5"; hb_list_add( job->filters, &hb_filter_denoise ); } + else if ([fPictureFilterController denoise] == 4) // custom in popup + { + /* we add the custom string if present */ + hb_filter_denoise.settings = (char *) [[fPictureFilterController denoiseCustomString] UTF8String]; + hb_list_add( job->filters, &hb_filter_denoise ); + } /* Deblock (uses pp7 default) */ /* NOTE: even though there is a valid deblock setting of 0 for the filter, for @@ -3124,37 +3174,64 @@ fWorkingCount = 0; /* Detelecine */ if ([[queueToApply objectForKey:@"PictureDetelecine"] intValue] == 1) { + //if ([queueToApply objectForKey:@"PictureDetelecineCustom"]) hb_list_add( job->filters, &hb_filter_detelecine ); } - - /* Decomb */ - if ([[queueToApply objectForKey:@"PictureDecomb"] intValue] == 1) + if ([[queueToApply objectForKey:@"PictureDetelecine"] intValue] == 2) { - /* Run old deinterlacer fd by default */ - //hb_filter_decomb.settings = (char *) [[queueToApply objectForKey:@"JobPictureDecomb"] UTF8String]; - hb_list_add( job->filters, &hb_filter_decomb ); + /* use a custom detelecine string */ + hb_filter_detelecine.settings = (char *) [[queueToApply objectForKey:@"PictureDetelecineCustom"] UTF8String]; + hb_list_add( job->filters, &hb_filter_detelecine ); } - /* Deinterlace */ - if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 1) + if ([[queueToApply objectForKey:@"PictureDecombDeinterlace"] intValue] == 1) { - /* Run old deinterlacer fd by default */ - hb_filter_deinterlace.settings = "-1"; - hb_list_add( job->filters, &hb_filter_deinterlace ); - } - else if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 2) - { - /* Yadif mode 0 (without spatial deinterlacing.) */ - hb_filter_deinterlace.settings = "2"; - hb_list_add( job->filters, &hb_filter_deinterlace ); + /* Decomb */ + if ([[queueToApply objectForKey:@"PictureDecomb"] intValue] == 1) + { + /* Run old deinterlacer fd by default */ + hb_list_add( job->filters, &hb_filter_decomb ); + } + /* we add the custom string if present */ + if ([[queueToApply objectForKey:@"PictureDecomb"] intValue] == 2) + { + /* use a custom decomb string */ + hb_filter_decomb.settings = (char *) [[queueToApply objectForKey:@"PictureDecombCustom"] UTF8String]; + hb_list_add( job->filters, &hb_filter_decomb ); + } + } - else if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 3) + else { - /* Yadif (with spatial deinterlacing) */ - hb_filter_deinterlace.settings = "0"; - hb_list_add( job->filters, &hb_filter_deinterlace ); + + /* Deinterlace */ + if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 1) + { + /* Run old deinterlacer fd by default */ + hb_filter_deinterlace.settings = "-1"; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + else if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 2) + { + /* Yadif mode 0 (without spatial deinterlacing.) */ + hb_filter_deinterlace.settings = "2"; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + else if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 3) + { + /* Yadif (with spatial deinterlacing) */ + hb_filter_deinterlace.settings = "0"; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + else if ([[queueToApply objectForKey:@"PictureDeinterlace"] intValue] == 4) + { + /* we add the custom string if present */ + hb_filter_deinterlace.settings = (char *) [[queueToApply objectForKey:@"PictureDeinterlaceCustom"] UTF8String]; + hb_list_add( job->filters, &hb_filter_deinterlace ); + } + + } - /* Denoise */ if ([[queueToApply objectForKey:@"PictureDenoise"] intValue] == 1) // Weak in popup { @@ -3171,6 +3248,12 @@ fWorkingCount = 0; hb_filter_denoise.settings = "7:7:5:5"; hb_list_add( job->filters, &hb_filter_denoise ); } + else if ([[queueToApply objectForKey:@"PictureDenoise"] intValue] == 4) // Custom in popup + { + /* we add the custom string if present */ + hb_filter_denoise.settings = (char *) [[queueToApply objectForKey:@"PictureDenoiseCustom"] UTF8String]; + hb_list_add( job->filters, &hb_filter_denoise ); + } /* Deblock (uses pp7 default) */ /* NOTE: even though there is a valid deblock setting of 0 for the filter, for @@ -4162,61 +4245,76 @@ the user is using "Custom" settings by determining the sender*/ /* Detelecine */ - - /*On Screen Notification*/ - //int status; - //status = NSRunAlertPanel(@"Method Reached...",@"Click to Continue!", @"OK", nil, nil); - //[NSApp requestUserAttention:NSCriticalRequest]; - - if ([fPictureFilterController detelecine]) + if ([fPictureFilterController detelecine] == 0) + { + [fPicSettingDetelecine setStringValue: @"Off"]; + } + else if ([fPictureFilterController detelecine] == 1) { - [fPicSettingDetelecine setStringValue: @"On"]; + [fPicSettingDetelecine setStringValue: @"Default"]; } - else + else if ([fPictureFilterController detelecine] == 2) { - [fPicSettingDetelecine setStringValue: @"Off"]; + [fPicSettingDetelecine setStringValue: @"Custom"]; } - /* Decomb */ - if ([fPictureFilterController decomb]) - { - //[fPicSettingDecomb setStringValue: @"1:2:6:9:80:16:16"]; - [fPicSettingDecomb setStringValue: @"On"]; - } - else - { - [fPicSettingDecomb setStringValue: @"Off"]; - } - - /* Deinterlace */ - if ([fPictureFilterController deinterlace] > 0) + if ([fPictureFilterController useDecomb] == 1) { - fTitle->job->deinterlace = 1; + [fPicSettingDeinterlace setStringValue: @"Off"]; + /* Decomb */ + if ([fPictureFilterController decomb] == 0) + { + //[fPicSettingDecomb setStringValue: @"1:2:6:9:80:16:16"]; + [fPicSettingDecomb setStringValue: @"Off"]; + } + else if ([fPictureFilterController decomb] == 1) + { + [fPicSettingDecomb setStringValue: @"Default"]; + } + else if ([fPictureFilterController decomb] == 2) + { + [fPicSettingDecomb setStringValue: @"Custom"]; + } } else { - fTitle->job->deinterlace = 0; - } - - - if ([fPictureFilterController deinterlace] == 0) - { - [fPicSettingDeinterlace setStringValue: @"Off"]; - } - else if ([fPictureFilterController deinterlace] == 1) - { - [fPicSettingDeinterlace setStringValue: @"Fast"]; - } - else if ([fPictureFilterController deinterlace] == 2) - { - [fPicSettingDeinterlace setStringValue: @"Slow"]; - } - else if ([fPictureFilterController deinterlace] == 3) - { - [fPicSettingDeinterlace setStringValue: @"Slower"]; + + [fPicSettingDecomb setStringValue: @"Off"]; + /* Deinterlace */ + if ([fPictureFilterController deinterlace] > 0) + { + fTitle->job->deinterlace = 1; + } + else + { + fTitle->job->deinterlace = 0; + } + + + if ([fPictureFilterController deinterlace] == 0) + { + [fPicSettingDeinterlace setStringValue: @"Off"]; + } + else if ([fPictureFilterController deinterlace] == 1) + { + [fPicSettingDeinterlace setStringValue: @"Fast"]; + } + else if ([fPictureFilterController deinterlace] == 2) + { + [fPicSettingDeinterlace setStringValue: @"Slow"]; + } + else if ([fPictureFilterController deinterlace] == 3) + { + [fPicSettingDeinterlace setStringValue: @"Slower"]; + } + else if ([fPictureFilterController deinterlace] == 4) + { + [fPicSettingDeinterlace setStringValue: @"Custom"]; + } } - + + /* Denoise */ if ([fPictureFilterController denoise] == 0) { @@ -4234,6 +4332,10 @@ the user is using "Custom" settings by determining the sender*/ { [fPicSettingDenoise setStringValue: @"Strong"]; } + else if ([fPictureFilterController denoise] == 4) + { + [fPicSettingDenoise setStringValue: @"Custom"]; + } /* Deblock */ if ([fPictureFilterController deblock] == 0) @@ -4245,7 +4347,17 @@ the user is using "Custom" settings by determining the sender*/ [fPicSettingDeblock setStringValue: [NSString stringWithFormat:@"%d",[fPictureFilterController deblock]]]; } - if (fTitle->job->anamorphic.mode > 0) + /* Grayscale */ + if ([fPictureFilterController grayscale]) + { + [fPicSettingGrayscale setStringValue: @"On"]; + } + else + { + [fPicSettingGrayscale setStringValue: @"Off"]; + } + + if (fTitle->job->anamorphic.mode > 0) { [fPicSettingPAR setStringValue: @""]; } @@ -5595,8 +5707,6 @@ return YES; [fVidRatePopUp selectItemWithTitle:[chosenPreset objectForKey:@"VideoFramerate"]]; } - /* GrayScale */ - [fVidGrayscaleCheck setState:[[chosenPreset objectForKey:@"VideoGrayScale"] intValue]]; /* 2 Pass Encoding */ [fVidTwoPassCheck setState:[[chosenPreset objectForKey:@"VideoTwoPass"] intValue]]; @@ -5822,6 +5932,17 @@ return YES; if ([chosenPreset objectForKey:@"UsesPictureFilters"] && [[chosenPreset objectForKey:@"UsesPictureFilters"] intValue] > 0) { /* Filters */ + + /* lets determine what to set the use decomb / deinterlace filter at */ + if ([chosenPreset objectForKey:@"PictureDecombDeinterlace"]) + { + [fPictureFilterController setUseDecomb:[[chosenPreset objectForKey:@"PictureDecombDeinterlace"] intValue]]; + } + else if ([[chosenPreset objectForKey:@"PictureDecomb"] intValue] == 1) + { + [fPictureFilterController setUseDecomb:1]; + } + /* Deinterlace */ if ([chosenPreset objectForKey:@"PictureDeinterlace"]) { @@ -5879,6 +6000,15 @@ return YES; { [fPictureFilterController setDecomb:0]; } + + if ([[chosenPreset objectForKey:@"VideoGrayScale"] intValue] == 1) + { + [fPictureFilterController setGrayscale:1]; + } + else + { + [fPictureFilterController setGrayscale:0]; + } } /* we call SetTitle: in fPictureController so we get an instant update in the Picture Settings window */ [fPictureController SetTitle:fTitle]; @@ -6052,8 +6182,7 @@ return YES; { [preset setObject:[fVidRatePopUp titleOfSelectedItem] forKey:@"VideoFramerate"]; } - /* GrayScale */ - [preset setObject:[NSNumber numberWithInt:[fVidGrayscaleCheck state]] forKey:@"VideoGrayScale"]; + /* 2 Pass Encoding */ [preset setObject:[NSNumber numberWithInt:[fVidTwoPassCheck state]] forKey:@"VideoTwoPass"]; /* Turbo 2 pass Encoding fVidTurboPassCheck*/ @@ -6076,12 +6205,13 @@ return YES; [preset setObject:[NSNumber numberWithInt:job->crop[3]] forKey:@"PictureRightCrop"]; /* Picture Filters */ + [preset setObject:[NSNumber numberWithInt:[fPictureFilterController useDecomb]] forKey:@"PictureDecombDeinterlace"]; [preset setObject:[NSNumber numberWithInt:[fPictureFilterController deinterlace]] forKey:@"PictureDeinterlace"]; [preset setObject:[NSNumber numberWithInt:[fPictureFilterController detelecine]] forKey:@"PictureDetelecine"]; - //[preset setObject:[NSNumber numberWithInt:[fPictureFilterController vfr]] forKey:@"VFR"]; [preset setObject:[NSNumber numberWithInt:[fPictureFilterController denoise]] forKey:@"PictureDenoise"]; [preset setObject:[NSNumber numberWithInt:[fPictureFilterController deblock]] forKey:@"PictureDeblock"]; [preset setObject:[NSNumber numberWithInt:[fPictureFilterController decomb]] forKey:@"PictureDecomb"]; + [preset setObject:[NSNumber numberWithInt:[fPictureFilterController grayscale]] forKey:@"VideoGrayScale"]; /*Audio*/ diff --git a/macosx/English.lproj/MainMenu.xib b/macosx/English.lproj/MainMenu.xib index d45725762..42dc2fe96 100644 --- a/macosx/English.lproj/MainMenu.xib +++ b/macosx/English.lproj/MainMenu.xib @@ -8,8 +8,7 @@ 353.00 YES - - + YES @@ -536,6 +535,38 @@ + + + 256 + {{502, 7}, {56, 14}} + + YES + + 67239424 + 272629760 + + + + + + + + + + 256 + {{427, 7}, {68, 14}} + + YES + + 67239424 + 71303168 + Grayscale: + + + + + + 256 @@ -689,7 +720,7 @@ 256 - {{123, 188}, {124, 18}} + {{123, 208}, {124, 18}} YES @@ -712,7 +743,7 @@ 256 - {{140, 170}, {107, 16}} + {{140, 190}, {107, 16}} YES @@ -782,27 +813,6 @@ 1 - - - 256 - {{123, 210}, {133, 18}} - - YES - - 67239424 - 131072 - Grayscale encoding - - - 1211912703 - 2 - - - - 200 - 25 - - 256 @@ -838,7 +848,7 @@ 256 - {{502, 77}, {140, 18}} + {{502, 81}, {56, 14}} YES @@ -854,7 +864,7 @@ 256 - {{428, 77}, {68, 17}} + {{428, 81}, {68, 13}} YES @@ -5088,14 +5098,6 @@ 1602 - - - fVidGrayscaleCheck - - - - 1603 - fVidQualityField @@ -5480,14 +5482,6 @@ 1907 - - - customSettingUsed: - - - - 1912 - customSettingUsed: @@ -6568,6 +6562,22 @@ 5160 + + + fPicSettingGrayscale + + + + 5165 + + + + fPicLabelGrayscale + + + + 5166 + @@ -6919,7 +6929,6 @@ - @@ -6945,6 +6954,8 @@ + + @@ -7056,15 +7067,6 @@ - - 1516 - - - YES - - - - 1714 @@ -8639,11 +8641,6 @@ - - 4881 - - - 4883 @@ -9988,6 +9985,34 @@ + + 5161 + + + YES + + + + + + 5162 + + + YES + + + + + + 5163 + + + + + 5164 + + + @@ -10076,8 +10101,6 @@ 1514.ImportedFromIB2 1515.IBPluginDependency 1515.ImportedFromIB2 - 1516.IBPluginDependency - 1516.ImportedFromIB2 1518.IBPluginDependency 1518.ImportedFromIB2 1519.IBPluginDependency @@ -10538,7 +10561,6 @@ 4878.IBPluginDependency 4879.IBPluginDependency 4880.IBPluginDependency - 4881.IBPluginDependency 4883.IBPluginDependency 4884.IBPluginDependency 4885.IBPluginDependency @@ -10783,6 +10805,12 @@ 5154.IBPluginDependency 5157.IBPluginDependency 5159.IBPluginDependency + 5161.IBPluginDependency + 5161.ImportedFromIB2 + 5162.IBPluginDependency + 5162.ImportedFromIB2 + 5163.IBPluginDependency + 5164.IBPluginDependency 56.IBPluginDependency 56.ImportedFromIB2 57.IBPluginDependency @@ -10910,8 +10938,6 @@ com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{673, 530}, {83, 20}} com.apple.InterfaceBuilder.CocoaPlugin @@ -11162,9 +11188,9 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{146, 306}, {760, 550}} + {{257, 306}, {760, 550}} - {{146, 306}, {760, 550}} + {{257, 306}, {760, 550}} {{65, 541}, {760, 550}} @@ -11434,7 +11460,6 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -11620,6 +11645,12 @@ com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + {{75, 683}, {235, 153}} com.apple.InterfaceBuilder.CocoaPlugin @@ -11651,7 +11682,7 @@ - 5160 + 5166 @@ -11834,6 +11865,7 @@ fPicLabelDeinterlace fPicLabelDenoise fPicLabelDetelecine + fPicLabelGrayscale fPicLabelOutp fPicLabelSettings fPicLabelSrc @@ -11844,6 +11876,7 @@ fPicSettingDeinterlace fPicSettingDenoise fPicSettingDetelecine + fPicSettingGrayscale fPicSettingPAR fPicSettingsAnamorphic fPicSettingsOutp @@ -11886,7 +11919,6 @@ fVidConstantCell fVidEncoderField fVidEncoderPopUp - fVidGrayscaleCheck fVidQualityField fVidQualityMatrix fVidQualitySlider @@ -11972,6 +12004,8 @@ NSTextField NSTextField NSTextField + NSTextField + NSTextField NSDrawer NSTextField NSButton @@ -12010,7 +12044,6 @@ NSButtonCell NSTextField NSPopUpButton - NSButton NSTextField NSMatrix NSSlider diff --git a/macosx/English.lproj/PictureFilters.xib b/macosx/English.lproj/PictureFilters.xib index 5a40fde04..85373bde7 100644 --- a/macosx/English.lproj/PictureFilters.xib +++ b/macosx/English.lproj/PictureFilters.xib @@ -8,7 +8,7 @@ 353.00 YES - + YES @@ -37,7 +37,7 @@ 8215 2 - {{1211, 502}, {266, 373}} + {{1211, 508}, {267, 380}} 1886913536 Picture Filters NSPanel @@ -51,21 +51,138 @@ 274 YES - + + + 268 + {{19, 343}, {62, 25}} + + + YES + + + 7.019608e-01 + 7.019608e-01 + 7.019608e-01 + 1.000000e+00 + + + YES + + + YES + + 67239424 + 134479872 + Preview + + LucidaGrande + 9.000000e+00 + 3614 + + + -2038284033 + 163 + + + 200 + 25 + + + + + 268 + {{159, 343}, {88, 25}} + + + YES + + + 7.019608e-01 + 7.019608e-01 + 7.019608e-01 + 1.000000e+00 + + + YES + + + YES + + 67239424 + 134479872 + Picture Size + + + -2038284033 + 163 + + + 200 + 25 + + + - 265 + 18 YES - - + + 256 YES - - - 256 - {{85, 193}, {110, 15}} - + + + 268 + {{15, 45}, {68, 17}} + + YES + + 67239424 + 71303168 + Detelecine: + + LucidaGrande + 1.100000e+01 + 3100 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 1 + MSAxIDEAA + + + + + + 268 + {{15, 22}, {68, 17}} + + YES + + 67239424 + 71303168 + Custom: + + + + + + + + + 268 + {{103, 46}, {110, 15}} + YES YES @@ -76,20 +193,16 @@ 7.019608e-01 1.000000e+00 - + YES YES - + -2076049856 264192 - - LucidaGrande - 9.000000e+00 - 3614 - - + + 109199615 1 @@ -103,53 +216,53 @@ 400 75 - - + + Item1 1048576 2147483647 1 - + NSImage NSMenuCheckmark - + NSImage NSMenuMixedState _popUpItemAction: - + YES - + OtherViews YES - - - + + + Item2 1048576 2147483647 - - + + _popUpItemAction: - + - - + + Item3 1048576 2147483647 - - + + _popUpItemAction: - + @@ -159,58 +272,79 @@ 1 - - - 256 - {{14, 191}, {68, 17}} - + + + 268 + {{104, 24}, {108, 16}} + YES - - 67239424 - 71303168 - Deinterlace: - - LucidaGrande - 1.100000e+01 - 3100 - - - + + -1804468671 + 272892928 + + + + YES + 6 System - controlColor + textBackgroundColor 3 - MC42NjY2NjY2OQA + MQA - - 1 - MSAxIDEAA + + 6 + System + textColor + + 3 + MAA + - - - 256 - {{13, 247}, {68, 17}} - - YES - - 67239424 - 71303168 - Detelecine: - - - - - - - - - 256 - {{83, 249}, {18, 18}} - + + {{1, 1}, {230, 71}} + + + + {{18, 253}, {232, 73}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxAA + + + + 1 + 0 + 0 + NO + + + + 268 + + YES + + + 256 + + YES + + + 268 + {{59, 60}, {37, 16}} + YES YES @@ -221,216 +355,467 @@ 7.019608e-01 1.000000e+00 - + YES YES - + + -2079981824 + 262144 + + + + 1.000000e+00 + 0.000000e+00 + 0.000000e+00 + 0.000000e+00 + 2 + 1 + YES + NO + + + + + 268 + {{1, 60}, {56, 17}} + + YES + 67239424 - 67239936 - Detelecine: + 71303168 + Decomb - - 1210864127 - 2 - - NSSwitch - - - - 200 - 25 + + + - - - 256 - {{80, 221}, {22, 18}} - - YES - - YES - - - 7.019608e-01 - 7.019608e-01 - 7.019608e-01 - 1.000000e+00 - - - YES - - + + + 268 + {{97, 59}, {89, 17}} + YES - + 67239424 - 67239936 - Decomb: + 4194304 + Deinterlace - - 1210864127 - 2 - - - - 200 - 25 + + + - - - 256 - {{86, 166}, {109, 15}} - - YES - + + + 18 + YES - - - 7.019608e-01 - 7.019608e-01 - 7.019608e-01 - 1.000000e+00 + + + 256 + + YES + + + 268 + {{5, 33}, {68, 17}} + + YES + + 67239424 + 71303168 + Decomb: + + + + + + + + + 268 + {{5, 10}, {68, 17}} + + YES + + 67239424 + 71303168 + Custom: + + + + + + + + + 268 + {{93, 34}, {110, 15}} + + YES + + YES + + + 7.019608e-01 + 7.019608e-01 + 7.019608e-01 + 1.000000e+00 + + + YES + + + YES + + -2076049856 + 264192 + + + 109199615 + 1 + + + + + + 400 + 75 + + + Item1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + OtherViews + + + YES + + + + Item2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 3 + YES + YES + 1 + + + + + 268 + {{94, 12}, {108, 16}} + + YES + + -1804468671 + 272892928 + + + + YES + + + + - - YES + {215, 60} + - YES - - -2076049856 - 264192 - - - 109199615 - 1 - - - - - - 400 - 75 - - - Item1 - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - + {{5, -7}, {215, 60}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxAA - YES - - - OtherViews - - + + + 0 + 4 + 0 + NO + + + + 18 + + YES + + + 256 + YES - - - - Item2 - - 1048576 - 2147483647 - - - _popUpItemAction: - + + + 268 + {{8, 33}, {68, 17}} + + YES + + 67239424 + 71303168 + Deinterlace: + + + + + - - - Item3 - - 1048576 - 2147483647 - - - _popUpItemAction: - + + + 268 + {{8, 10}, {68, 17}} + + YES + + 67239424 + 71303168 + Custom: + + + + + + + + + 268 + {{96, 34}, {110, 15}} + + YES + + YES + + + 7.019608e-01 + 7.019608e-01 + 7.019608e-01 + 1.000000e+00 + + + YES + + + YES + + -2076049856 + 264192 + + + 109199615 + 1 + + + + + + 400 + 75 + + + Item1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + OtherViews + + + YES + + + + Item2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 3 + YES + YES + 1 + + + + + 268 + {{97, 12}, {108, 16}} + + YES + + -1804468671 + 272892928 + + + + YES + + + + {221, 60} + - 3 - YES - YES - 1 - - - - 256 - {{31, 165}, {51, 17}} - - YES - + {{2, -7}, {221, 60}} + + {0, 0} + 67239424 - 71303168 - Denoise: + 0 + Box - - - + + + 3 + MCAwLjgwMDAwMDAxAA + + + 0 + 0 + 0 + NO - - - 256 - {{30, 138}, {51, 17}} - + + {{2, 18}, {228, 88}} + + + + {{18, 164}, {232, 108}} + + {0, 0} + + 67239424 + 0 + + + + + 3 + MCAwLjgwMDAwMDAxAA + + + + 3 + 0 + 4 + NO + + + + 18 + + YES + + + 256 + + YES + + + 268 + {{15, 45}, {68, 17}} + YES - + 67239424 71303168 - Deblock: + Denoise: - + - - - 256 - {{26, 223}, {55, 14}} - + + + 268 + {{15, 22}, {68, 17}} + YES - + 67239424 71303168 - Decomb: + Custom: - + - - - 256 - {{80, 140}, {31, 14}} - - YES - - 67239424 - 138543104 - Off - - - - - - - - + + 268 - {{118, 138}, {96, 16}} - + {{103, 46}, {110, 15}} + YES YES @@ -441,64 +826,169 @@ 7.019608e-01 1.000000e+00 - + YES YES - - -2079981824 - 262144 + + -2076049856 + 264192 + + + 109199615 + 1 + + + + + + 400 + 75 + + + Item1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + + OtherViews + + + YES + + + + Item2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 3 + YES + YES + 1 + + + + + 268 + {{104, 24}, {108, 16}} + + YES + + -1804468671 + 272892928 - - 1.500000e+01 - 4.000000e+00 - 4.000000e+00 - 0.000000e+00 - 12 - 0 - YES - NO + + YES + + - {{2, 18}, {228, 283}} - + {{1, 1}, {230, 71}} + - {{17, 22}, {232, 303}} + {{17, 98}, {232, 73}} {0, 0} 67239424 0 - + Box - - 6 - System - textBackgroundColor - - 3 - MQA - - + 3 MCAwLjgwMDAwMDAxAA - - 3 + + 1 0 - 4 + 0 NO - + - 268 - {{19, 345}, {57, 16}} + 256 + {{51, 74}, {51, 17}} + + YES + + 67239424 + 71303168 + Deblock: + + + + + + + + + 256 + {{39, 47}, {63, 14}} + + YES + + 67239424 + 71303168 + Grayscale: + + + + + + + + + 256 + {{101, 76}, {31, 14}} + + YES + + 67239424 + 138543104 + Off + + + + + + + + + 256 + {{137, 76}, {96, 16}} YES @@ -515,24 +1005,26 @@ YES - - 67239424 - 134479872 - Preview + + -2079981824 + 262144 + - - -2038284033 - 129 - - - 200 - 25 + + 1.500000e+01 + 4.000000e+00 + 4.000000e+00 + 0.000000e+00 + 12 + 0 + YES + NO - + - 268 - {{159, 345}, {88, 16}} + 256 + {{106, 45}, {19, 18}} YES @@ -544,19 +1036,26 @@ 7.019608e-01 1.000000e+00 - + YES YES - + 67239424 - 134479872 - Picture Size - - - -2038284033 - 129 + 131072 + Check + + + 1211912703 + 130 + + NSImage + NSSwitch + + + NSSwitch + 200 @@ -564,7 +1063,7 @@ - {266, 373} + {267, 380} {{0, 0}, {1440, 878}} @@ -577,459 +1076,846 @@ YES - fDeinterlacePopUp + fDeblockSlider - + - 62 + 202 - fDenoisePopUp + fDeblockField - + - 63 + 206 - fDetelecineCheck + fPreviewOpenButton - + - 64 + 272 - - fDeblockSlider + + showPreviewWindow: + + + + 273 + + + + deblockSliderChanged: - 202 + 278 - fDeblockField + fFilterWindow - + - 206 + 280 - fDecombCheck + window - + - 238 + 281 - fPictureFilterBox + fPictureSizeOpenButton - + - 243 + 284 + + + + showPictureSettingsWindow: + + + + 285 - fPreviewOpenButton + fDetelecineBox - + - 272 + 287 - - showPreviewWindow: + + fDetelecinePopUp - + - 273 + 295 FilterSettingsChanged: - + - 275 + 296 + + + + fDetelecineField + + + + 301 + + + + fDecombBox + + + + 316 + + + + fDecombField + + + + 317 FilterSettingsChanged: - + + + 318 + + + + fDeinterlaceField + + + + 333 + + + + fDeinterlacePopUp + + - 276 + 334 FilterSettingsChanged: - + - 277 + 335 + + + + fDecombPopUp + + + + 336 + + + + fDecombDeinterlaceBox + + + + 358 + + + + fDecombDeinterlaceSlider + + + + 359 - deblockSliderChanged: + modeDecombDeinterlaceSliderChanged: - + - 278 + 360 + + + + fDeinterlaceBox + + + + 361 + + + + fDenoisePopUp + + + + 375 + + + + fDenoiseBox + + + + 376 + + + + fDenoiseField + + + + 377 FilterSettingsChanged: - + - 279 + 378 - fFilterWindow + fGrayscaleCheck - + - 280 + 383 - - window + + FilterSettingsChanged: - + + + 384 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + -3 + + + Application + + + 5 + + + YES + + + + PictureFiltersPanel + + + 6 + + + YES + + + + + + + + + + + + + + + 270 + + + YES + + + + + + 271 + + + + + 282 + + + YES + + + + + + 283 + + + + + 286 + + + YES + + + + + + + + + 246 + + + YES + + + + + + 247 + + + + + 289 + + + YES + + + + + + 290 + + + YES + + + + + + 291 + + + YES + + + + + + + + 292 + + + + + 293 + + + + + 294 + + + + + 297 + + + YES + + + + + + 298 + + + + + 299 + + + YES + + + - 281 - - - - fPictureSizeOpenButton - - + + 300 + + - 284 - - - - showPictureSettingsWindow: - - + + 341 + + + YES + + + + + + + - 285 - - - - - YES - 0 - + 337 + + YES + - - + - -2 - - - RmlsZSdzIE93bmVyA + 338 + + - -1 - - - First Responder + 339 + + + YES + + + - -3 - - - Application + 340 + + - 5 - + 356 + YES - + - - PictureFiltersPanel + - 6 - + 357 + + + + + 302 + YES - - - + + + + - + - 23 - + 306 + YES - - - - - - - - - - - + - + - 32 - + 305 + YES - + - + - 161 - + 304 + YES - + - + - 33 - + 303 + YES - - - + - + - 34 - - + 314 + + - 35 - - + 313 + + - 36 - - + 308 + + + YES + + + - 30 - + 309 + YES - + + + - + + + + 312 + + + + + 311 + + + + + 310 + + - 159 - - + 307 + + - 37 - + 319 + YES - + + + + - + - 162 - - + 320 + + + YES + + + - 25 - + 321 + YES - + - + - 158 - + 322 + YES - + - + - 26 - + 323 + YES - - - + - + - 27 - - + 324 + + - 28 - - + 325 + + - 29 - - + 326 + + + YES + + + - 31 - + 327 + YES - + + + - + - 160 - - + 328 + + - 195 - + 329 + + + + + 330 + + + + + 331 + + + + + 362 + YES - + + + + - + - 196 - - + 363 + + + YES + + + - 197 - + 364 + YES - + - + - 198 - - + 365 + + + YES + + + - 204 - + 366 + YES - + - + - 205 - - + 367 + + + + + 368 + + + YES + + + - 236 - + 369 + YES - + + + - + - 237 - - + 370 + + - 246 - + 371 + + + + + 372 + + + + + 373 + + + + + 374 + + + + + 197 + YES - + - + - 247 - - + 198 + + - 248 - + 204 + YES - + - + - 249 - - + 205 + + - 270 - + 195 + YES - + - 271 - - + 196 + + - 282 - + 379 + YES - + - 283 - - + 380 + + + + + 381 + + + YES + + + + + + 382 + + @@ -1041,11 +1927,6 @@ -2.IBPluginDependency -3.IBPluginDependency -3.ImportedFromIB2 - 158.IBPluginDependency - 159.IBPluginDependency - 160.IBPluginDependency - 161.IBPluginDependency - 162.IBPluginDependency 195.IBPluginDependency 195.IBViewIntegration.shadowBlurRadius 195.IBViewIntegration.shadowColor @@ -1058,47 +1939,111 @@ 204.IBPluginDependency 204.ImportedFromIB2 205.IBPluginDependency - 23.IBPluginDependency - 23.ImportedFromIB2 - 236.IBPluginDependency - 236.ImportedFromIB2 - 237.IBPluginDependency 246.IBPluginDependency 246.ImportedFromIB2 247.IBPluginDependency - 248.IBPluginDependency - 248.ImportedFromIB2 - 249.IBPluginDependency - 25.IBPluginDependency - 25.ImportedFromIB2 - 26.IBPluginDependency - 26.ImportedFromIB2 - 27.IBPluginDependency - 27.ImportedFromIB2 270.IBPluginDependency 271.IBPluginDependency - 28.IBPluginDependency - 28.ImportedFromIB2 282.IBPluginDependency 283.IBPluginDependency - 29.IBPluginDependency - 29.ImportedFromIB2 - 30.IBPluginDependency - 30.ImportedFromIB2 - 31.IBPluginDependency - 31.ImportedFromIB2 - 32.IBPluginDependency - 32.ImportedFromIB2 - 33.IBPluginDependency - 33.ImportedFromIB2 - 34.IBPluginDependency - 34.ImportedFromIB2 - 35.IBPluginDependency - 35.ImportedFromIB2 - 36.IBPluginDependency - 36.ImportedFromIB2 - 37.IBPluginDependency - 37.ImportedFromIB2 + 286.IBPluginDependency + 289.IBPluginDependency + 289.ImportedFromIB2 + 290.IBPluginDependency + 291.IBPluginDependency + 291.ImportedFromIB2 + 292.IBPluginDependency + 292.ImportedFromIB2 + 293.IBPluginDependency + 293.ImportedFromIB2 + 294.IBPluginDependency + 294.ImportedFromIB2 + 297.IBPluginDependency + 298.IBPluginDependency + 299.IBPluginDependency + 299.ImportedFromIB2 + 300.IBPluginDependency + 302.IBPluginDependency + 303.IBPluginDependency + 304.IBPluginDependency + 304.ImportedFromIB2 + 305.IBPluginDependency + 305.ImportedFromIB2 + 306.IBPluginDependency + 306.ImportedFromIB2 + 307.IBPluginDependency + 308.IBPluginDependency + 309.IBEditorWindowLastContentRect + 309.IBPluginDependency + 309.ImportedFromIB2 + 310.IBPluginDependency + 310.ImportedFromIB2 + 311.IBPluginDependency + 311.ImportedFromIB2 + 312.IBPluginDependency + 312.ImportedFromIB2 + 313.IBPluginDependency + 314.IBPluginDependency + 319.IBPluginDependency + 320.IBPluginDependency + 320.ImportedFromIB2 + 321.IBPluginDependency + 321.ImportedFromIB2 + 322.IBPluginDependency + 322.ImportedFromIB2 + 323.IBPluginDependency + 324.IBPluginDependency + 325.IBPluginDependency + 326.IBPluginDependency + 327.IBEditorWindowLastContentRect + 327.IBPluginDependency + 327.ImportedFromIB2 + 328.IBPluginDependency + 328.ImportedFromIB2 + 329.IBPluginDependency + 329.ImportedFromIB2 + 330.IBPluginDependency + 330.ImportedFromIB2 + 331.IBPluginDependency + 337.IBPluginDependency + 337.IBViewIntegration.shadowBlurRadius + 337.IBViewIntegration.shadowColor + 337.IBViewIntegration.shadowOffsetHeight + 337.IBViewIntegration.shadowOffsetWidth + 338.IBPluginDependency + 339.IBPluginDependency + 339.ImportedFromIB2 + 340.IBPluginDependency + 341.IBPluginDependency + 341.ImportedFromIB2 + 356.IBPluginDependency + 356.ImportedFromIB2 + 357.IBPluginDependency + 362.IBPluginDependency + 363.IBPluginDependency + 364.IBPluginDependency + 364.ImportedFromIB2 + 365.IBPluginDependency + 365.ImportedFromIB2 + 366.IBPluginDependency + 366.ImportedFromIB2 + 367.IBPluginDependency + 368.IBPluginDependency + 369.IBPluginDependency + 369.ImportedFromIB2 + 370.IBPluginDependency + 370.ImportedFromIB2 + 371.IBPluginDependency + 371.ImportedFromIB2 + 372.IBPluginDependency + 372.ImportedFromIB2 + 373.IBPluginDependency + 374.IBPluginDependency + 379.IBPluginDependency + 380.IBPluginDependency + 381.IBPluginDependency + 381.ImportedFromIB2 + 382.IBPluginDependency 5.IBEditorWindowLastContentRect 5.IBViewEditorWindowController.showingLayoutRectangles 5.IBWindowTemplateEditedContentRect @@ -1118,16 +2063,8 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - 3 - MAA - + com.apple.InterfaceBuilder.CocoaPlugin @@ -1140,47 +2077,111 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin + {{873, 640}, {110, 48}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{873, 640}, {110, 48}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + {{710, 445}, {267, 380}} - {{654, 483}, {266, 373}} - - {{654, 483}, {266, 373}} + {{710, 445}, {267, 380}} {{221, 276}, {533, 580}} @@ -1211,7 +2212,7 @@ - 285 + 384 @@ -1239,7 +2240,9 @@ YES FilterSettingsChanged: + adjustFilterDisplay: deblockSliderChanged: + modeDecombDeinterlaceSliderChanged: showFilterWindow: showPictureSettingsWindow: showPreviewWindow: @@ -1251,42 +2254,62 @@ id id id + id + id YES YES - fAnamorphicPopUp fDeblockCheck fDeblockField fDeblockSlider - fDecombCheck + fDecombBox + fDecombDeinterlaceBox + fDecombDeinterlaceSlider + fDecombField + fDecombPopUp + fDeinterlaceBox + fDeinterlaceField fDeinterlacePopUp + fDenoiseBox + fDenoiseField fDenoisePopUp - fDetelecineCheck + fDetelecineBox + fDetelecineField + fDetelecinePopUp fFilterWindow + fGrayscaleCheck fInfoField fPictureFilterBox fPictureSizeOpenButton - fPictureSlider fPreviewOpenButton YES - NSPopUpButton NSButton NSTextField NSSlider - NSButton + NSBox + NSBox + NSSlider + NSTextField NSPopUpButton + NSBox + NSTextField + NSPopUpButton + NSBox + NSTextField + NSPopUpButton + NSBox + NSTextField NSPopUpButton - NSButton NSWindow + NSButton NSTextField NSBox NSButton - NSSlider NSButton diff --git a/macosx/English.lproj/PictureSettings.xib b/macosx/English.lproj/PictureSettings.xib index 34e8c0011..60b245117 100644 --- a/macosx/English.lproj/PictureSettings.xib +++ b/macosx/English.lproj/PictureSettings.xib @@ -1,9 +1,9 @@ - + 1050 9G55 - 670 + 677 949.43 353.00 @@ -14,6 +14,15 @@ YES com.apple.InterfaceBuilder.CocoaPlugin + + YES + + YES + + + YES + + YES @@ -28,14 +37,14 @@ 8215 2 - {{1211, 357}, {229, 518}} + {{1211, 357}, {229, 380}} 1886913536 Picture Settings NSPanel View - {10000, 10000} + {3.40282e+38, 3.40282e+38} {230, 500} @@ -497,7 +506,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA - {{17, 149}, {193, 161}} + {{17, 11}, {193, 161}} {0, 0} @@ -815,7 +824,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA - {{19, 328}, {193, 130}} + {{19, 190}, {193, 130}} {0, 0} @@ -873,7 +882,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 268 - {{19, 491}, {57, 16}} + {{19, 344}, {57, 25}} YES @@ -897,7 +906,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA -2038284033 - 129 + 163 200 @@ -907,7 +916,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 268 - {{118, 491}, {84, 16}} + {{118, 344}, {84, 25}} YES @@ -931,7 +940,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA -2038284033 - 129 + 163 200 @@ -939,7 +948,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA - {229, 518} + {229, 380} {{0, 0}, {1440, 878}} @@ -1721,26 +1730,49 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 138.ImportedFromIB2 14.IBPluginDependency 14.ImportedFromIB2 + 149.IBPluginDependency 15.IBPluginDependency 15.ImportedFromIB2 + 150.IBPluginDependency + 151.IBPluginDependency + 152.IBPluginDependency + 153.IBPluginDependency + 154.IBPluginDependency + 155.IBPluginDependency + 156.IBPluginDependency 16.IBPluginDependency 16.ImportedFromIB2 + 166.IBPluginDependency + 167.IBPluginDependency + 168.IBPluginDependency + 169.IBPluginDependency 17.IBPluginDependency 17.ImportedFromIB2 + 170.IBPluginDependency + 171.IBPluginDependency + 172.IBPluginDependency + 173.IBPluginDependency + 174.IBPluginDependency + 178.IBPluginDependency 18.IBPluginDependency 18.ImportedFromIB2 19.IBPluginDependency 19.ImportedFromIB2 244.IBPluginDependency 244.ImportedFromIB2 + 245.IBPluginDependency 250.IBPluginDependency 250.ImportedFromIB2 + 251.IBPluginDependency 252.IBPluginDependency 252.ImportedFromIB2 + 253.IBPluginDependency 260.IBPluginDependency 260.ImportedFromIB2 + 261.IBPluginDependency 262.IBPluginDependency 262.ImportedFromIB2 + 263.IBPluginDependency 270.IBPluginDependency 271.IBPluginDependency 274.IBPluginDependency @@ -1762,7 +1794,6 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA 47.IBPluginDependency 47.ImportedFromIB2 5.IBEditorWindowLastContentRect - 5.IBPluginDependency 5.IBViewEditorWindowController.showingLayoutRectangles 5.IBWindowTemplateEditedContentRect 5.ImportedFromIB2 @@ -1807,31 +1838,52 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -1846,10 +1898,11 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA com.apple.InterfaceBuilder.CocoaPlugin - {{423, 339}, {229, 518}} com.apple.InterfaceBuilder.CocoaPlugin - {{423, 339}, {229, 518}} + {{481, 445}, {229, 380}} + + {{481, 445}, {229, 380}} {{221, 276}, {533, 580}} diff --git a/macosx/HBFilterController.h b/macosx/HBFilterController.h index 1bfde5be3..d2b224c76 100644 --- a/macosx/HBFilterController.h +++ b/macosx/HBFilterController.h @@ -25,15 +25,31 @@ IBOutlet NSBox * fPictureFilterBox; + IBOutlet NSBox * fDetelecineBox; + IBOutlet NSPopUpButton * fDetelecinePopUp; + IBOutlet NSTextField * fDetelecineField; + + IBOutlet NSBox * fDecombDeinterlaceBox; + IBOutlet NSSlider * fDecombDeinterlaceSlider; + + IBOutlet NSBox * fDecombBox; + IBOutlet NSPopUpButton * fDecombPopUp; + IBOutlet NSTextField * fDecombField; + + IBOutlet NSBox * fDeinterlaceBox; IBOutlet NSPopUpButton * fDeinterlacePopUp; - IBOutlet NSButton * fDecombCheck; - IBOutlet NSButton * fDetelecineCheck; + IBOutlet NSTextField * fDeinterlaceField; + + IBOutlet NSBox * fDenoiseBox; + IBOutlet NSPopUpButton * fDenoisePopUp; + IBOutlet NSTextField * fDenoiseField; + IBOutlet NSButton * fDeblockCheck; IBOutlet NSTextField * fDeblockField; IBOutlet NSSlider * fDeblockSlider; - IBOutlet NSPopUpButton * fDenoisePopUp; - IBOutlet NSPopUpButton * fAnamorphicPopUp; - IBOutlet NSSlider * fPictureSlider; + + IBOutlet NSButton * fGrayscaleCheck; + IBOutlet NSTextField * fInfoField; IBOutlet NSButton * fPreviewOpenButton; @@ -41,24 +57,20 @@ int MaxOutputWidth; int MaxOutputHeight; - BOOL autoCrop; - BOOL allowLooseAnamorphic; int output_width, output_height, output_par_width, output_par_height; int display_width; - /* used to track the previous state of the keep aspect - ratio checkbox when turning anamorphic on, so it can be - returned to the previous state when anamorphic is turned - off */ - BOOL keepAspectRatioPreviousState; + struct { int detelecine; int deinterlace; int decomb; + int usedecomb; int denoise; int deblock; + int grayscale; } fPictureFilterSettings; @@ -72,29 +84,33 @@ - (IBAction) showPreviewWindow: (id)sender; - (void) setInitialPictureFilters; - +- (IBAction) modeDecombDeinterlaceSliderChanged: (id) sender; - (IBAction) FilterSettingsChanged: (id) sender; +- (void) adjustFilterDisplay: (id) sender; - -- (BOOL) autoCrop; -- (void) setAutoCrop: (BOOL) setting; - -- (BOOL) allowLooseAnamorphic; -- (void) setAllowLooseAnamorphic: (BOOL) setting; - (IBAction) deblockSliderChanged: (id) sender; - (int) detelecine; +- (NSString*) detelecineCustomString; - (void) setDetelecine: (int) setting; +- (int) useDecomb; +- (void) setUseDecomb: (int) setting; - (int) deinterlace; +- (NSString*) deinterlaceCustomString; - (void) setDeinterlace: (int) setting; - (int) decomb; +- (NSString*) decombCustomString; - (void) setDecomb: (int) setting; - (int) denoise; +- (NSString*) denoiseCustomString; - (void) setDenoise: (int) setting; - (int) deblock; - (void) setDeblock: (int) setting; +- (int) grayscale; +- (void) setGrayscale: (int) setting; + - (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title; - (IBAction) showPictureSettingsWindow: (id)sender; diff --git a/macosx/HBFilterController.mm b/macosx/HBFilterController.mm index 24afa987c..83f735823 100644 --- a/macosx/HBFilterController.mm +++ b/macosx/HBFilterController.mm @@ -99,6 +99,7 @@ [[self window] setExcludedFromWindowsMenu:YES]; [self setInitialPictureFilters]; + } @@ -133,12 +134,28 @@ are maintained across different sources */ - (void) setInitialPictureFilters { - /* we use a popup to show the deinterlace settings */ + /* we use a popup to show the detelecine settings */ + [fDetelecinePopUp removeAllItems]; + [fDetelecinePopUp addItemWithTitle: @"Off"]; + [fDetelecinePopUp addItemWithTitle: @"Default"]; + [fDetelecinePopUp addItemWithTitle: @"Custom"]; + [fDetelecinePopUp selectItemAtIndex: fPictureFilterSettings.detelecine]; + + [self modeDecombDeinterlaceSliderChanged:nil]; + /* we use a popup to show the decomb settings */ + [fDecombPopUp removeAllItems]; + [fDecombPopUp addItemWithTitle: @"Off"]; + [fDecombPopUp addItemWithTitle: @"Default"]; + [fDecombPopUp addItemWithTitle: @"Custom"]; + [fDecombPopUp selectItemAtIndex: fPictureFilterSettings.decomb]; + + /* we use a popup to show the deinterlace settings */ [fDeinterlacePopUp removeAllItems]; [fDeinterlacePopUp addItemWithTitle: @"None"]; [fDeinterlacePopUp addItemWithTitle: @"Fast"]; [fDeinterlacePopUp addItemWithTitle: @"Slow"]; [fDeinterlacePopUp addItemWithTitle: @"Slower"]; + [fDeinterlacePopUp addItemWithTitle: @"Custom"]; /* Set deinterlaces level according to the integer in the main window */ [fDeinterlacePopUp selectItemAtIndex: fPictureFilterSettings.deinterlace]; @@ -149,6 +166,7 @@ are maintained across different sources */ [fDenoisePopUp addItemWithTitle: @"Weak"]; [fDenoisePopUp addItemWithTitle: @"Medium"]; [fDenoisePopUp addItemWithTitle: @"Strong"]; + [fDenoisePopUp addItemWithTitle: @"Custom"]; /* Set denoises level according to the integer in the main window */ [fDenoisePopUp selectItemAtIndex: fPictureFilterSettings.denoise]; @@ -158,11 +176,12 @@ are maintained across different sources */ - (void) SetTitle: (hb_title_t *) title { /* Set filters widgets according to the filters struct */ - [fDetelecineCheck setState:fPictureFilterSettings.detelecine]; + [fDetelecinePopUp selectItemAtIndex:fPictureFilterSettings.detelecine]; + [fDecombPopUp selectItemAtIndex:fPictureFilterSettings.decomb]; [fDeinterlacePopUp selectItemAtIndex: fPictureFilterSettings.deinterlace]; [fDenoisePopUp selectItemAtIndex: fPictureFilterSettings.denoise]; [fDeblockSlider setFloatValue:fPictureFilterSettings.deblock]; - [fDecombCheck setState:fPictureFilterSettings.decomb]; + [fGrayscaleCheck setState:fPictureFilterSettings.grayscale]; [self deblockSliderChanged: nil]; } @@ -180,13 +199,45 @@ are maintained across different sources */ [self FilterSettingsChanged: sender]; } + +- (IBAction) modeDecombDeinterlaceSliderChanged: (id) sender +{ + /* Decomb selected*/ + if ([fDecombDeinterlaceSlider floatValue] == 0.0) + { + [fDecombBox setHidden:NO]; + [fDeinterlaceBox setHidden:YES]; + fPictureFilterSettings.decomb = [fDecombPopUp indexOfSelectedItem]; + fPictureFilterSettings.usedecomb = 1; + fPictureFilterSettings.deinterlace = 0; + [self adjustFilterDisplay:fDecombPopUp]; + [fDecombPopUp selectItemAtIndex:fPictureFilterSettings.decomb]; + } + else + { + [fDecombBox setHidden:YES]; + [fDeinterlaceBox setHidden:NO]; + fPictureFilterSettings.usedecomb = 0; + fPictureFilterSettings.decomb = 0; + [self adjustFilterDisplay:fDeinterlacePopUp]; + [fDeinterlacePopUp selectItemAtIndex: fPictureFilterSettings.deinterlace]; + } + [self FilterSettingsChanged: sender]; +} + - (IBAction) FilterSettingsChanged: (id) sender { - fPictureFilterSettings.deinterlace = [fDeinterlacePopUp indexOfSelectedItem]; + fPictureFilterSettings.detelecine = [fDetelecinePopUp indexOfSelectedItem]; + [self adjustFilterDisplay:fDetelecinePopUp]; - fPictureFilterSettings.denoise = [fDenoisePopUp indexOfSelectedItem]; + fPictureFilterSettings.decomb = [fDecombPopUp indexOfSelectedItem]; + [self adjustFilterDisplay:fDecombPopUp]; - fPictureFilterSettings.detelecine = [fDetelecineCheck state]; + fPictureFilterSettings.deinterlace = [fDeinterlacePopUp indexOfSelectedItem]; + [self adjustFilterDisplay:fDeinterlacePopUp]; + + fPictureFilterSettings.denoise = [fDenoisePopUp indexOfSelectedItem]; + [self adjustFilterDisplay:fDenoisePopUp]; if ([fDeblockField stringValue] == @"Off") { @@ -197,7 +248,7 @@ are maintained across different sources */ fPictureFilterSettings.deblock = [fDeblockField intValue]; } - fPictureFilterSettings.decomb = [fDecombCheck state]; + fPictureFilterSettings.grayscale = [fGrayscaleCheck state]; if (sender != nil) { @@ -207,32 +258,75 @@ are maintained across different sources */ } - +- (void) adjustFilterDisplay: (id) sender +{ + + NSBox * filterBox; + NSTextField * filterField; + if (sender == fDetelecinePopUp) + { + filterBox = fDetelecineBox; + filterField = fDetelecineField; + } + if (sender == fDecombPopUp) + { + filterBox = fDecombBox; + filterField = fDecombField; + } + if (sender == fDeinterlacePopUp) + { + filterBox = fDeinterlaceBox; + filterField = fDeinterlaceField; + } + + if (sender == fDenoisePopUp) + { + filterBox = fDenoiseBox; + filterField = fDenoiseField; + } + + NSSize currentSize = [filterBox frame].size; + if ([sender titleOfSelectedItem] == @"Custom") + { + currentSize.height = 60; + } + else + { + currentSize.height = 30; + } + /* Check to see if we have changed the size from current */ + if (currentSize.height != [filterBox frame].size.height) + { + /* We are changing the size of the box, so recalc the origin */ + NSPoint origin = [filterBox frame].origin; + /* See if we are expanding the box downwards */ + if (currentSize.height > [filterBox frame].size.height) + { + origin.y = origin.y - currentSize.height / 2; + } + else + { + origin.y = origin.y + currentSize.height; + } + /* go ahead and resize the box */ + [filterBox setFrameSize:currentSize]; + [filterBox setFrameOrigin:origin]; + } + +} #pragma mark - -- (BOOL) autoCrop -{ - return autoCrop; -} -- (void) setAutoCrop: (BOOL) setting -{ - autoCrop = setting; -} -- (BOOL) allowLooseAnamorphic -{ - return allowLooseAnamorphic; -} -- (void) setAllowLooseAnamorphic: (BOOL) setting +- (int) detelecine { - allowLooseAnamorphic = setting; + return fPictureFilterSettings.detelecine; } -- (int) detelecine +- (NSString*) detelecineCustomString { - return fPictureFilterSettings.detelecine; + return [fDetelecineField stringValue]; } - (void) setDetelecine: (int) setting @@ -244,8 +338,12 @@ are maintained across different sources */ { return fPictureFilterSettings.deinterlace; } - -- (void) setDeinterlace: (int) setting { +- (NSString*) deinterlaceCustomString +{ + return [fDeinterlaceField stringValue]; +} +- (void) setDeinterlace: (int) setting +{ fPictureFilterSettings.deinterlace = setting; } - (int) decomb @@ -253,6 +351,21 @@ are maintained across different sources */ return fPictureFilterSettings.decomb; } +- (NSString*) decombCustomString +{ + return [fDecombField stringValue]; +} + +- (int) useDecomb +{ + return fPictureFilterSettings.usedecomb; +} + +- (void) setUseDecomb: (int) setting +{ + fPictureFilterSettings.usedecomb = setting; +} + - (void) setDecomb: (int) setting { fPictureFilterSettings.decomb = setting; } @@ -261,6 +374,11 @@ are maintained across different sources */ return fPictureFilterSettings.denoise; } +- (NSString*) denoiseCustomString +{ + return [fDenoiseField stringValue]; +} + - (void) setDenoise: (int) setting { fPictureFilterSettings.denoise = setting; @@ -276,6 +394,16 @@ are maintained across different sources */ fPictureFilterSettings.deblock = setting; } +- (int) grayscale +{ + return fPictureFilterSettings.grayscale; +} + +- (void) setGrayscale: (int) setting +{ + fPictureFilterSettings.grayscale = setting; +} + - (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title { [self SetTitle:title]; diff --git a/macosx/HBQueueController.mm b/macosx/HBQueueController.mm index 45d2f83a5..6874104c8 100644 --- a/macosx/HBQueueController.mm +++ b/macosx/HBQueueController.mm @@ -1044,34 +1044,53 @@ return ![(HBQueueOutlineView*)outlineView isDragging]; pictureFiltersPresent = YES; pictureFilters = [pictureFilters stringByAppendingString:@" - VFR"]; } + if( [[item objectForKey:@"PictureDetelecine"] intValue] == 1 ) { pictureFiltersPresent = YES; pictureFilters = [pictureFilters stringByAppendingString:@" - Detelecine"]; } - if( [[item objectForKey:@"PictureDecomb"] intValue] == 1) + if( [[item objectForKey:@"PictureDecombDeinterlace"] intValue] == 1) { - pictureFiltersPresent = YES; - pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb "]; - } - - if ([[item objectForKey:@"PictureDeinterlace"] intValue] != 0) - { - pictureFiltersPresent = YES; - if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 1) - { - pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Fast "]; - } - else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 2) + if ([[item objectForKey:@"PictureDecomb"] intValue] != 0) { - pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Slow "]; + pictureFiltersPresent = YES; + if( [[item objectForKey:@"PictureDecomb"] intValue] == 1) + { + pictureFiltersPresent = YES; + pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb Default "]; + } + if( [[item objectForKey:@"PictureDecomb"] intValue] == 2) + { + pictureFiltersPresent = YES; + pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb Custom "]; + } } - else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 3) + } + else + { + if ([[item objectForKey:@"PictureDeinterlace"] intValue] != 0) { - pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Slower "]; + pictureFiltersPresent = YES; + if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 1) + { + pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Fast "]; + } + else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 2) + { + pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Slow "]; + } + else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 3) + { + pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Slower "]; + } + else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 4) + { + pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Custom "]; + } + } - } if ([[item objectForKey:@"PictureDenoise"] intValue] != 0) { @@ -1088,6 +1107,10 @@ return ![(HBQueueOutlineView*)outlineView isDragging]; { pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise: Strong "]; } + else if ([[item objectForKey:@"PictureDenoise"] intValue] == 4) + { + pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise: Custom "]; + } } if ([[item objectForKey:@"PictureDeblock"] intValue] != 0) -- 2.40.0