summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--macosx/Controller.m14
-rw-r--r--macosx/English.lproj/AdvancedView.xib383
-rw-r--r--macosx/HBAdvancedController.h1
-rw-r--r--macosx/HBAdvancedController.m15
-rw-r--r--macosx/HBQueueController.mm4
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;