summaryrefslogtreecommitdiffstats
path: root/macosx/Controller.m
diff options
context:
space:
mode:
authorRodeo <[email protected]>2013-04-12 19:06:06 +0000
committerRodeo <[email protected]>2013-04-12 19:06:06 +0000
commita455dfec33439b42dfd89e8a7fe303abd9277393 (patch)
tree5e58aadbe18e6153081ad5b93d45c5c5741d141e /macosx/Controller.m
parent4d52079c19a262d5de3a0dbf0352ab5fc7ae056d (diff)
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
Diffstat (limited to 'macosx/Controller.m')
-rw-r--r--macosx/Controller.m265
1 files changed, 153 insertions, 112 deletions
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