OSDN Git Service

LinGui: change the top level structure that contains presets from a dictionary
[handbrake-jp/handbrake-jp-git.git] / macosx / PictureController.mm
index 149571a..c32a120 100644 (file)
        }
        
        /* Set filters widgets according to the filters struct */
-       [fVFRCheck setState:fPictureFilterSettings.vfr];
-    [fDetelecineCheck setState:fPictureFilterSettings.detelecine];
+       [fDetelecineCheck setState:fPictureFilterSettings.detelecine];
     [fDeinterlacePopUp selectItemAtIndex: fPictureFilterSettings.deinterlace];
     [fDenoisePopUp selectItemAtIndex: fPictureFilterSettings.denoise];
     [fDeblockCheck setState: fPictureFilterSettings.deblock];
@@ -218,6 +217,19 @@ are maintained across different sources */
     [fNextButton setEnabled: ( fPicture < 9 )];
 }
 
+- (IBAction) deblockSliderChanged: (id) sender
+{
+    if ([fDeblockSlider floatValue] == 4.0)
+    {
+    [fDeblockField setStringValue: [NSString stringWithFormat: @"Off"]];
+    }
+    else
+    {
+    [fDeblockField setStringValue: [NSString stringWithFormat: @"%.0f", [fDeblockSlider floatValue]]];
+    }
+       [self SettingsChanged: sender];
+}
+
 - (IBAction) SettingsChanged: (id) sender
 {
     hb_job_t * job = fTitle->job;
@@ -250,6 +262,14 @@ are maintained across different sources */
             /* We set job->width and call hb_set_anamorphic_size in libhb to do a "dry run" to get
              * the values to be used by libhb for loose anamorphic
              */
+            /* if the sender is the anamorphic popup, then we know that loose anamorphic has just
+             * been turned on, so snap the width to full width for the source.
+             */
+            if (sender == fAnamorphicPopUp)
+            {
+                [fWidthStepper      setIntValue: fTitle->width-fTitle->job->crop[2]-fTitle->job->crop[3]];
+                [fWidthField        setIntValue: fTitle->width-fTitle->job->crop[2]-fTitle->job->crop[3]];
+            }
             job->width       = [fWidthStepper  intValue];
             hb_set_anamorphic_size(job, &output_width, &output_height, &output_par_width, &output_par_height);
             [fHeightStepper      setIntValue: output_height];
@@ -322,18 +342,17 @@ are maintained across different sources */
         job->deinterlace  = 0;
     }
     fPictureFilterSettings.denoise     = [fDenoisePopUp indexOfSelectedItem];
-    fPictureFilterSettings.vfr  = [fVFRCheck state];
-    if (fPictureFilterSettings.vfr > 0)
+    
+    fPictureFilterSettings.detelecine  = [fDetelecineCheck state];
+    
+    if ([fDeblockField stringValue] == @"Off")
     {
-        [fDetelecineCheck setState:NSOnState];
-        [fDetelecineCheck setEnabled: NO];
+    fPictureFilterSettings.deblock  = 0;
     }
     else
     {
-        [fDetelecineCheck setEnabled: YES];
+    fPictureFilterSettings.deblock  = [fDeblockField intValue];
     }
-    fPictureFilterSettings.detelecine  = [fDetelecineCheck state];
-    fPictureFilterSettings.deblock  = [fDeblockCheck state];
     
     fPictureFilterSettings.decomb = [fDecombPopUp indexOfSelectedItem];
 
@@ -453,16 +472,6 @@ are maintained across different sources */
     fPictureFilterSettings.detelecine = setting;
 }
 
-- (int) vfr
-{
-    return fPictureFilterSettings.vfr;
-}
-
-- (void) setVFR: (int) setting
-{
-    fPictureFilterSettings.vfr = setting;
-}
-
 - (int) deinterlace
 {
     return fPictureFilterSettings.deinterlace;