summaryrefslogtreecommitdiffstats
path: root/macosx/PictureController.mm
diff options
context:
space:
mode:
authordynaflash <[email protected]>2007-08-13 17:02:37 +0000
committerdynaflash <[email protected]>2007-08-13 17:02:37 +0000
commit9d03e655fbc53a95e56ebd28d367175a0202a8c6 (patch)
treeecb1ce066595eeb8ce61172b0fa4c7c27cf09e16 /macosx/PictureController.mm
parente532199ceccdc03a2a356b44dd5a2ab1cb859408 (diff)
MacGui: Detelecine initial implementation
- Added -VideoFramerateChanged method to controller.mm to detect NTSC Film content to error check detelecine. - Auto detected or manually choosing 23.967 (NTSC Film) disables detelecine checkbox in the picture preview window. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@800 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx/PictureController.mm')
-rw-r--r--macosx/PictureController.mm35
1 files changed, 35 insertions, 0 deletions
diff --git a/macosx/PictureController.mm b/macosx/PictureController.mm
index afdb6f6cc..0cf80da05 100644
--- a/macosx/PictureController.mm
+++ b/macosx/PictureController.mm
@@ -117,6 +117,31 @@ static int GetAlignedSize( int size )
{
[fCropMatrix selectCellAtRow: 0 column:0];
}
+
+ /* set the detelecine state according to the state in main window */
+ /* if framerate is 23.976 we do not allow detelecine, otherwise, enable and set according to fDetelecineMainWindow outlet */
+ if (fTitle->rate_base == 1126125 || [[fVidFrameRatePopUpMainWindow titleOfSelectedItem] isEqualToString: @"23.976 (NTSC Film)"])
+ {
+ [fDetelecineMainWindow setStringValue: @"No"];
+ [fDetelecineCheck setEnabled: NO];
+ [fDetelecineCheck setState: NSOffState];
+
+ }
+ else
+ {
+ [fDetelecineCheck setEnabled: YES];
+ if ([[fDetelecineMainWindow stringValue] isEqualToString: @"Yes"])
+ {
+ [fDetelecineCheck setState: NSOnState];
+ }
+ else
+ {
+ [fDetelecineCheck setState: NSOffState];
+ }
+
+ }
+
+
MaxOutputWidth = job->width;
MaxOutputHeight = job->height;
fPicture = 0;
@@ -245,6 +270,16 @@ static int GetAlignedSize( int size )
job->deinterlace = 1;
}
+ /* set the detelecine state according to the integer set in the main window field */
+ if ([fDetelecineCheck state] == 1)
+ {
+ [fDetelecineMainWindow setStringValue: @"Yes"];
+ }
+ else
+ {
+ [fDetelecineMainWindow setStringValue: @"No"];
+ }
+
job->pixel_ratio = ( [fPARCheck state] == NSOnState );