]> granicus.if.org Git - handbrake/commitdiff
MacGui: Dynamic Range Control implemented in the audio tab of the main window.
authordynaflash <dynaflashtech@gmail.com>
Wed, 12 Dec 2007 16:05:59 +0000 (16:05 +0000)
committerdynaflash <dynaflashtech@gmail.com>
Wed, 12 Dec 2007 16:05:59 +0000 (16:05 +0000)
- represented by a slider indicating value from 1.0 to 4.0
- Defaults to 1.0
- Granularity of 1/100
- Implemented in presets
- If key for drc is not present, preset will automatically return it to its default of 1.0

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1118 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 1a40bad13098d9c4cb3f9c4b920fb986b09e45c3..1d64bc3c321e3d59ec59f6a69ae60fdddbe1faf8 100644 (file)
     IBOutlet NSTextField         * fAudLang2Field;
     IBOutlet NSPopUpButton       * fAudLang2PopUp;
        /* New Audio Mix PopUps */
-       IBOutlet NSTextField         * fAudTrack1MixLabel;
+       /* Track info */
+    IBOutlet NSTextField         * fAudTrack1MixLabel;
        IBOutlet NSPopUpButton       * fAudTrack1MixPopUp;
     IBOutlet NSTextField         * fAudTrack2MixLabel;
        IBOutlet NSPopUpButton       * fAudTrack2MixPopUp;
        
+    /* Quality info */
        IBOutlet NSTextField         * fAudRateField;
     IBOutlet NSPopUpButton       * fAudRatePopUp;
     IBOutlet NSTextField         * fAudBitrateField;
     IBOutlet NSPopUpButton       * fAudBitratePopUp;
+    /*Dynamic Range Compression */
+    IBOutlet NSSlider            * fAudDrcSlider;
+    IBOutlet NSTextField         * fAudDrcField;
+    IBOutlet NSTextField         * fAudDrcLabel;
     
     /* Chapters box */
     IBOutlet NSButton            * fCreateChapterMarkers;
 
 - (IBAction) videoMatrixChanged: (id) sender;
 - (IBAction) qualitySliderChanged: (id) sender;
+- (IBAction) audioDRCSliderChanged: (id) sender;
 
 - (IBAction) showPicturePanel: (id) sender;
 - (IBAction) calculatePictureSizing: (id) sender;
index 9ed65376998b26a2f4c45e99d834a6d5eccd90eb..6bbdb7b9cb6d598ecf3e924d5558ba64859167c8 100644 (file)
@@ -392,7 +392,8 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                fPicSettingPAR,fPicLabelAnamorphic,fPresetsAdd,fPresetsDelete,
                fCreateChapterMarkers,fVidTurboPassCheck,fDstMpgLargeFileCheck,fPicLabelAutoCrop,
                fPicSettingAutoCrop,fPicSettingDetelecine,fPicLabelDetelecine,fPicLabelDenoise,fPicSettingDenoise,
-        fSubForcedCheck,fPicSettingDeblock,fPicLabelDeblock,fPresetsOutlineView,};
+        fSubForcedCheck,fPicSettingDeblock,fPicLabelDeblock,fPresetsOutlineView,fAudDrcSlider,
+        fAudDrcField,fAudDrcLabel};
 
     for( unsigned i = 0;
          i < sizeof( controls ) / sizeof( NSControl * ); i++ )
@@ -1525,6 +1526,10 @@ static NSString *        ChooseSourceIdentifier             = @"Choose Source It
                      indexOfSelectedItem]].rate;
     job->abitrate = [[fAudBitratePopUp selectedItem] tag];
     
+    /* Dynamic Range Compression */
+    job->dynamic_range_compression = [fAudDrcSlider floatValue];
+    
+    
     /* set vfr according to the Picture Window */
     if ([fPictureController vfr])
     {
@@ -2455,6 +2460,12 @@ the user is using "Custom" settings by determining the sender*/
                [self customSettingUsed: sender];
 }
 
