From a455dfec33439b42dfd89e8a7fe303abd9277393 Mon Sep 17 00:00:00 2001 From: Rodeo Date: Fri, 12 Apr 2013 19:06:06 +0000 Subject: [PATCH] MacGui: main and queue window improvements. Merge fPictureSizeField and fPictureCroppingField into fPictureSettingsField (fits on a single line). Rename fVideoFiltersField to fPictureFiltersField. Move the two text fields closer to each other now that there is more room. Also align their contents using tabs. This should look better overall. Add pictureSettingsSummary and pictureFiltersSummary to generate the text summaries used in the fields above. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5395 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- macosx/Controller.h | 13 +- macosx/Controller.m | 265 +++++++++++++++++------------- macosx/English.lproj/MainMenu.xib | 97 +++-------- 3 files changed, 182 insertions(+), 193 deletions(-) diff --git a/macosx/Controller.h b/macosx/Controller.h index ad4ae349a..d69438d26 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -166,12 +166,9 @@ BOOL fIsDragging; IBOutlet NSButton * fVidTwoPassCheck; IBOutlet NSButton * fVidTurboPassCheck; - /* Status read out fileds for picture sizing */ - IBOutlet NSTextField * fPictureSizeField; - IBOutlet NSTextField * fPictureCroppingField; - - /* Status read out fileds for video filters */ - IBOutlet NSTextField * fVideoFiltersField; + /* Status read out fields for picture settings and video filters */ + IBOutlet NSTextField * fPictureSettingsField; + IBOutlet NSTextField * fPictureFiltersField; /* Picture variables */ int PicOrigOutputWidth; @@ -347,6 +344,10 @@ BOOL fIsDragging; - (IBAction) calculatePictureSizing: (id) sender; - (IBAction) openMainWindow: (id) sender; +/* Text summaries of various settings */ +- (NSString*) pictureSettingsSummary; +- (NSString*) pictureFiltersSummary; + /* Add All titles to the queue */ - (IBAction) addAllTitlesToQueue: (id) sender; - (void) addAllTitlesToQueueAlertDone: (NSWindow *) sheet diff --git a/macosx/Controller.m b/macosx/Controller.m index 7f36778a1..f0b20f379 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -755,8 +755,8 @@ static NSString * ChooseSourceIdentifier = @"Choose Source It fSrcChapterEndPopUp, fSrcDuration1Field, fSrcDuration2Field, fDstFormatField, fDstFormatPopUp, fDstFile1Field, fDstFile2Field, fDstBrowseButton, fVidRateField, fVidRatePopUp, fVidEncoderField, - fVidEncoderPopUp, fVidQualityField, fPictureSizeField, - fPictureCroppingField, fVideoFiltersField, fVidQualityMatrix, + fVidEncoderPopUp, fVidQualityField, fVidQualityMatrix, + fPictureSettingsField, fPictureFiltersField, fSubField, fSubPopUp, fPresetsAdd, fPresetsDelete, fSrcAngleLabel, fSrcAnglePopUp, fCreateChapterMarkers, fVidTurboPassCheck, fDstMp4LargeFileCheck, fSubForcedCheck, fPresetsOutlineView, @@ -2664,9 +2664,18 @@ fWorkingCount = 0; [queueFileJob setObject:[NSNumber numberWithFloat:fTitle->job->anamorphic.dar_height] forKey:@"PicturePARDisplayHeight"]; } - NSString * pictureSummary; - pictureSummary = [fPictureSizeField stringValue]; - [queueFileJob setObject:pictureSummary forKey:@"PictureSizingSummary"]; + + /* Summary for the queue display */ + NSString *pictureSizingSummary = [NSString stringWithFormat:@"%@", + [fPictureController getPictureSizeInfoString]]; + if (fTitle->job->anamorphic.mode != 1) + { + pictureSizingSummary = [pictureSizingSummary + stringByAppendingFormat:@", Modulus: %d", + fTitle->job->modulus]; + } + [queueFileJob setObject:pictureSizingSummary forKey:@"PictureSizingSummary"]; + /* Set crop settings here */ [queueFileJob setObject:[NSNumber numberWithInt:[fPictureController autoCrop]] forKey:@"PictureAutoCrop"]; [queueFileJob setObject:[NSNumber numberWithInt:job->crop[0]] forKey:@"PictureTopCrop"]; @@ -5714,140 +5723,172 @@ the user is using "Custom" settings by determining the sender*/ /* Get and Display Current Pic Settings in main window */ - (IBAction) calculatePictureSizing: (id) sender { - if (fTitle->job->anamorphic.mode > 0) - { - fTitle->job->keep_ratio = 0; - } - - if (fTitle->job->anamorphic.mode != 1) // we are not strict so show the modulus - { - [fPictureSizeField setStringValue: [NSString stringWithFormat:@"Picture Size: %@, Modulus: %d", [fPictureController getPictureSizeInfoString], fTitle->job->modulus]]; - } - else + if (fTitle->job->anamorphic.mode > 0) { - [fPictureSizeField setStringValue: [NSString stringWithFormat:@"Picture Size: %@", [fPictureController getPictureSizeInfoString]]]; + fTitle->job->keep_ratio = 0; } - NSString *picCropping; - /* Set the display field for crop as per boolean */ - if (![fPictureController autoCrop]) - { - picCropping = @"Custom"; - } - else - { - picCropping = @"Auto"; - } - picCropping = [picCropping stringByAppendingString:[NSString stringWithFormat:@" %d/%d/%d/%d",fTitle->job->crop[0],fTitle->job->crop[1],fTitle->job->crop[2],fTitle->job->crop[3]]]; - [fPictureCroppingField setStringValue: [NSString stringWithFormat:@"Picture Cropping: %@",picCropping]]; + // align picture settings and video filters in the UI using tabs + [fPictureSettingsField setStringValue:[NSString stringWithFormat:@"Picture Settings: \t %@", + [self pictureSettingsSummary]]]; + [fPictureFiltersField setStringValue:[NSString stringWithFormat:@"Picture Filters: \t\t %@", + [self pictureFiltersSummary]]]; - NSString *videoFilters; - videoFilters = @""; - /* Detelecine */ - if ([fPictureController detelecine] == 2) - { - videoFilters = [videoFilters stringByAppendingString:@" - Detelecine (Default)"]; - } - else if ([fPictureController detelecine] == 1) - { - videoFilters = [videoFilters stringByAppendingString:[NSString stringWithFormat:@" - Detelecine (%@)",[fPictureController detelecineCustomString]]]; - } + /* Store storage resolution for unparse */ + fX264PresetsWidthForUnparse = fTitle->job->width; + fX264PresetsHeightForUnparse = fTitle->job->height; + // width or height may have changed, unparse + [self x264PresetsChangedDisplayExpandedOptions:nil]; - if ([fPictureController useDecomb] == 1) + // reload still previews + // note: fTitle->job->deinterlace is set by fPictureController now + [fPictureController decombDeinterlacePreviewImage]; +} + +#pragma mark - +#pragma mark - Text Summaries + +- (NSString*) pictureSettingsSummary +{ + NSMutableString *summary = [NSMutableString stringWithString:@""]; + if (fPictureController && fTitle && fTitle->job) { - /* Decomb */ - if ([fPictureController decomb] == 4) - { - videoFilters = [videoFilters stringByAppendingString:@" - Decomb (Bob)"]; - } - else if ([fPictureController decomb] == 3) - { - videoFilters = [videoFilters stringByAppendingString:@" - Decomb (Fast)"]; - } - else if ([fPictureController decomb] == 2) + [summary appendString:[fPictureController getPictureSizeInfoString]]; + if (fTitle->job->anamorphic.mode != 1) { - videoFilters = [videoFilters stringByAppendingString:@" - Decomb (Default)"]; - } - else if ([fPictureController decomb] == 1) - { - videoFilters = [videoFilters stringByAppendingString:[NSString stringWithFormat:@" - Decomb (%@)",[fPictureController decombCustomString]]]; + // anamorphic is not Strict, show the modulus + [summary appendFormat:@", Modulus: %d", fTitle->job->modulus]; } + [summary appendFormat:@", Crop: %s %d/%d/%d/%d", + [fPictureController autoCrop] ? "Auto" : "Custom", + fTitle->job->crop[0], fTitle->job->crop[1], + fTitle->job->crop[2], fTitle->job->crop[3]]; } - else + return [NSString stringWithString:summary]; +} + +- (NSString*) pictureFiltersSummary +{ + NSMutableString *summary = [NSMutableString stringWithString:@""]; + if (fPictureController) { - /* Deinterlace */ - if ([fPictureController deinterlace] == 5) + /* Detelecine */ + switch ([fPictureController detelecine]) { - fTitle->job->deinterlace = 1; - videoFilters = [videoFilters stringByAppendingString:@" - Deinterlace (Bob)"]; + case 1: + [summary appendFormat:@" - Detelecine (%@)", + [fPictureController detelecineCustomString]]; + break; + + case 2: + [summary appendString:@" - Detelecine (Default)"]; + break; + + default: + break; } - else if ([fPictureController deinterlace] == 4) + + if ([fPictureController useDecomb] == 1) { - fTitle->job->deinterlace = 1; - videoFilters = [videoFilters stringByAppendingString:@" - Deinterlace (Slower)"]; + /* Decomb */ + switch ([fPictureController decomb]) + { + case 1: + [summary appendFormat:@" - Decomb (%@)", + [fPictureController decombCustomString]]; + break; + + case 2: + [summary appendString:@" - Decomb (Default)"]; + break; + + case 3: + [summary appendString:@" - Decomb (Fast)"]; + break; + + case 4: + [summary appendString:@" - Decomb (Bob)"]; + break; + + default: + break; + } } - else if ([fPictureController deinterlace] == 3) + else { - fTitle->job->deinterlace = 1; - videoFilters = [videoFilters stringByAppendingString:@" - Deinterlace (Slow)"]; + /* Deinterlace */ + switch ([fPictureController deinterlace]) + { + case 1: + [summary appendFormat:@" - Deinterlace (%@)", + [fPictureController deinterlaceCustomString]]; + break; + + case 2: + [summary appendString:@" - Deinterlace (Fast)"]; + break; + + case 3: + [summary appendString:@" - Deinterlace (Slow)"]; + break; + + case 4: + [summary appendString:@" - Deinterlace (Slower)"]; + break; + + case 5: + [summary appendString:@" - Deinterlace (Bob)"]; + break; + + default: + break; + } } - else if ([fPictureController deinterlace] == 2) + + /* Deblock */ + if ([fPictureController deblock] > 0) { - fTitle->job->deinterlace = 1; - videoFilters = [videoFilters stringByAppendingString:@" - Deinterlace (Fast)"]; + [summary appendFormat:@" - Deblock (%d)", + [fPictureController deblock]]; } - else if ([fPictureController deinterlace] == 1) + + /* Denoise */ + switch ([fPictureController denoise]) { - fTitle->job->deinterlace = 1; - videoFilters = [videoFilters stringByAppendingString:[NSString stringWithFormat:@" - Deinterlace (%@)",[fPictureController deinterlaceCustomString]]]; + case 1: + [summary appendFormat:@" - Denoise (%@)", + [fPictureController denoiseCustomString]]; + break; + + case 2: + [summary appendString:@" - Denoise (Weak)"]; + break; + + case 3: + [summary appendString:@" - Denoise (Medium)"]; + break; + + case 4: + [summary appendString:@" - Denoise (Strong)"]; + break; + + default: + break; } - else + + /* Grayscale */ + if ([fPictureController grayscale]) { - fTitle->job->deinterlace = 0; + [summary appendString:@" - Grayscale"]; } - } - - /* Denoise */ - if ([fPictureController denoise] == 2) - { - videoFilters = [videoFilters stringByAppendingString:@" - Denoise (Weak)"]; } - else if ([fPictureController denoise] == 3) - { - videoFilters = [videoFilters stringByAppendingString:@" - Denoise (Medium)"]; - } - else if ([fPictureController denoise] == 4) - { - videoFilters = [videoFilters stringByAppendingString:@" - Denoise (Strong)"]; - } - else if ([fPictureController denoise] == 1) - { - videoFilters = [videoFilters stringByAppendingString:[NSString stringWithFormat:@" - Denoise (%@)",[fPictureController denoiseCustomString]]]; - } - - /* Deblock */ - if ([fPictureController deblock] > 0) - { - videoFilters = [videoFilters stringByAppendingString:[NSString stringWithFormat:@" - Deblock (%d)",[fPictureController deblock]]]; - } - - /* Grayscale */ - if ([fPictureController grayscale]) + if ([summary hasPrefix:@" - "]) { - videoFilters = [videoFilters stringByAppendingString:@" - Grayscale"]; + [summary deleteCharactersInRange:NSMakeRange(0, 3)]; } - [fVideoFiltersField setStringValue: [NSString stringWithFormat:@"Video Filters: %@", videoFilters]]; - - /* Store storage resolution for unparse */ - fX264PresetsWidthForUnparse = fTitle->job->width; - fX264PresetsHeightForUnparse = fTitle->job->height; - // width or height may have changed, unparse - [self x264PresetsChangedDisplayExpandedOptions:nil]; - - [fPictureController decombDeinterlacePreviewImage]; + return [NSString stringWithString:summary]; } - #pragma mark - #pragma mark - Audio and Subtitles diff --git a/macosx/English.lproj/MainMenu.xib b/macosx/English.lproj/MainMenu.xib index 24c36d764..0a7f82d5b 100644 --- a/macosx/English.lproj/MainMenu.xib +++ b/macosx/English.lproj/MainMenu.xib @@ -2,13 +2,13 @@ 1050 - 12C60 - 2844 - 1187.34 - 625.00 + 12D78 + 3084 + 1187.37 + 626.00 com.apple.InterfaceBuilder.CocoaPlugin - 2844 + 3084 YES @@ -233,15 +233,15 @@ 256 - {{14, 30}, {892, 14}} + {{16, 20}, {892, 14}} - + YES 67108864 4194304 - Picture Size: + Picture Settings: @@ -354,37 +354,18 @@ NO - - - 256 - {{14, 17}, {892, 14}} - - - - YES - - 67108864 - 4194304 - Picture Cropping: - - - - - - NO - 256 - {{14, 3}, {892, 14}} + {{16, 4}, {892, 14}} - + YES 67108864 4194304 - Video Filters: + Picture Filters: @@ -1076,7 +1057,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 67108864 71303168 - h264 Profile: + H.264 Profile: @@ -1095,7 +1076,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 67108864 71303168 - h264 Level: + H.264 Level: @@ -1437,7 +1418,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{12, 6}, {863, 29}} - + YES 67108864 @@ -6679,7 +6660,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - fPictureSizeField + fPictureSettingsField @@ -6687,15 +6668,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - fPictureCroppingField - - - - 5170 - - - - fVideoFiltersField + fPictureFiltersField @@ -8033,7 +8006,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - @@ -8118,15 +8090,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - - 2375 - - - YES - - - - 1989 @@ -9348,11 +9311,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - - 4893 - - - 4904 @@ -11341,7 +11299,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2364.IBAttributePlaceholdersKey 2364.IBPluginDependency 2368.IBPluginDependency - 2375.IBPluginDependency 240.IBPluginDependency 2421.IBPluginDependency 2443.IBPluginDependency @@ -11404,7 +11361,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 4879.IBPluginDependency 4880.IBPluginDependency 4892.IBPluginDependency - 4893.IBPluginDependency 4904.IBPluginDependency 4905.IBPluginDependency 4906.IBPluginDependency @@ -11837,7 +11793,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin {{72, 712}, {392, 144}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -11935,7 +11890,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -12655,8 +12609,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA fFramerateMatrix fFramerateVfrPfrCell fLoadChaptersButton - fPictureCroppingField - fPictureSizeField + fPictureSettingsField fPresetDrawer fPresetNewDesc fPresetNewFolderCheck @@ -12716,7 +12669,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA fVidRatePopUp fVidTurboPassCheck fVidTwoPassCheck - fVideoFiltersField + fPictureFiltersField fWindow fX264FastDecodeCheck fX264LevelPopUp @@ -12764,7 +12717,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSButtonCell NSButton NSTextField - NSTextField NSDrawer NSTextField NSButton @@ -12874,8 +12826,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA fFramerateMatrix fFramerateVfrPfrCell fLoadChaptersButton - fPictureCroppingField - fPictureSizeField + fPictureSettingsField fPresetDrawer fPresetNewDesc fPresetNewFolderCheck @@ -12935,7 +12886,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA fVidRatePopUp fVidTurboPassCheck fVidTwoPassCheck - fVideoFiltersField + fPictureFiltersField fWindow fX264FastDecodeCheck fX264LevelPopUp @@ -13073,11 +13024,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSButton - fPictureCroppingField - NSTextField - - - fPictureSizeField + fPictureSettingsField NSTextField @@ -13317,7 +13264,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSButton - fVideoFiltersField + fPictureFiltersField NSTextField -- 2.40.0