diff options
author | dynaflash <[email protected]> | 2009-02-10 22:31:26 +0000 |
---|---|---|
committer | dynaflash <[email protected]> | 2009-02-10 22:31:26 +0000 |
commit | a0ae27ea704a01f788c2137a45c5732081604d6a (patch) | |
tree | fb4a4dbcf3c7563829250735ea5ea4f827eb133f | |
parent | 2be7a202c82f3ec2ba2e03ce4a8b1c0720c1f8ee (diff) |
MacGui: Constant Quality Slider now QP/RF based.
- Constant Quality Slider now uses QP/RF values instead of the long maligned % scale.
- Nearest percentage is also shown for reference.
-- For reference, PercentRFConversion on the wiki is a table of corresponding values for the old and new scales.
- Slider changes scale base on the chosen encoder.
-- x264: 0-51
-- FFmpeg and Xvid: 1-31
-- Theora: 0-63
- x264 Specific - Slider allows for fractional granularity (other encoders just whole ints).
-- Advanced Preference to adjust the granularity from 1.0,0.50,0.33,0.25,0.20 with a default of 0.25.
- Existing presets using the % based values converted to the nearest QP/RF value (within the granularity of the slider).
-- Example: A current preset using x264 at 62% will now actually use 61.76% since the nearest RF value converted to 62% is 19.50 with the slider set to 0.25 granularity.
-- New presets created will store the QP/RF value instead of the % value.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2135 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | macosx/Controller.h | 4 | ||||
-rw-r--r-- | macosx/Controller.mm | 102 | ||||
-rw-r--r-- | macosx/English.lproj/MainMenu.xib | 168 | ||||
-rw-r--r-- | macosx/English.lproj/Preferences.xib | 248 | ||||
-rw-r--r-- | macosx/HBPreferencesController.m | 1 | ||||
-rw-r--r-- | macosx/HBQueueController.mm | 2 |
6 files changed, 459 insertions, 66 deletions
diff --git a/macosx/Controller.h b/macosx/Controller.h index e77aa9ad1..c9118c023 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -99,6 +99,8 @@ BOOL fIsDragging; IBOutlet NSTextField * fVidEncoderField; IBOutlet NSPopUpButton * fVidEncoderPopUp; IBOutlet NSTextField * fVidQualityField; + IBOutlet NSTextField * fVidQualityRFLabel; + IBOutlet NSTextField * fVidQualityRFField; IBOutlet NSMatrix * fVidQualityMatrix; IBOutlet NSButtonCell * fVidTargetCell; IBOutlet NSTextField * fVidTargetSizeField; @@ -288,6 +290,8 @@ BOOL fIsDragging; - (IBAction) videoMatrixChanged: (id) sender; - (IBAction) qualitySliderChanged: (id) sender; +- (void) setupQualitySlider; + - (IBAction) audioDRCSliderChanged: (id) sender; - (IBAction) showPicturePanel: (id) sender; diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 7ab9aac22..13cc8745b 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -433,7 +433,7 @@ static NSString * ChooseSourceIdentifier = @"Choose Source It fAudTrack2DrcField, fAudTrack3DrcSlider, fAudTrack3DrcField, fAudTrack4DrcSlider,fAudTrack4DrcField, fQueueStatus,fPresetsAdd,fPresetsDelete, fCreateChapterMarkers,fVidTurboPassCheck,fDstMp4LargeFileCheck,fSubForcedCheck,fPresetsOutlineView, - fAudDrcLabel,fDstMp4HttpOptFileCheck,fDstMp4iPodFileCheck}; + fAudDrcLabel,fDstMp4HttpOptFileCheck,fDstMp4iPodFileCheck,fVidQualityRFField,fVidQualityRFLabel}; for( unsigned i = 0; i < sizeof( controls ) / sizeof( NSControl * ); i++ ) @@ -1888,7 +1888,7 @@ fWorkingCount = 0; [queueFileJob setObject:[NSNumber numberWithInt:[fVidQualityMatrix selectedRow]] forKey:@"VideoQualityType"]; [queueFileJob setObject:[fVidTargetSizeField stringValue] forKey:@"VideoTargetSize"]; [queueFileJob setObject:[fVidBitrateField stringValue] forKey:@"VideoAvgBitrate"]; - [queueFileJob setObject:[NSNumber numberWithFloat:[fVidQualitySlider floatValue]] forKey:@"VideoQualitySlider"]; + [queueFileJob setObject:[NSNumber numberWithFloat:[fVidQualityRFField floatValue]] forKey:@"VideoQualitySlider"]; /* Framerate */ [queueFileJob setObject:[fVidRatePopUp titleOfSelectedItem] forKey:@"VideoFramerate"]; @@ -2686,7 +2686,7 @@ fWorkingCount = 0; job->vbitrate = [fVidBitrateField intValue]; break; case 2: - job->vquality = [fVidQualitySlider floatValue]; + job->vquality = [fVidQualityRFField floatValue]; job->vbitrate = 0; break; } @@ -3942,7 +3942,7 @@ the user is using "Custom" settings by determining the sender*/ [fPictureController setAllowLooseAnamorphic:YES]; [fDstMp4iPodFileCheck setEnabled: YES]; } - + [self setupQualitySlider]; [self calculatePictureSizing: sender]; [self twoPassCheckboxChanged: sender]; } @@ -4009,6 +4009,8 @@ the user is using "Custom" settings by determining the sender*/ [fVidTargetSizeField setEnabled: target]; [fVidBitrateField setEnabled: bitrate]; [fVidQualitySlider setEnabled: quality]; + [fVidQualityRFField setEnabled: quality]; + [fVidQualityRFLabel setEnabled: quality]; [fVidTwoPassCheck setEnabled: !quality && [fVidQualityMatrix isEnabled]]; if( quality ) @@ -4023,11 +4025,77 @@ the user is using "Custom" settings by determining the sender*/ [self customSettingUsed: sender]; } +/* Use this method to setup the quality slider for cq/rf values depending on + * the video encoder selected. + */ +- (void) setupQualitySlider +{ + /* Get the current slider maxValue to check for a change in slider scale later + * so that we can choose a new similar value on the new slider scale */ + float previousMaxValue = [fVidQualitySlider maxValue]; + float previousPercentOfSliderScale = [fVidQualitySlider floatValue] / ([fVidQualitySlider maxValue] - [fVidQualitySlider minValue] + 1); + NSString * qpRFLabelString = @"QP:"; + /* x264 0-51 */ + if ([[fVidEncoderPopUp selectedItem] tag] == HB_VCODEC_X264) + { + [fVidQualitySlider setMinValue:0.0]; + [fVidQualitySlider setMaxValue:51.0]; + /* As x264 allows for qp/rf values that are fractional, we get the value from the preferences */ + int fractionalGranularity = 1 / [[NSUserDefaults standardUserDefaults] floatForKey:@"x264CqSliderFractional"]; + [fVidQualitySlider setNumberOfTickMarks:(([fVidQualitySlider maxValue] - [fVidQualitySlider minValue]) * fractionalGranularity) + 1]; + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"DefaultCrf"] > 0) + { + qpRFLabelString = @"RF:"; + } + } + /* ffmpeg and xvid 1-31 */ + if ([[fVidEncoderPopUp selectedItem] tag] == HB_VCODEC_FFMPEG || [[fVidEncoderPopUp selectedItem] tag] == HB_VCODEC_XVID) + { + [fVidQualitySlider setMinValue:1.0]; + [fVidQualitySlider setMaxValue:31.0]; + [fVidQualitySlider setNumberOfTickMarks:31]; + } + /* Theora 0-63 */ + if ([[fVidEncoderPopUp selectedItem] tag] == HB_VCODEC_THEORA) + { + [fVidQualitySlider setMinValue:0.0]; + [fVidQualitySlider setMaxValue:63.0]; + [fVidQualitySlider setNumberOfTickMarks:64]; + } + [fVidQualityRFLabel setStringValue:qpRFLabelString]; + + /* check to see if we have changed slider scales */ + if (previousMaxValue != [fVidQualitySlider maxValue]) + { + /* if so, convert the old setting to the new scale as close as possible based on percentages */ + float rf = ([fVidQualitySlider maxValue] - [fVidQualitySlider minValue] + 1) * previousPercentOfSliderScale; + [fVidQualitySlider setFloatValue:rf]; + } + + [self qualitySliderChanged:nil]; +} + - (IBAction) qualitySliderChanged: (id) sender { - [fVidConstantCell setTitle: [NSString stringWithFormat: - NSLocalizedString( @"Constant quality: %.0f %%", @"" ), 100.0 * - [fVidQualitySlider floatValue]]]; + /* Our constant quality slider is in a range based + * on each encoders qp/rf values. The range depends + * on the encoder. Also, the range is inverse of quality + * (ie. as the "quality" goes up, the cq or rf value + * actually goes down). Since the IB sliders always set + * their max value at the right end of the slider, we + * will calculate the inverse, so as the slider floatValue + * goes up, we will show the inverse in the rf field + * so, the floatValue at the right for x264 would be 51 + * and our rf field needs to show 0 and vice versa. + */ + + float sliderRfInverse = ([fVidQualitySlider maxValue] - [fVidQualitySlider floatValue]) + [fVidQualitySlider minValue]; + [fVidQualityRFField setStringValue: [NSString stringWithFormat: @"%.2f", sliderRfInverse]]; + + float sliderRfToPercent = ( [fVidQualitySlider maxValue] - sliderRfInverse ) / [fVidQualitySlider maxValue]; + [fVidConstantCell setTitle: [NSString stringWithFormat: + NSLocalizedString( @"Constant quality: %.2f %%", @"" ), 100 * sliderRfToPercent]]; + [self customSettingUsed: sender]; } @@ -5603,7 +5671,23 @@ return YES; [fVidTargetSizeField setStringValue:[chosenPreset objectForKey:@"VideoTargetSize"]]; [fVidBitrateField setStringValue:[chosenPreset objectForKey:@"VideoAvgBitrate"]]; - [fVidQualitySlider setFloatValue:[[chosenPreset objectForKey:@"VideoQualitySlider"] floatValue]]; + + /* Since we are now using RF Values for the slider, we detect if the preset uses an old quality float. + * So, check to see if the quality value is less than 1.0 which should indicate the old ".062" type + * quality preset. Caveat: in the case of x264, where the RF scale starts at 0, it would misinterpret + * a preset that uses 0.0 - 0.99 for RF as an old style preset. Not sure how to get around that one yet, + * though it should be a corner case since it would pretty much be a preset for lossless encoding. */ + if ([[chosenPreset objectForKey:@"VideoQualitySlider"] floatValue] < 1.0) + { + /* For the quality slider we need to convert the old percent's to the new rf scales */ + float rf = (([fVidQualitySlider maxValue] - [fVidQualitySlider minValue]) * [[chosenPreset objectForKey:@"VideoQualitySlider"] floatValue]); + [fVidQualitySlider setFloatValue:rf]; + + } + else + { + [fVidQualitySlider setFloatValue:([fVidQualitySlider maxValue] - [fVidQualitySlider minValue]) - [[chosenPreset objectForKey:@"VideoQualitySlider"] floatValue]]; + } [self videoMatrixChanged:nil]; @@ -6097,7 +6181,7 @@ return YES; [preset setObject:[NSNumber numberWithInt:[fVidQualityMatrix selectedRow]] forKey:@"VideoQualityType"]; [preset setObject:[fVidTargetSizeField stringValue] forKey:@"VideoTargetSize"]; [preset setObject:[fVidBitrateField stringValue] forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:[fVidQualitySlider floatValue]] forKey:@"VideoQualitySlider"]; + [preset setObject:[NSNumber numberWithFloat:[fVidQualityRFField floatValue]] forKey:@"VideoQualitySlider"]; /* Video framerate */ if ([fVidRatePopUp indexOfSelectedItem] == 0) // Same as source is selected diff --git a/macosx/English.lproj/MainMenu.xib b/macosx/English.lproj/MainMenu.xib index 79a4a784b..079399ebc 100644 --- a/macosx/English.lproj/MainMenu.xib +++ b/macosx/English.lproj/MainMenu.xib @@ -8,7 +8,7 @@ <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="1476"/> + <integer value="1478"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -108,14 +108,14 @@ <object class="NSTabViewItem" id="107038816"> <string key="NSIdentifier">1</string> <object class="NSView" key="NSView" id="1053078401"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder" ref="712502892"/> <int key="NSvFlags">256</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSTextField" id="521019277"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{357, 259}, {46, 14}}</string> + <string key="NSFrame">{{289, 259}, {46, 14}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="200565868"> @@ -131,7 +131,7 @@ <object class="NSMatrix" id="229000833"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{411, 211}, {146, 63}}</string> + <string key="NSFrame">{{343, 211}, {167, 63}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <int key="NSNumRows">3</int> @@ -186,7 +186,7 @@ <int key="NSPeriodicInterval">75</int> </object> </object> - <string key="NSCellSize">{146, 15}</string> + <string key="NSCellSize">{167, 15}</string> <string key="NSIntercellSpacing">{4, 9}</string> <int key="NSMatrixFlags">1143472128</int> <string key="NSCellClass">NSActionCell</string> @@ -216,7 +216,7 @@ <object class="NSTextField" id="127917338"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{562, 257}, {84, 19}}</string> + <string key="NSFrame">{{512, 257}, {84, 19}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="850340172"> @@ -243,7 +243,7 @@ <object class="NSTextField" id="783405221"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{562, 233}, {84, 19}}</string> + <string key="NSFrame">{{512, 233}, {84, 19}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="351953267"> @@ -260,26 +260,26 @@ <object class="NSSlider" id="239657287"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{433, 185}, {213, 18}}</string> + <string key="NSFrame">{{292, 186}, {405, 16}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSSliderCell" key="NSCell" id="160453387"> <int key="NSCellFlags">67501824</int> - <int key="NSCellFlags2">131072</int> + <int key="NSCellFlags2">262144</int> <object class="NSMutableString" key="NSContents"> <characters key="NS.bytes"/> </object> - <object class="NSFont" key="NSSupport"> - <string key="NSName">Helvetica-Oblique</string> - <double key="NSSize">1.200000e+01</double> - <int key="NSfFlags">16</int> + <object class="NSFont" key="NSSupport" id="22"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">9.000000e+00</double> + <int key="NSfFlags">3614</int> </object> <reference key="NSControlView" ref="239657287"/> - <double key="NSMaxValue">1.000000e+00</double> + <double key="NSMaxValue">5.100000e+01</double> <double key="NSMinValue">0.000000e+00</double> - <double key="NSValue">5.400000e-01</double> + <double key="NSValue">1.900000e+01</double> <double key="NSAltIncValue">0.000000e+00</double> - <int key="NSNumberOfTickMarks">101</int> + <int key="NSNumberOfTickMarks">205</int> <int key="NSTickMarkPosition">1</int> <bool key="NSAllowsTickMarkValuesOnly">YES</bool> <bool key="NSVertical">NO</bool> @@ -301,6 +301,38 @@ <reference key="NSTextColor" ref="701609070"/> </object> </object> + <object class="NSTextField" id="690304958"> + <reference key="NSNextResponder" ref="1053078401"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{538, 211}, {38, 14}}</string> + <reference key="NSSuperview" ref="1053078401"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="923732752"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">4325376</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="690304958"/> + <reference key="NSBackgroundColor" ref="242973447"/> + <reference key="NSTextColor" ref="701609070"/> + </object> + </object> + <object class="NSTextField" id="323705695"> + <reference key="NSNextResponder" ref="1053078401"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{509, 211}, {28, 14}}</string> + <reference key="NSSuperview" ref="1053078401"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="936221726"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">71434240</int> + <string key="NSContents">RF:</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="323705695"/> + <reference key="NSBackgroundColor" ref="242973447"/> + <reference key="NSTextColor" ref="701609070"/> + </object> + </object> <object class="NSTextField" id="690364175"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> @@ -336,7 +368,7 @@ <object class="NSPopUpButton" id="222980245"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{123, 229}, {168, 22}}</string> + <string key="NSFrame">{{106, 229}, {149, 22}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="343952154"> @@ -390,7 +422,7 @@ <object class="NSButton" id="1000247853"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{123, 208}, {124, 18}}</string> + <string key="NSFrame">{{106, 208}, {124, 18}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="860863090"> @@ -413,7 +445,7 @@ <object class="NSButton" id="447003158"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{140, 190}, {107, 16}}</string> + <string key="NSFrame">{{123, 190}, {107, 16}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="1070893195"> @@ -438,7 +470,7 @@ <object class="NSPopUpButton" id="12330413"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{123, 254}, {168, 22}}</string> + <string key="NSFrame">{{106, 254}, {149, 22}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="1018849574"> @@ -486,7 +518,7 @@ <object class="NSTextField" id="463960465"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{11, 231}, {107, 17}}</string> + <string key="NSFrame">{{9, 231}, {92, 17}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="509250281"> @@ -502,7 +534,7 @@ <object class="NSTextField" id="1064150725"> <reference key="NSNextResponder" ref="1053078401"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{11, 256}, {107, 17}}</string> + <string key="NSFrame">{{14, 256}, {87, 17}}</string> <reference key="NSSuperview" ref="1053078401"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="451922400"> @@ -517,6 +549,7 @@ </object> </object> <string key="NSFrame">{{10, 25}, {714, 305}}</string> + <reference key="NSSuperview" ref="712502892"/> </object> <string key="NSLabel">Video</string> <reference key="NSColor" ref="242973447"/> @@ -525,7 +558,7 @@ <object class="NSTabViewItem" id="157300012"> <string key="NSIdentifier">2</string> <object class="NSView" key="NSView" id="738554558"> - <reference key="NSNextResponder" ref="712502892"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">256</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -628,11 +661,7 @@ <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">138674176</int> <string key="NSContents">Bitrate (kbps)</string> - <object class="NSFont" key="NSSupport" id="22"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">9.000000e+00</double> - <int key="NSfFlags">3614</int> - </object> + <reference key="NSSupport" ref="22"/> <reference key="NSControlView" ref="122023676"/> <reference key="NSBackgroundColor" ref="242973447"/> <reference key="NSTextColor" ref="701609070"/> @@ -2013,7 +2042,6 @@ </object> </object> <string key="NSFrame">{{10, 25}, {714, 305}}</string> - <reference key="NSSuperview" ref="712502892"/> <reference key="NSNextKeyView" ref="198352083"/> </object> <string type="base64-UTF8" key="NSLabel">QXVkaW8gJiBTdWJ0aXRsZXM</string> @@ -2280,14 +2308,14 @@ <reference key="NSTabView" ref="712502892"/> </object> </object> - <reference key="NSSelectedTabViewItem" ref="157300012"/> + <reference key="NSSelectedTabViewItem" ref="107038816"/> <reference key="NSFont" ref="26"/> <int key="NSTvFlags">134217728</int> <bool key="NSAllowTruncatedLabels">YES</bool> <bool key="NSDrawsBackground">YES</bool> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="738554558"/> + <reference ref="1053078401"/> </object> </object> <object class="NSTextField" id="586321835"> @@ -6052,6 +6080,22 @@ </object> <int key="connectionID">5173</int> </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">fVidQualityRFField</string> + <reference key="source" ref="2258723"/> + <reference key="destination" ref="690304958"/> + </object> + <int key="connectionID">5176</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">fVidQualityRFLabel</string> + <reference key="source" ref="2258723"/> + <reference key="destination" ref="323705695"/> + </object> + <int key="connectionID">5179</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -6394,11 +6438,6 @@ <reference key="object" ref="1053078401"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="521019277"/> - <reference ref="229000833"/> - <reference ref="127917338"/> - <reference ref="783405221"/> - <reference ref="239657287"/> <reference ref="222980245"/> <reference ref="1000247853"/> <reference ref="447003158"/> @@ -6408,6 +6447,13 @@ <reference ref="987137669"/> <reference ref="690364175"/> <reference ref="503933842"/> + <reference ref="521019277"/> + <reference ref="229000833"/> + <reference ref="127917338"/> + <reference ref="783405221"/> + <reference ref="239657287"/> + <reference ref="690304958"/> + <reference ref="323705695"/> </object> <reference key="parent" ref="107038816"/> </object> @@ -9152,6 +9198,34 @@ <reference key="object" ref="109092334"/> <reference key="parent" ref="503933842"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">5174</int> + <reference key="object" ref="690304958"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="923732752"/> + </object> + <reference key="parent" ref="1053078401"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5175</int> + <reference key="object" ref="923732752"/> + <reference key="parent" ref="690304958"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5177</int> + <reference key="object" ref="323705695"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="936221726"/> + </object> + <reference key="parent" ref="1053078401"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">5178</int> + <reference key="object" ref="936221726"/> + <reference key="parent" ref="323705695"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -9883,6 +9957,12 @@ <string>5171.IBPluginDependency</string> <string>5171.ImportedFromIB2</string> <string>5172.IBPluginDependency</string> + <string>5174.IBPluginDependency</string> + <string>5174.ImportedFromIB2</string> + <string>5175.IBPluginDependency</string> + <string>5177.IBPluginDependency</string> + <string>5177.ImportedFromIB2</string> + <string>5178.IBPluginDependency</string> <string>56.IBPluginDependency</string> <string>56.ImportedFromIB2</string> <string>57.IBPluginDependency</string> @@ -10238,9 +10318,9 @@ <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{255, 306}, {760, 550}}</string> + <string>{{248, 306}, {760, 550}}</string> <boolean value="YES"/> - <string>{{255, 306}, {760, 550}}</string> + <string>{{248, 306}, {760, 550}}</string> <reference ref="9"/> <string>{{65, 541}, {760, 550}}</string> <reference ref="6"/> @@ -10655,6 +10735,12 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{75, 683}, {235, 153}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -10687,7 +10773,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">5173</int> + <int key="maxID">5179</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -10904,6 +10990,8 @@ <string>fVidEncoderPopUp</string> <string>fVidQualityField</string> <string>fVidQualityMatrix</string> + <string>fVidQualityRFField</string> + <string>fVidQualityRFLabel</string> <string>fVidQualitySlider</string> <string>fVidRateField</string> <string>fVidRatePopUp</string> @@ -11008,6 +11096,8 @@ <string>NSPopUpButton</string> <string>NSTextField</string> <string>NSMatrix</string> + <string>NSTextField</string> + <string>NSTextField</string> <string>NSSlider</string> <string>NSTextField</string> <string>NSPopUpButton</string> diff --git a/macosx/English.lproj/Preferences.xib b/macosx/English.lproj/Preferences.xib index d96c12561..5359deeac 100644 --- a/macosx/English.lproj/Preferences.xib +++ b/macosx/English.lproj/Preferences.xib @@ -9,7 +9,7 @@ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> <integer value="5"/> - <integer value="233"/> + <integer value="236"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -61,7 +61,7 @@ <bool key="NSSharedInstance">YES</bool> </object> <object class="NSCustomView" id="1048779201"> - <reference key="NSNextResponder"/> + <nil key="NSNextResponder"/> <int key="NSvFlags">256</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -447,7 +447,6 @@ </object> </object> <string key="NSFrameSize">{492, 231}</string> - <reference key="NSSuperview"/> <string key="NSClassName">NSView</string> <string key="NSExtension">NSControl</string> </object> @@ -796,14 +795,14 @@ <string key="NSExtension">NSResponder</string> </object> <object class="NSCustomView" id="23728330"> - <nil key="NSNextResponder"/> + <reference key="NSNextResponder"/> <int key="NSvFlags">256</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSButton" id="882188042"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{84, 118}, {367, 18}}</string> + <string key="NSFrame">{{84, 156}, {367, 18}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="197383193"> @@ -824,7 +823,7 @@ <object class="NSTextField" id="759266151"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{40, 119}, {41, 17}}</string> + <string key="NSFrame">{{40, 157}, {41, 17}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="488653412"> @@ -837,10 +836,26 @@ <reference key="NSTextColor" ref="887152126"/> </object> </object> + <object class="NSTextField" id="226601760"> + <reference key="NSNextResponder" ref="23728330"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{83, 134}, {301, 17}}</string> + <reference key="NSSuperview" ref="23728330"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="1064438472"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">71303168</int> + <string key="NSContents">Constant Quality fractional granularity:</string> + <reference key="NSSupport" ref="964910696"/> + <reference key="NSControlView" ref="226601760"/> + <reference key="NSBackgroundColor" ref="525377782"/> + <reference key="NSTextColor" ref="887152126"/> + </object> + </object> <object class="NSTextField" id="701867067"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{37, 87}, {239, 17}}</string> + <string key="NSFrame">{{37, 101}, {239, 17}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="978611587"> @@ -856,7 +871,7 @@ <object class="NSTextField" id="173328305"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{71, 27}, {184, 17}}</string> + <string key="NSFrame">{{71, 41}, {184, 17}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="271531935"> @@ -872,7 +887,7 @@ <object class="NSTextField" id="899831697"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{37, 51}, {32, 17}}</string> + <string key="NSFrame">{{37, 65}, {32, 17}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSTextFieldCell" key="NSCell" id="483848741"> @@ -888,7 +903,7 @@ <object class="NSButton" id="907177043"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{72, 49}, {367, 18}}</string> + <string key="NSFrame">{{72, 63}, {367, 18}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="869757541"> @@ -909,7 +924,7 @@ <object class="NSPopUpButton" id="772611942"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{276, 82}, {66, 22}}</string> + <string key="NSFrame">{{276, 96}, {66, 22}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="413609467"> @@ -995,10 +1010,96 @@ <int key="NSArrowPosition">2</int> </object> </object> + <object class="NSPopUpButton" id="822080053"> + <reference key="NSNextResponder" ref="23728330"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{386, 129}, {66, 22}}</string> + <reference key="NSSuperview" ref="23728330"/> + <bool key="NSEnabled">YES</bool> + <object class="NSPopUpButtonCell" key="NSCell" id="434430620"> + <int key="NSCellFlags">-2076049856</int> + <int key="NSCellFlags2">133120</int> + <reference key="NSSupport" ref="26"/> + <reference key="NSControlView" ref="822080053"/> + <int key="NSButtonFlags">109199615</int> + <int key="NSButtonFlags2">129</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + <object class="NSMenuItem" key="NSMenuItem" id="731921194"> + <reference key="NSMenu" ref="841477386"/> + <string key="NSTitle">0.25</string> + <string key="NSKeyEquiv"/> + <int key="NSMnemonicLoc">2147483647</int> + <int key="NSState">1</int> + <reference key="NSOnImage" ref="201515479"/> + <reference key="NSMixedImage" ref="944085027"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="434430620"/> + </object> + <bool key="NSMenuItemRespectAlignment">YES</bool> + <object class="NSMenu" key="NSMenu" id="841477386"> + <string key="NSTitle">OtherViews</string> + <object class="NSMutableArray" key="NSMenuItems"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMenuItem" id="835010135"> + <reference key="NSMenu" ref="841477386"/> + <string key="NSTitle">1.0</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="201515479"/> + <reference key="NSMixedImage" ref="944085027"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="434430620"/> + </object> + <object class="NSMenuItem" id="642215596"> + <reference key="NSMenu" ref="841477386"/> + <string key="NSTitle">0.50</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="201515479"/> + <reference key="NSMixedImage" ref="944085027"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="434430620"/> + </object> + <object class="NSMenuItem" id="722882615"> + <reference key="NSMenu" ref="841477386"/> + <string key="NSTitle">0.33</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="201515479"/> + <reference key="NSMixedImage" ref="944085027"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="434430620"/> + </object> + <reference ref="731921194"/> + <object class="NSMenuItem" id="226776327"> + <reference key="NSMenu" ref="841477386"/> + <string key="NSTitle">0.20</string> + <string key="NSKeyEquiv"/> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="201515479"/> + <reference key="NSMixedImage" ref="944085027"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="434430620"/> + </object> + </object> + </object> + <int key="NSSelectedIndex">3</int> + <int key="NSPreferredEdge">1</int> + <bool key="NSUsesItemFromMenu">YES</bool> + <bool key="NSAltersState">YES</bool> + <int key="NSArrowPosition">2</int> + </object> + </object> <object class="NSPopUpButton" id="895206300"> <reference key="NSNextResponder" ref="23728330"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{255, 22}, {66, 22}}</string> + <string key="NSFrame">{{255, 36}, {66, 22}}</string> <reference key="NSSuperview" ref="23728330"/> <bool key="NSEnabled">YES</bool> <object class="NSPopUpButtonCell" key="NSCell" id="290473288"> @@ -1062,7 +1163,8 @@ </object> </object> </object> - <string key="NSFrameSize">{482, 156}</string> + <string key="NSFrameSize">{481, 194}</string> + <reference key="NSSuperview"/> <object class="NSMutableString" key="NSClassName"> <characters key="NS.bytes">NSView</characters> </object> @@ -1328,6 +1430,22 @@ </object> <int key="connectionID">386</int> </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">selectedValue: values.x264CqSliderFractional</string> + <reference key="source" ref="822080053"/> + <reference key="destination" ref="580534391"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="822080053"/> + <reference key="NSDestination" ref="580534391"/> + <string key="NSLabel">selectedValue: values.x264CqSliderFractional</string> + <string key="NSBinding">selectedValue</string> + <string key="NSKeyPath">values.x264CqSliderFractional</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">397</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -1536,6 +1654,8 @@ <reference ref="173328305"/> <reference ref="899831697"/> <reference ref="907177043"/> + <reference ref="822080053"/> + <reference ref="226601760"/> </object> <reference key="parent" ref="510204080"/> <string key="objectName">Advanced</string> @@ -1910,6 +2030,76 @@ <reference key="object" ref="1049782015"/> <reference key="parent" ref="280291731"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">387</int> + <reference key="object" ref="822080053"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="434430620"/> + </object> + <reference key="parent" ref="23728330"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">388</int> + <reference key="object" ref="434430620"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="841477386"/> + </object> + <reference key="parent" ref="822080053"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">389</int> + <reference key="object" ref="841477386"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="226776327"/> + <reference ref="731921194"/> + <reference ref="722882615"/> + <reference ref="642215596"/> + <reference ref="835010135"/> + </object> + <reference key="parent" ref="434430620"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">390</int> + <reference key="object" ref="226776327"/> + <reference key="parent" ref="841477386"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">391</int> + <reference key="object" ref="731921194"/> + <reference key="parent" ref="841477386"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">392</int> + <reference key="object" ref="722882615"/> + <reference key="parent" ref="841477386"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">393</int> + <reference key="object" ref="642215596"/> + <reference key="parent" ref="841477386"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">394</int> + <reference key="object" ref="835010135"/> + <reference key="parent" ref="841477386"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">395</int> + <reference key="object" ref="226601760"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="1064438472"/> + </object> + <reference key="parent" ref="23728330"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">396</int> + <reference key="object" ref="1064438472"/> + <reference key="parent" ref="226601760"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -2036,6 +2226,18 @@ <string>383.IBPluginDependency</string> <string>383.ImportedFromIB2</string> <string>384.IBPluginDependency</string> + <string>387.IBPluginDependency</string> + <string>388.IBPluginDependency</string> + <string>389.IBEditorWindowLastContentRect</string> + <string>389.IBPluginDependency</string> + <string>390.IBPluginDependency</string> + <string>391.IBPluginDependency</string> + <string>392.IBPluginDependency</string> + <string>393.IBPluginDependency</string> + <string>394.IBPluginDependency</string> + <string>395.IBPluginDependency</string> + <string>395.ImportedFromIB2</string> + <string>396.IBPluginDependency</string> <string>5.IBEditorWindowLastContentRect</string> <string>5.IBWindowTemplateEditedContentRect</string> <string>5.ImportedFromIB2</string> @@ -2064,7 +2266,7 @@ <string>{{73, 774}, {500, 82}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{349, 493}, {482, 156}}</string> + <string>{{404, 579}, {481, 194}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{0, 650}, {500, 184}}</string> @@ -2170,8 +2372,20 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{69, 784}, {500, 200}}</string> - <string>{{69, 784}, {500, 200}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>{{779, 642}, {88, 88}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>{{69, 656}, {500, 200}}</string> + <string>{{69, 656}, {500, 200}}</string> <reference ref="9"/> <reference ref="8"/> <reference ref="9"/> @@ -2203,7 +2417,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">386</int> + <int key="maxID">397</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> diff --git a/macosx/HBPreferencesController.m b/macosx/HBPreferencesController.m index ca80223c8..e82bfd0ab 100644 --- a/macosx/HBPreferencesController.m +++ b/macosx/HBPreferencesController.m @@ -58,6 +58,7 @@ @"NO", @"EncodeLogLocation", @"10", @"PreviewsNumber", @"", @"Drawer Size", + @"0.25", @"x264CqSliderFractional", nil]]; } diff --git a/macosx/HBQueueController.mm b/macosx/HBQueueController.mm index e530180b3..822c3124f 100644 --- a/macosx/HBQueueController.mm +++ b/macosx/HBQueueController.mm @@ -1166,7 +1166,7 @@ return ![(HBQueueOutlineView*)outlineView isDragging]; } else // CRF { - videoInfo = [NSString stringWithFormat:@"%@ Constant Quality: %.0f %%", videoInfo ,[[item objectForKey:@"VideoQualitySlider"] floatValue] * 100]; + videoInfo = [NSString stringWithFormat:@"%@ Constant Quality: %.2f", videoInfo ,[[item objectForKey:@"VideoQualitySlider"] floatValue]]; } [finalString appendString: @"Video: " withAttributes:detailBoldAttr]; |