+- (IBAction) audioDRCSliderChanged: (id) sender
+{
+    [fAudDrcField setStringValue: [NSString stringWithFormat: @"%f", [fAudDrcSlider floatValue]]];
+    //[self customSettingUsed: sender];
+}
+
 - (void) controlTextDidChange: (NSNotification *) notification
 {
     [self calculateBitrate: NULL];
@@ -3276,9 +3287,9 @@ if (item == nil)
                        
                        [fVidTargetSizeField setStringValue: [NSString stringWithFormat:[chosenPreset valueForKey:@"VideoTargetSize"]]];
                        [fVidBitrateField setStringValue: [NSString stringWithFormat:[chosenPreset valueForKey:@"VideoAvgBitrate"]]];
-                       
                        [fVidQualitySlider setFloatValue: [[chosenPreset valueForKey:@"VideoQualitySlider"] floatValue]];
-                       [self videoMatrixChanged: NULL];
+            
+            [self videoMatrixChanged: NULL];
                        
                        /* Video framerate */
                        /* For video preset video framerate, we want to make sure that Same as source does not conflict with the
@@ -3309,7 +3320,10 @@ if (item == nil)
                        [fAudBitratePopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"AudioBitRate"]]];
                        /*Subtitles*/
                        [fSubPopUp selectItemWithTitle: [NSString stringWithFormat:[chosenPreset valueForKey:@"Subtitles"]]];
-                       
+                       /* Dynamic Range Control Slider */
+            [fAudDrcSlider setFloatValue: [[chosenPreset valueForKey:@"AudioDRCSlider"] floatValue]];
+            [self audioDRCSliderChanged: NULL];
+            
                        /* Picture Settings */
                        /* Note: objectForKey:@"UsesPictureSettings" now refers to picture size, this encompasses:
              * height, width, keep ar, anamorphic and crop settings.
@@ -3521,7 +3535,7 @@ if (item == nil)
                UserPresets = [[NSMutableArray alloc] init];
                [self addFactoryPresets:NULL];
        }
-       
+       [fPresetsOutlineView reloadData];
 }
 
 
@@ -3675,6 +3689,8 @@ if (item == nil)
        [preset setObject:[fAudBitratePopUp titleOfSelectedItem] forKey:@"AudioBitRate"];
        /* Subtitles*/
        [preset setObject:[fSubPopUp titleOfSelectedItem] forKey:@"Subtitles"];
+    /* Dynamic Range Control Slider */
+    [preset setObject:[NSNumber numberWithFloat:[fAudDrcSlider floatValue]] forKey:@"AudioDRCSlider"];
        
 
     [preset autorelease];
index d7eca5f01b55fbb8103f176357d735a1c9173286..8ecb1f92c77a432dd21711bbec74153ed0809106 100644 (file)
@@ -21,6 +21,8 @@
                                <string>id</string>
                                <key>addUserPreset</key>
                                <string>id</string>
+                               <key>audioDRCSliderChanged</key>
+                               <string>id</string>
                                <key>audioTrackMixdownChanged</key>
                                <string>id</string>
                                <key>audioTrackPopUpChanged</key>
                                <string>NSTextField</string>
                                <key>fAudBitratePopUp</key>
                                <string>NSPopUpButton</string>
+                               <key>fAudDrcField</key>
+                               <string>NSTextField</string>
+                               <key>fAudDrcLabel</key>
+                               <string>NSTextField</string>
+                               <key>fAudDrcSlider</key>
+                               <string>NSSlider</string>
                                <key>fAudLang1Field</key>
                                <string>NSTextField</string>
                                <key>fAudLang1PopUp</key>
index f2b16dd0bd3175ee3c547378ffa7153479d0ae6c..2c679cd24b1f589e7e797befb74ff51bac99bf55 100644 (file)
@@ -10,7 +10,7 @@
        <integer>5</integer>
        <key>IBOpenObjects</key>
        <array>
-               <integer>1843</integer>
+               <integer>2</integer>
        </array>
        <key>IBSystem Version</key>
        <string>9B18</string>
index d298b1279b3561459619de09d899319b5405fb72..b03f6cf066e40c9e3de43f26e1888a09ca552518 100644 (file)
Binary files a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib and b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib differ