OSDN Git Service

MacGui: adds x264 option widget for merange
authorjbrjake <jbrjake@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Tue, 15 May 2007 22:05:55 +0000 (22:05 +0000)
committerjbrjake <jbrjake@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Tue, 15 May 2007 22:05:55 +0000 (22:05 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@586 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/Controller.h
macosx/Controller.mm
macosx/English.lproj/MainMenu.nib/classes.nib
macosx/English.lproj/MainMenu.nib/info.nib
macosx/English.lproj/MainMenu.nib/keyedobjects.nib

index c2459ec..ab2b931 100644 (file)
     IBOutlet NSPopUpButton       * fX264optMixedRefsPopUp;
     IBOutlet NSTextField         * fX264optMotionEstLabel;
     IBOutlet NSPopUpButton       * fX264optMotionEstPopUp;
+    IBOutlet NSTextField         * fX264optMERangeLabel;
+    IBOutlet NSPopUpButton       * fX264optMERangePopUp;
     
        /* User Preset variables here fPresetNewPicSettingsApply*/
        
index cbe2ea4..4eef485 100644 (file)
@@ -649,7 +649,7 @@ return registrationDictionary;
                fX264optBframesPopUp,fX264optRefLabel,fX264optRefPopUp,fX264optNfpskipLabel,fX264optNfpskipPopUp,
                fX264optNodctdcmtLabel,fX264optNodctdcmtPopUp,fX264optSubmeLabel,fX264optSubmePopUp,
                fX264optTrellisLabel,fX264optTrellisPopUp,fX264optMixedRefsLabel,fX264optMixedRefsPopUp,
-               fX264optMotionEstLabel,fX264optMotionEstPopUp};
+               fX264optMotionEstLabel,fX264optMotionEstPopUp,fX264optMERangeLabel,fX264optMERangePopUp};
 
     for( unsigned i = 0;
          i < sizeof( controls ) / sizeof( NSControl * ); i++ )
@@ -1973,6 +1973,15 @@ the user is using "Custom" settings by determining the sender*/
     [fX264optMotionEstPopUp addItemWithTitle:@"Uneven Multi-Hexagon"];
     [fX264optMotionEstPopUp addItemWithTitle:@"Exhaustive"];
     
+    /*Motion Estimation range fX264optMERangePopUp*/
+    [fX264optMERangePopUp removeAllItems];
+    [fX264optMERangePopUp addItemWithTitle:@"Default (16)"];
+    for (i=4; i<65;i++)
+    {
+        [fX264optMERangePopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
+    }
+    
+    
     /* Standardize the option string */
     [self X264AdvancedOptionsStandardizeOptString: NULL];
     /* Set Current GUI Settings based on newly standardized string */
@@ -2072,6 +2081,10 @@ the user is using "Custom" settings by determining the sender*/
         cleanOptNameString = @"subq";
     }
     
+    /*ME Range*/
+    if ([cleanOptNameString isEqualToString:@"me-range"] || [cleanOptNameString isEqualToString:@"me_range"])
+        cleanOptNameString = @"merange";
+    
     return cleanOptNameString; 
 }
 
@@ -2160,7 +2173,13 @@ the user is using "Custom" settings by determining the sender*/
                         [fX264optMotionEstPopUp selectItemAtIndex:3];
                     else if ([optValue isEqualToString:@"esa"])
                         [fX264optMotionEstPopUp selectItemAtIndex:4];                        
-                }                                
+                }
+                /*ME Range NSPopUpButton*/
+                if ([optName isEqualToString:@"merange"])
+                {
+                    [fX264optMERangePopUp selectItemAtIndex:[optValue intValue]-3];
+                }
+                                                
             }
         }
     }
@@ -2203,6 +2222,10 @@ the user is using "Custom" settings by determining the sender*/
     {
         optNameToChange = @"me";
     }
+    if (sender == fX264optMERangePopUp)
+    {
+        optNameToChange = @"merange";
+    }
     
     /* Set widgets depending on the opt string in field */
     NSString * thisOpt; // The separated option such as "bframes=3"
@@ -2282,6 +2305,10 @@ the user is using "Custom" settings by determining the sender*/
                                 break;
                         }
                     }
+                    else if ([optNameToChange isEqualToString:@"merange"])
+                    {
+                        thisOpt = [NSString stringWithFormat:@"%@=%d",optName,[sender indexOfSelectedItem]+3];
+                    }
                     else // we have a valid value to change, so change it
                     {
                         thisOpt = [NSString stringWithFormat:@"%@=%d",optName,[sender indexOfSelectedItem]-1];
@@ -2342,6 +2369,11 @@ the user is using "Custom" settings by determining the sender*/
                         break;
                 }
             }
+            else if ([optNameToChange isEqualToString:@"merange"])
+            {
+                [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", 
+                    [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d",[sender indexOfSelectedItem]+3]]];
+            }
             else
             {
                 [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", 
@@ -2382,6 +2414,11 @@ the user is using "Custom" settings by determining the sender*/
                          break;
                 }
             }
+            else if ([optNameToChange isEqualToString:@"merange"])
+            {
+                [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@",[NSString stringWithFormat:[fDisplayX264Options stringValue]], 
+                    [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d",[sender indexOfSelectedItem]+3]]];
+            }
             else
             {
                 [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@",[NSString stringWithFormat:[fDisplayX264Options stringValue]], 
index 1804161..5367a54 100644 (file)
                 fWindow = NSWindow; 
                 fX264optBframesLabel = NSTextField; 
                 fX264optBframesPopUp = NSPopUpButton; 
+                fX264optMERangeLabel = NSTextField; 
+                fX264optMERangePopUp = NSPopUpButton; 
                 fX264optMixedRefsLabel = NSTextField; 
                 fX264optMixedRefsPopUp = NSPopUpButton; 
                 fX264optMotionEstLabel = NSTextField; 
index 8d46dd1..52000af 100644 (file)
@@ -20,7 +20,6 @@
        <key>IBOpenObjects</key>
        <array>
                <integer>21</integer>
-               <integer>1843</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8L127</string>
index 213b025..c414144 100644 (file)
Binary files a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib and b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib differ