}
/* 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];
[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;
/* 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];
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];
fPictureFilterSettings.detelecine = setting;
}
-- (int) vfr
-{
- return fPictureFilterSettings.vfr;
-}
-
-- (void) setVFR: (int) setting
-{
- fPictureFilterSettings.vfr = setting;
-}
-
- (int) deinterlace
{
return fPictureFilterSettings.deinterlace;