summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodeo <[email protected]>2013-04-12 20:14:05 +0000
committerRodeo <[email protected]>2013-04-12 20:14:05 +0000
commit3d9d937ed4c21aa6ffde4710d044de71fc54330e (patch)
tree9ef03cf51f8572e092e4e57cd83cdab420af90ec
parentda8a0f3ace2b71ef1cbb911d194dd1f9561017b0 (diff)
MacGui: simplify queue display code.
Add detailed summaries to the queue item dictionary and use them in HBQueueController. This helps remove a lot of duplicate logic. Uses existing methods pictureSettingsSummary, pictureFiltersSummary and new muxerOptionsSummary. Also add a few height rows for long lines that often wrap to a second row. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5398 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--macosx/Controller.h1
-rw-r--r--macosx/Controller.m45
-rw-r--r--macosx/HBQueueController.mm215
3 files changed, 64 insertions, 197 deletions
diff --git a/macosx/Controller.h b/macosx/Controller.h
index d69438d26..6020f64f8 100644
--- a/macosx/Controller.h
+++ b/macosx/Controller.h
@@ -347,6 +347,7 @@ BOOL fIsDragging;
/* Text summaries of various settings */
- (NSString*) pictureSettingsSummary;
- (NSString*) pictureFiltersSummary;
+- (NSString*) muxerOptionsSummary;
/* Add All titles to the queue */
- (IBAction) addAllTitlesToQueue: (id) sender;
diff --git a/macosx/Controller.m b/macosx/Controller.m
index f0b20f379..893e65473 100644
--- a/macosx/Controller.m
+++ b/macosx/Controller.m
@@ -2664,17 +2664,14 @@ fWorkingCount = 0;
[queueFileJob setObject:[NSNumber numberWithFloat:fTitle->job->anamorphic.dar_height] forKey:@"PicturePARDisplayHeight"];
}
-
- /* 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"];
+
+ /* Text summaries of various settings */
+ [queueFileJob setObject:[NSString stringWithString:[self pictureSettingsSummary]]
+ forKey:@"PictureSettingsSummary"];
+ [queueFileJob setObject:[NSString stringWithString:[self pictureFiltersSummary]]
+ forKey:@"PictureFiltersSummary"];
+ [queueFileJob setObject:[NSString stringWithString:[self muxerOptionsSummary]]
+ forKey:@"MuxerOptionsSummary"];
/* Set crop settings here */
[queueFileJob setObject:[NSNumber numberWithInt:[fPictureController autoCrop]] forKey:@"PictureAutoCrop"];
@@ -5889,6 +5886,32 @@ the user is using "Custom" settings by determining the sender*/
return [NSString stringWithString:summary];
}
+- (NSString*) muxerOptionsSummary
+{
+ NSMutableString *summary = [NSMutableString stringWithString:@""];
+ if (([fDstFormatPopUp selectedItem]) &&
+ [[fDstFormatPopUp selectedItem] tag] == HB_MUX_MP4)
+ {
+ if ([fDstMp4LargeFileCheck state])
+ {
+ [summary appendString:@" - Large file size"];
+ }
+ if ([fDstMp4HttpOptFileCheck state])
+ {
+ [summary appendString:@" - Web optimized"];
+ }
+ if ([fDstMp4iPodFileCheck state])
+ {
+ [summary appendString:@" - iPod 5G support"];
+ }
+ }
+ if ([summary hasPrefix:@" - "])
+ {
+ [summary deleteCharactersInRange:NSMakeRange(0, 3)];
+ }
+ return [NSString stringWithString:summary];
+}
+
#pragma mark -
#pragma mark - Audio and Subtitles
diff --git a/macosx/HBQueueController.mm b/macosx/HBQueueController.mm
index 92e9dafc8..a121c1826 100644
--- a/macosx/HBQueueController.mm
+++ b/macosx/HBQueueController.mm
@@ -839,66 +839,26 @@ return ![(HBQueueOutlineView*)outlineView isDragging];
int itemRowNum = [outlineView rowForItem: item];
NSMutableDictionary *queueItemToCheck = [outlineView itemAtRow: itemRowNum];
- /* Check to see if we need to allow for mp4 opts */
- BOOL mp4OptsPresent = NO;
- if ([[queueItemToCheck objectForKey:@"FileFormat"] isEqualToString: @"MP4 file"])
+ /* Check to see if we need to allow for container options */
+ if ([[queueItemToCheck objectForKey:@"MuxerOptionsSummary"] length])
{
-
- if( [[queueItemToCheck objectForKey:@"Mp4LargeFile"] intValue] == 1)
- {
- mp4OptsPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"Mp4HttpOptimize"] intValue] == 1)
- {
- mp4OptsPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"Mp4iPodCompatible"] intValue] == 1)
- {
- mp4OptsPresent = YES;
- }
- }
-
- if (mp4OptsPresent == YES)
- {
- itemHeightForDisplay += rowHeightNonTitle;
+ itemHeightForDisplay += rowHeightNonTitle;
}
/* check to see if we need to allow for the Picture Filters row */
- BOOL pictureFiltersPresent = NO;
- if( [[queueItemToCheck objectForKey:@"PictureDetelecine"] intValue] > 0)
+ if ([[queueItemToCheck objectForKey:@"PictureFiltersSummary"] length])
{
- pictureFiltersPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"PictureDecomb"] intValue] > 0)
- {
- pictureFiltersPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"PictureDeinterlace"] intValue] > 0)
- {
- pictureFiltersPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"PictureDenoise"] intValue] > 0)
- {
- pictureFiltersPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"PictureDeblock"] intValue] > 0)
- {
- pictureFiltersPresent = YES;
- }
- if( [[queueItemToCheck objectForKey:@"VideoGrayScale"] intValue] > 0)
- {
- pictureFiltersPresent = YES;
+ itemHeightForDisplay += rowHeightNonTitle;
}
- if (pictureFiltersPresent == YES)
+ /* check to see if we need a line to display x264/lavc options */
+ if ([[queueItemToCheck objectForKey:@"VideoEncoder"] isEqualToString: @"H.264 (x264)"])
{
- itemHeightForDisplay += rowHeightNonTitle;
+ itemHeightForDisplay += rowHeightNonTitle * 2;
}
-
- /* check to see if we need a line to display x264 options */
- if ([[queueItemToCheck objectForKey:@"VideoEncoder"] isEqualToString: @"H.264 (x264)"])
+ else if (![[queueItemToCheck objectForKey:@"VideoEncoder"] isEqualToString: @"VP3 (Theora)"])
{
- itemHeightForDisplay += rowHeightNonTitle;
+ itemHeightForDisplay += rowHeightNonTitle;
}
/* check to see how many audio track lines to allow for */
@@ -915,7 +875,7 @@ return ![(HBQueueOutlineView*)outlineView isDragging];
autoPassthruPresent = YES;
}
}
- itemHeightForDisplay += (actualCountOfAudioTracks * rowHeightNonTitle);
+ itemHeightForDisplay += (actualCountOfAudioTracks * rowHeightNonTitle * 2);
if (autoPassthruPresent == YES)
{
@@ -1113,33 +1073,14 @@ return ![(HBQueueOutlineView*)outlineView isDragging];
[finalString appendString: @"Format: " withAttributes:detailBoldAttr];
[finalString appendString: jobFormatInfo withAttributes:detailAttr];
- /* Optional String for mp4 options */
- if ([[item objectForKey:@"FileFormat"] isEqualToString: @"MP4 file"])
+ /* Optional String for muxer options */
+ if ([[item objectForKey:@"MuxerOptionsSummary"] length])
{
- NSString * MP4Opts = @"";
- BOOL mp4OptsPresent = NO;
- if( [[item objectForKey:@"Mp4LargeFile"] intValue] == 1)
- {
- mp4OptsPresent = YES;
- MP4Opts = [MP4Opts stringByAppendingString:@" - Large file size"];
- }
- if( [[item objectForKey:@"Mp4HttpOptimize"] intValue] == 1)
- {
- mp4OptsPresent = YES;
- MP4Opts = [MP4Opts stringByAppendingString:@" - Web optimized"];
- }
-
- if( [[item objectForKey:@"Mp4iPodCompatible"] intValue] == 1)
- {
- mp4OptsPresent = YES;
- MP4Opts = [MP4Opts stringByAppendingString:@" - iPod 5G support "];
- }
- if (mp4OptsPresent == YES)
- {
- [finalString appendString: @"MP4 Options: " withAttributes:detailBoldAttr];
- [finalString appendString: MP4Opts withAttributes:detailAttr];
- [finalString appendString:@"\n" withAttributes:detailAttr];
- }
+ NSString *containerOptions = [NSString stringWithFormat:@"%@",
+ [item objectForKey:@"MuxerOptionsSummary"]];
+ [finalString appendString:@"Container Options: " withAttributes:detailBoldAttr];
+ [finalString appendString:containerOptions withAttributes:detailAttr];
+ [finalString appendString:@"\n" withAttributes:detailAttr];
}
/* Fourth Line (Destination Path)*/
@@ -1148,122 +1089,24 @@ return ![(HBQueueOutlineView*)outlineView isDragging];
[finalString appendString:@"\n" withAttributes:detailAttr];
/* Fifth Line Picture Details*/
- NSString * pictureInfo;
- pictureInfo = [NSString stringWithFormat:@"%@", [item objectForKey:@"PictureSizingSummary"]];
+ NSString *pictureInfo = [NSString stringWithFormat:@"%@",
+ [item objectForKey:@"PictureSettingsSummary"]];
if ([[item objectForKey:@"PictureKeepRatio"] intValue] == 1)
{
pictureInfo = [pictureInfo stringByAppendingString:@" Keep Aspect Ratio"];
}
-
- [finalString appendString: @"Picture: " withAttributes:detailBoldAttr];
- [finalString appendString: pictureInfo withAttributes:detailAttr];
- [finalString appendString:@"\n" withAttributes:detailAttr];
+ [finalString appendString:@"Picture: " withAttributes:detailBoldAttr];
+ [finalString appendString:pictureInfo withAttributes:detailAttr];
+ [finalString appendString:@"\n" withAttributes:detailAttr];
/* Optional String for Picture Filters */
- NSString * pictureFilters = @"";
- BOOL pictureFiltersPresent = NO;
-
- if( [[item objectForKey:@"PictureDetelecine"] intValue] == 1)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Detelecine (%@)",[item objectForKey:@"PictureDetelecineCustom"]]];
- }
- else if( [[item objectForKey:@"PictureDetelecine"] intValue] == 2)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Detelecine (Default)"];
- }
-
- if( [[item objectForKey:@"PictureDecombDeinterlace"] intValue] == 1)
+ if ([[item objectForKey:@"PictureFiltersSummary"] length])
{
- if( [[item objectForKey:@"PictureDecomb"] intValue] == 1)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Decomb (%@)",[item objectForKey:@"PictureDecombCustom"]]];
- }
- else if( [[item objectForKey:@"PictureDecomb"] intValue] == 2)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb (Default)"];
- }
- else if( [[item objectForKey:@"PictureDecomb"] intValue] == 3)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb (Fast)"];
- }
- else if( [[item objectForKey:@"PictureDecomb"] intValue] == 4)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb (Bob)"];
- }
- }
- else
- {
- if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 1)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Deinterlace (%@)",[item objectForKey:@"PictureDeinterlaceCustom"]]];
- }
- else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 2)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Fast)"];
- }
- else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 3)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Slow)"];
- }
- else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 4)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Slower)"];
- }
- else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 5)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Bob)"];
- }
- }
-
- if ([[item objectForKey:@"PictureDenoise"] intValue] == 1)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Denoise (%@)",[item objectForKey:@"PictureDenoiseCustom"]]];
- }
- else if ([[item objectForKey:@"PictureDenoise"] intValue] == 2)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise (Weak)"];
- }
- else if ([[item objectForKey:@"PictureDenoise"] intValue] == 3)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise (Medium)"];
- }
- else if ([[item objectForKey:@"PictureDenoise"] intValue] == 4)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise (Strong)"];
- }
-
- if ([[item objectForKey:@"PictureDeblock"] intValue] != 0)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString: [NSString stringWithFormat:@" - Deblock (pp7) (%d)",[[item objectForKey:@"PictureDeblock"] intValue]]];
- }
-
- if ([[item objectForKey:@"VideoGrayScale"] intValue] == 1)
- {
- pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Grayscale"];
- }
-
- if (pictureFiltersPresent == YES)
- {
- [finalString appendString: @"Filters: " withAttributes:detailBoldAttr];
- [finalString appendString: pictureFilters withAttributes:detailAttr];
- [finalString appendString:@"\n" withAttributes:detailAttr];
+ NSString *pictureFilters = [NSString stringWithFormat:@"%@",
+ [item objectForKey:@"PictureFiltersSummary"]];
+ [finalString appendString:@"Filters: " withAttributes:detailBoldAttr];
+ [finalString appendString:pictureFilters withAttributes:detailAttr];
+ [finalString appendString:@"\n" withAttributes:detailAttr];
}
/* Sixth Line Video Details*/