OSDN Git Service

LinGui: change the top level structure that contains presets from a dictionary
[handbrake-jp/handbrake-jp-git.git] / macosx / HBAdvancedController.m
index 3158516..c035ddd 100644 (file)
@@ -1,7 +1,7 @@
 /* HBAdvancedController
 
     This file is part of the HandBrake source code.
-    Homepage: <http://handbrake.m0k.org/>.
+    Homepage: <http://handbrake.fr/>.
     It may be used under the terms of the GNU General Public License. */
     
 #import "HBAdvancedController.h"
@@ -41,7 +41,7 @@
 - (void) setOptions: (NSString *)string
 {
     [fDisplayX264Options setStringValue:string];
-    [self X264AdvancedOptionsSet:NULL];
+    [self X264AdvancedOptionsSet:nil];
 }
 
 - (void) setHidden: (BOOL) hide
     
     /*Sub Me fX264optSubmePopUp*/
     [fX264optSubmePopUp removeAllItems];
-    [fX264optSubmePopUp addItemWithTitle:@"Default (4)"];
+    [fX264optSubmePopUp addItemWithTitle:@"Default (6)"];
     for (i=0; i<8;i++)
     {
         [fX264optSubmePopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
     {
         [fX264optAlphaDeblockPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
     }
-    
+
     /*Beta Deblock*/
     [fX264optBetaDeblockPopUp removeAllItems];
     [fX264optBetaDeblockPopUp addItemWithTitle:@"Default (0)"];
     for (i=-6; i<7;i++)
     {
         [fX264optBetaDeblockPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
-    }     
-    
+    }
+
     /* Analysis fX264optAnalysePopUp */
     [fX264optAnalysePopUp removeAllItems];
     [fX264optAnalysePopUp addItemWithTitle:@"Default (some)"]; /* 0=default */
     [fX264optAnalysePopUp addItemWithTitle:[NSString stringWithFormat:@"None"]]; /* 1=none */
     [fX264optAnalysePopUp addItemWithTitle:[NSString stringWithFormat:@"All"]]; /* 2=all */
-                
+
     /* 8x8 DCT fX264op8x8dctSwitch */
     [fX264opt8x8dctSwitch setState:0];
     [fX264opt8x8dctSwitch setWantsLayer:YES];
-    
+
     /* CABAC fX264opCabacSwitch */
     [fX264optCabacSwitch setState:1];
-    
+
     /* Standardize the option string */
-    [self X264AdvancedOptionsStandardizeOptString: NULL];
+    [self X264AdvancedOptionsStandardizeOptString:nil];
 
     /* Set Current GUI Settings based on newly standardized string */
-    [self X264AdvancedOptionsSetCurrentSettings: NULL];
-    
+    [self X264AdvancedOptionsSetCurrentSettings:nil];
+
     /* Fade out options that don't apply */
     [self X264AdvancedOptionsAnimate: sender];
 }
        - B-frames (when 0 turn of b-frame specific stuff, when < 2 disable b-pyramid)
        - CABAC (when 0 turn off trellis)
        - subme  (if under 6 turn off brdo)
-       - analysis (if none, turn off 8x8dct and direct pred)
+       - analysis (if none, turn off 8x8dct)
        - refs (under 2, disable mixed-refs)
     */
     
 
         [[fX264optDirectPredPopUp animator] setHidden:YES];
         [[fX264optDirectPredLabel animator] setHidden:YES];
-        [fX264optDirectPredPopUp selectItemAtIndex: 0];        
-        if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 1 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+        if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 0 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+        {
+            [fX264optDirectPredPopUp selectItemAtIndex: 0];
             [[fX264optDirectPredPopUp cell] performClick:self];
+            
+        }
     }
     else if ( [fX264optBframesPopUp indexOfSelectedItem ] == 2)
     {
         [[fX264optBiMESwitch animator] setHidden:NO];
         [[fX264optBiMELabel animator] setHidden:NO];
                 
-        if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7)
+        if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7 || [fX264optSubmePopUp indexOfSelectedItem] == 0 )
         {
             /* Only show B-RDO if both bframes and subme allow it. */
             [[fX264optBRDOSwitch animator] setHidden:NO];
             [[fX264optBRDOLabel animator] setHidden:NO];
         }
-        
-        if ( [fX264optAnalysePopUp indexOfSelectedItem] != 1)
-        {
-            /* Only show direct pred when allowed by both bframes and analysis.*/
-            [[fX264optDirectPredPopUp animator] setHidden:NO];
-            [[fX264optDirectPredLabel animator] setHidden:NO];
-        }
+
+        [[fX264optDirectPredPopUp animator] setHidden:NO];
+        [[fX264optDirectPredLabel animator] setHidden:NO];
     }
     else
     {
         [[fX264optBiMESwitch animator] setHidden:NO];
         [[fX264optBiMELabel animator] setHidden:NO];
 
-        if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7)
+        if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7 || [fX264optSubmePopUp indexOfSelectedItem] == 0 )
         {
             /* Only show B-RDO if both bframes and subme allow it. */
             [[fX264optBRDOSwitch animator] setHidden:NO];
             [[fX264optBRDOLabel animator] setHidden:NO];
         }
 
-        if ( [fX264optAnalysePopUp indexOfSelectedItem] != 1)
-        {
-            /* Only show direct pred when allowed by both bframes and analysis.*/
-            [[fX264optDirectPredPopUp animator] setHidden:NO];
-            [[fX264optDirectPredLabel animator] setHidden:NO];
-        }
+        [[fX264optDirectPredPopUp animator] setHidden:NO];
+        [[fX264optDirectPredLabel animator] setHidden:NO];
     }
     
     if ( [fX264optCabacSwitch state] == false)
         [[fX264optTrellisLabel animator] setHidden:NO];
     }
     
-    if ( [fX264optSubmePopUp indexOfSelectedItem] < 7)
+    if ( [fX264optSubmePopUp indexOfSelectedItem] < 7 && [fX264optSubmePopUp indexOfSelectedItem] != 0 )
     {
         /* When subme < 6, B-RDO doesn't work. */
         [[fX264optBRDOSwitch animator] setHidden:YES];
     
     if ( [fX264optAnalysePopUp indexOfSelectedItem] == 1)
     {
-        /* No analysis? Disable 8x8dct and direct pred */
+        /* No analysis? Disable 8x8dct */
         [[fX264opt8x8dctSwitch animator] setHidden:YES];
         [[fX264opt8x8dctLabel animator] setHidden:YES];
         if ( [fX264opt8x8dctSwitch state] == 1 && sender != fX264opt8x8dctSwitch )
             [fX264opt8x8dctSwitch performClick:self];
-
-        [[fX264optDirectPredPopUp animator] setHidden:YES];
-        [[fX264optDirectPredLabel animator] setHidden:YES];
-        [fX264optDirectPredPopUp selectItemAtIndex: 0];        
-        if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 1 && sender != fX264optDirectPredPopUp)
-            [[fX264optDirectPredPopUp cell] performClick:self];
     }
     else
     {
         [[fX264opt8x8dctSwitch animator] setHidden:NO];
         [[fX264opt8x8dctLabel animator] setHidden:NO];
-
-        if ( [fX264optBframesPopUp indexOfSelectedItem ] >= 2)
-        {
-            /* Onlt show direct pred when allowed by both analysis and bframes */
-            [[fX264optDirectPredPopUp animator] setHidden:NO];
-            [[fX264optDirectPredLabel animator] setHidden:NO];
-        }
     }
     
     if ( [fX264optRefPopUp indexOfSelectedItem] < 3)