diff options
-rw-r--r-- | macosx/Controller.m | 14 | ||||
-rw-r--r-- | macosx/English.lproj/AdvancedView.xib | 383 | ||||
-rw-r--r-- | macosx/HBAdvancedController.h | 1 | ||||
-rw-r--r-- | macosx/HBAdvancedController.m | 15 | ||||
-rw-r--r-- | macosx/HBQueueController.mm | 4 |
5 files changed, 411 insertions, 6 deletions
diff --git a/macosx/Controller.m b/macosx/Controller.m index 7a1aa1c58..0a6322bbd 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -4803,9 +4803,19 @@ the user is using "Custom" settings by determining the sender*/ [fAdvancedOptions setHidden:NO]; [self autoSetM4vExtension: sender]; } - else // we are FFmpeg (lavc) + else // we are FFmpeg (lavc) or Theora { - [fAdvancedOptions setHidden:YES]; + [fAdvancedOptions setHidden:YES]; + + // We Are Lavc + if ([[fVidEncoderPopUp selectedItem] tag] & HB_VCODEC_FFMPEG_MASK ) + { + [fAdvancedOptions setLavcOptsEnabled:YES]; + } + else /// We are Theora + { + [fAdvancedOptions setLavcOptsEnabled:NO]; + } } diff --git a/macosx/English.lproj/AdvancedView.xib b/macosx/English.lproj/AdvancedView.xib index 84c7f91cc..1aecb3d74 100644 --- a/macosx/English.lproj/AdvancedView.xib +++ b/macosx/English.lproj/AdvancedView.xib @@ -686,7 +686,6 @@ <string key="NSFrame">{{4, 0}, {882, 34}}</string> <reference key="NSSuperview" ref="738514360"/> <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="456227852"> <int key="NSCellFlags">-1805517311</int> @@ -1565,7 +1564,7 @@ <object class="NSTextField" id="522658278"> <reference key="NSNextResponder" ref="679064762"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{1, 42}, {264, 17}}</string> + <string key="NSFrame">{{1, 42}, {888, 17}}</string> <reference key="NSSuperview" ref="679064762"/> <reference key="NSWindow"/> <reference key="NSNextKeyView" ref="489160988"/> @@ -1586,7 +1585,6 @@ <string key="NSFrame">{{4, 0}, {882, 34}}</string> <reference key="NSSuperview" ref="679064762"/> <reference key="NSWindow"/> - <reference key="NSNextKeyView"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="1037223262"> <int key="NSCellFlags">-1805517311</int> @@ -3710,6 +3708,385 @@ <object class="IBPartialClassDescription"> <string key="className">HBAdvancedController</string> <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>X264AdvancedOptionsAnimate:</string> + <string>X264AdvancedOptionsChanged:</string> + <string>X264AdvancedOptionsSet:</string> + <string>X264AdvancedOptionsSetCurrentSettings:</string> + <string>X264AdvancedOptionsStandardizeOptString:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>X264AdvancedOptionsAnimate:</string> + <string>X264AdvancedOptionsChanged:</string> + <string>X264AdvancedOptionsSet:</string> + <string>X264AdvancedOptionsSetCurrentSettings:</string> + <string>X264AdvancedOptionsStandardizeOptString:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">X264AdvancedOptionsAnimate:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">X264AdvancedOptionsChanged:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">X264AdvancedOptionsSet:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">X264AdvancedOptionsSetCurrentSettings:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">X264AdvancedOptionsStandardizeOptString:</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>fDisplayLavcOptions</string> + <string>fDisplayLavcOptionsLabel</string> + <string>fDisplayX264Options</string> + <string>fDisplayX264OptionsLabel</string> + <string>fEmptyView</string> + <string>fX264opt8x8dctLabel</string> + <string>fX264opt8x8dctSwitch</string> + <string>fX264optAlphaDeblockPopUp</string> + <string>fX264optAnalyseLabel</string> + <string>fX264optAnalysePopUp</string> + <string>fX264optAqLabel</string> + <string>fX264optAqSlider</string> + <string>fX264optBAdaptLabel</string> + <string>fX264optBAdaptPopUp</string> + <string>fX264optBPyramidLabel</string> + <string>fX264optBPyramidPopUp</string> + <string>fX264optBetaDeblockPopUp</string> + <string>fX264optBframesLabel</string> + <string>fX264optBframesPopUp</string> + <string>fX264optCabacLabel</string> + <string>fX264optCabacSwitch</string> + <string>fX264optDeblockLabel</string> + <string>fX264optDirectPredLabel</string> + <string>fX264optDirectPredPopUp</string> + <string>fX264optMERangeLabel</string> + <string>fX264optMERangePopUp</string> + <string>fX264optMotionEstLabel</string> + <string>fX264optMotionEstPopUp</string> + <string>fX264optNodctdcmtLabel</string> + <string>fX264optNodctdcmtSwitch</string> + <string>fX264optPsyRDLabel</string> + <string>fX264optPsyRDSlider</string> + <string>fX264optPsyTrellisLabel</string> + <string>fX264optPsyTrellisSlider</string> + <string>fX264optRefLabel</string> + <string>fX264optRefPopUp</string> + <string>fX264optSubmeLabel</string> + <string>fX264optSubmePopUp</string> + <string>fX264optTrellisLabel</string> + <string>fX264optTrellisPopUp</string> + <string>fX264optView</string> + <string>fX264optViewTitleLabel</string> + <string>fX264optWeightPLabel</string> + <string>fX264optWeightPSwitch</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSTextField</string> + <string>NSTextField</string> + <string>NSTextField</string> + <string>NSTextField</string> + <string>NSView</string> + <string>NSTextField</string> + <string>NSButton</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSSlider</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSButton</string> + <string>NSTextField</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSButton</string> + <string>NSTextField</string> + <string>NSSlider</string> + <string>NSTextField</string> + <string>NSSlider</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSPopUpButton</string> + <string>NSView</string> + <string>NSTextField</string> + <string>NSTextField</string> + <string>NSButton</string> + </object> + </object> + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>fDisplayLavcOptions</string> + <string>fDisplayLavcOptionsLabel</string> + <string>fDisplayX264Options</string> + <string>fDisplayX264OptionsLabel</string> + <string>fEmptyView</string> + <string>fX264opt8x8dctLabel</string> + <string>fX264opt8x8dctSwitch</string> + <string>fX264optAlphaDeblockPopUp</string> + <string>fX264optAnalyseLabel</string> + <string>fX264optAnalysePopUp</string> + <string>fX264optAqLabel</string> + <string>fX264optAqSlider</string> + <string>fX264optBAdaptLabel</string> + <string>fX264optBAdaptPopUp</string> + <string>fX264optBPyramidLabel</string> + <string>fX264optBPyramidPopUp</string> + <string>fX264optBetaDeblockPopUp</string> + <string>fX264optBframesLabel</string> + <string>fX264optBframesPopUp</string> + <string>fX264optCabacLabel</string> + <string>fX264optCabacSwitch</string> + <string>fX264optDeblockLabel</string> + <string>fX264optDirectPredLabel</string> + <string>fX264optDirectPredPopUp</string> + <string>fX264optMERangeLabel</string> + <string>fX264optMERangePopUp</string> + <string>fX264optMotionEstLabel</string> + <string>fX264optMotionEstPopUp</string> + <string>fX264optNodctdcmtLabel</string> + <string>fX264optNodctdcmtSwitch</string> + <string>fX264optPsyRDLabel</string> + <string>fX264optPsyRDSlider</string> + <string>fX264optPsyTrellisLabel</string> + <string>fX264optPsyTrellisSlider</string> + <string>fX264optRefLabel</string> + <string>fX264optRefPopUp</string> + <string>fX264optSubmeLabel</string> + <string>fX264optSubmePopUp</string> + <string>fX264optTrellisLabel</string> + <string>fX264optTrellisPopUp</string> + <string>fX264optView</string> + <string>fX264optViewTitleLabel</string> + <string>fX264optWeightPLabel</string> + <string>fX264optWeightPSwitch</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBToOneOutletInfo"> + <string key="name">fDisplayLavcOptions</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fDisplayLavcOptionsLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fDisplayX264Options</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fDisplayX264OptionsLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fEmptyView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264opt8x8dctLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264opt8x8dctSwitch</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optAlphaDeblockPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optAnalyseLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optAnalysePopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optAqLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optAqSlider</string> + <string key="candidateClassName">NSSlider</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBAdaptLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBAdaptPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBPyramidLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBPyramidPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBetaDeblockPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBframesLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optBframesPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optCabacLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optCabacSwitch</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optDeblockLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optDirectPredLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optDirectPredPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optMERangeLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optMERangePopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optMotionEstLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optMotionEstPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optNodctdcmtLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optNodctdcmtSwitch</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optPsyRDLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optPsyRDSlider</string> + <string key="candidateClassName">NSSlider</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optPsyTrellisLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optPsyTrellisSlider</string> + <string key="candidateClassName">NSSlider</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optRefLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optRefPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optSubmeLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optSubmePopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optTrellisLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optTrellisPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optView</string> + <string key="candidateClassName">NSView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optViewTitleLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optWeightPLabel</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fX264optWeightPSwitch</string> + <string key="candidateClassName">NSButton</string> + </object> + </object> + </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> <string key="minorKey">./Classes/HBAdvancedController.h</string> diff --git a/macosx/HBAdvancedController.h b/macosx/HBAdvancedController.h index b59746e8f..1cf1d890b 100644 --- a/macosx/HBAdvancedController.h +++ b/macosx/HBAdvancedController.h @@ -67,6 +67,7 @@ - (void) setLavcOptions: (NSString *)string; - (void) enableUI: (bool) b; - (void) setHidden: (BOOL) hide; +- (void) setLavcOptsEnabled: (BOOL) lavc; - (IBAction) X264AdvancedOptionsAnimate: (id) sender; - (IBAction) X264AdvancedOptionsSet: (id) sender; - (IBAction) X264AdvancedOptionsStandardizeOptString: (id) sender; diff --git a/macosx/HBAdvancedController.m b/macosx/HBAdvancedController.m index 55da0c06b..98129613c 100644 --- a/macosx/HBAdvancedController.m +++ b/macosx/HBAdvancedController.m @@ -67,6 +67,21 @@ return; } +- (void) setLavcOptsEnabled: (BOOL) lavc +{ + if(lavc) + { + [fDisplayLavcOptions setEnabled:YES]; + [fDisplayLavcOptionsLabel setStringValue: [NSString stringWithFormat:@"Current FFmpeg Advanced Option String:"]]; + } + else + { + [fDisplayLavcOptions setEnabled:NO]; + [fDisplayLavcOptionsLabel setStringValue: [NSString stringWithFormat:@"Handbrake does not currently support Theora Options"]]; + } + return; +} + - (void) enableUI: (bool) b { unsigned i; diff --git a/macosx/HBQueueController.mm b/macosx/HBQueueController.mm index 41576e242..6c331c1f1 100644 --- a/macosx/HBQueueController.mm +++ b/macosx/HBQueueController.mm @@ -1326,7 +1326,8 @@ return ![(HBQueueOutlineView*)outlineView isDragging]; } [finalString appendString:@"\n" withAttributes:detailAttr]; } - else // we must be ffmpeg (lavc) + /*If we are not x264 and we are not Theora then we must be FFmpeg (lavc) */ + else if (![[item objectForKey:@"VideoEncoder"] isEqualToString: @"VP3 (Theora)"]) { [finalString appendString: @"FFmpeg (lavc) Options: " withAttributes:detailBoldAttr]; if ([item objectForKey:@"lavcOption"]) @@ -1342,6 +1343,7 @@ return ![(HBQueueOutlineView*)outlineView isDragging]; + /* Seventh Line Audio Details*/ NSEnumerator *audioDetailEnumerator = [audioDetails objectEnumerator]; NSString *anAudioDetail; |