X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=macosx%2FPictureController.h;h=7a3d96ea288f9caf6018e7d0cf9e976de717c27c;hb=240cf3308bf21be4d1918a71a5510d07e7d6d85b;hp=6aa03f1a990c7067be3d6f7e4c544ccac4b82b3d;hpb=84f02ecb20bc560845994b666cf00a5eb3fbf8d9;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/macosx/PictureController.h b/macosx/PictureController.h index 6aa03f1a..7a3d96ea 100644 --- a/macosx/PictureController.h +++ b/macosx/PictureController.h @@ -6,26 +6,45 @@ #import -#include "hb.h" -/* Needed for Quicktime movie previews */ -#import +#include "hb.h" -#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate +@class HBController; +@class PreviewController; + + + +//#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate @interface PictureController : NSWindowController { hb_handle_t * fHandle; hb_title_t * fTitle; + HBController *fHBController; + PreviewController *fPreviewController; // reference to HBController + + IBOutlet NSWindow * fPictureWindow; + + IBOutlet NSTabView * fSizeFilterView; + IBOutlet NSTabViewItem * fSizeTabView; + IBOutlet NSTabViewItem * fFilterTabView; + + /* Picture Sizing */ + NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily int fPicture; - IBOutlet NSImageView * fPictureView; - IBOutlet NSBox * fPictureViewArea; + + IBOutlet NSBox * fPictureSizeBox; + IBOutlet NSBox * fPictureCropBox; + + IBOutlet NSTextField * fWidthLabel; IBOutlet NSTextField * fWidthField; IBOutlet NSStepper * fWidthStepper; IBOutlet NSTextField * fHeightField; IBOutlet NSStepper * fHeightStepper; + IBOutlet NSTextField * fRatioLabel; + IBOutlet NSTextField * fRatioLabel2; // shown for capuj IBOutlet NSButton * fRatioCheck; IBOutlet NSMatrix * fCropMatrix; IBOutlet NSTextField * fCropTopField; @@ -36,101 +55,182 @@ IBOutlet NSStepper * fCropLeftStepper; IBOutlet NSTextField * fCropRightField; IBOutlet NSStepper * fCropRightStepper; - IBOutlet NSPopUpButton * fDeinterlacePopUp; - IBOutlet NSPopUpButton * fDecombPopUp; - IBOutlet NSButton * fDetelecineCheck; - IBOutlet NSButton * fDeblockCheck; - IBOutlet NSTextField * fDeblockField; - IBOutlet NSSlider * fDeblockSlider; - IBOutlet NSPopUpButton * fDenoisePopUp; + + IBOutlet NSTextField * fModulusLabel; + IBOutlet NSPopUpButton * fModulusPopUp; + /* linkers for capuj */ + IBOutlet NSBox * fStorageLinkBox; + IBOutlet NSSlider * fStorageLinkSlider; + IBOutlet NSTextField * fStorageLinkParLabel; + IBOutlet NSTextField * fStorageLinkDisplayLabel; + + IBOutlet NSSlider * fParLinkSlider; + IBOutlet NSTextField * fParLinkStorageLabel; + IBOutlet NSTextField * fParLinkDisplayLabel; + + IBOutlet NSSlider * fDisplayLinkSlider; + IBOutlet NSTextField * fDisplayLinkStorageLabel; + IBOutlet NSTextField * fDisplayLinkParLabel; + + + IBOutlet NSTextField * fDisplayWidthField; + IBOutlet NSTextField * fDisplayWidthLabel; + + IBOutlet NSTextField * fParWidthField; + IBOutlet NSTextField * fParHeightField; + IBOutlet NSTextField * fParWidthLabel; + IBOutlet NSTextField * fParHeightLabel; + + /* for now we setup some values to remember our pars and dars + * from scan + */ + float titleDarWidth; + float titleDarHeight; + + int titleParWidth; + int titleParHeight; + float dar; + IBOutlet NSButton * fResetParDarButton; + IBOutlet NSPopUpButton * fAnamorphicPopUp; - IBOutlet NSSlider * fPictureSlider; - IBOutlet NSTextField * fInfoField; + IBOutlet NSTextField * fSizeInfoField; + IBOutlet NSButton * fPreviewOpenButton; + IBOutlet NSButton * fPictureFiltersOpenButton; + int MaxOutputWidth; int MaxOutputHeight; BOOL autoCrop; BOOL allowLooseAnamorphic; + int output_width, output_height, output_par_width, output_par_height; int display_width; + + int modulus; + /* used to track the previous state of the keep aspect ratio checkbox when turning anamorphic on, so it can be returned to the previous state when anamorphic is turned off */ - BOOL keepAspectRatioPreviousState; + BOOL keepAspectRatioPreviousState; + + + /* Video Filters */ + + IBOutlet NSBox * fPictureFilterBox; + + IBOutlet NSBox * fDetelecineBox; + IBOutlet NSPopUpButton * fDetelecinePopUp; + IBOutlet NSTextField * fDetelecineField; + + IBOutlet NSBox * fDecombDeinterlaceBox; + IBOutlet NSSlider * fDecombDeinterlaceSlider; + + IBOutlet NSBox * fDecombBox; + IBOutlet NSPopUpButton * fDecombPopUp; + IBOutlet NSTextField * fDecombField; + + IBOutlet NSBox * fDeinterlaceBox; + IBOutlet NSPopUpButton * fDeinterlacePopUp; + IBOutlet NSTextField * fDeinterlaceField; + + IBOutlet NSBox * fDenoiseBox; + IBOutlet NSPopUpButton * fDenoisePopUp; + IBOutlet NSTextField * fDenoiseField; + + + IBOutlet NSBox * fDeblockBox; // also holds the grayscale box + IBOutlet NSButton * fDeblockCheck; + IBOutlet NSTextField * fDeblockField; + IBOutlet NSSlider * fDeblockSlider; + + IBOutlet NSButton * fGrayscaleCheck; + + IBOutlet NSTextField * fInfoField; + + - struct { + struct { int detelecine; int deinterlace; int decomb; + int usedecomb; int denoise; int deblock; + int grayscale; } fPictureFilterSettings; - - id delegate; - - /* Movie Previews */ - IBOutlet NSButton * fCreatePreviewMovieButton; - IBOutlet NSButton * fShowPreviewMovieButton; - NSString * fPreviewMoviePath; - IBOutlet NSProgressIndicator * fMovieCreationProgressIndicator; - hb_handle_t * fPreviewLibhb; // private libhb for creating previews - NSTimer * fLibhbTimer; // timer for retrieving state from libhb - IBOutlet NSTextField * fPreviewMovieStatusField; - BOOL play_movie; // flag used to determine whether or not to automatically play the movie when done. - IBOutlet QTMovieView * fMovieView; - IBOutlet NSPopUpButton * fPreviewMovieLengthPopUp; // popup of choices for length of preview in seconds + } -- (id)initWithDelegate:(id)del; +- (id)init; - (void) SetHandle: (hb_handle_t *) handle; - (void) SetTitle: (hb_title_t *) title; -- (void) setInitialPictureFilters; -- (void) displayPreview; +- (void)setHBController: (HBController *)controller; +- (IBAction) showPictureWindow: (id)sender; +- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem; +- (IBAction) resizeInspectorForTab: (id)sender; +- (IBAction) showPreviewWindow: (id)sender; +- (BOOL) previewFullScreenMode; +- (IBAction) previewGoWindowed: (id)sender; -- (IBAction) SettingsChanged: (id) sender; -- (IBAction) pictureSliderChanged: (id) sender; - -/* Movie Previews */ -- (void) startReceivingLibhbNotifications; -- (void) stopReceivingLibhbNotifications; +- (IBAction) adjustSizingDisplay: (id) sender; -- (IBAction) createMoviePreview: (id) sender; -- (void) libhbStateChanged: (hb_state_t &) state; -- (IBAction) showMoviePreview: (NSString *) path; -- (IBAction) previewDurationPopUpChanged: (id) sender; +- (IBAction) SettingsChanged: (id) sender; -- (IBAction) ClosePanel: (id) sender; +- (NSString*) getPictureSizeInfoString; +- (void)reloadStillPreview; - (BOOL) autoCrop; - (void) setAutoCrop: (BOOL) setting; - (BOOL) allowLooseAnamorphic; - (void) setAllowLooseAnamorphic: (BOOL) setting; + +- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title; +- (IBAction) storageLinkChanged: (id) sender; +- (IBAction) parLinkChanged: (id) sender; +- (IBAction) displayLinkChanged: (id) sender; +- (void) setToFullScreenMode; +- (void) setToWindowedMode; + +/* Filter Actions */ +- (void) setInitialPictureFilters; +- (IBAction) FilterSettingsChanged: (id) sender; +- (IBAction) adjustFilterDisplay: (id) sender; +- (IBAction) modeDecombDeinterlaceSliderChanged: (id) sender; - (IBAction) deblockSliderChanged: (id) sender; + - (int) detelecine; +- (NSString*) detelecineCustomString; - (void) setDetelecine: (int) setting; -- (int) deinterlace; -- (void) setDeinterlace: (int) setting; +- (void) setDetelecineCustomString: (NSString*) string; + +- (int) useDecomb; +- (void) setUseDecomb: (int) setting; + - (int) decomb; +- (NSString*) decombCustomString; - (void) setDecomb: (int) setting; +- (void) setDecombCustomString: (NSString*) string; + +- (int) deinterlace; +- (NSString*) deinterlaceCustomString; +- (void) setDeinterlace: (int) setting; +- (void) setDeinterlaceCustomString: (NSString*) string; + - (int) denoise; +- (NSString*) denoiseCustomString; - (void) setDenoise: (int) setting; +- (void) setDenoiseCustomString: (NSString*) string; + - (int) deblock; - (void) setDeblock: (int) setting; -- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title; +- (int) grayscale; +- (void) setGrayscale: (int) setting; + -+ (NSImage *) makeImageForPicture: (int)pictureIndex - libhb:(hb_handle_t*)handle - title:(hb_title_t*)title - removeBorders:(BOOL)removeBorders; -- (NSImage *) imageForPicture: (int) pictureIndex; -- (void) purgeImageCache; -@end -@interface NSObject (PictureControllertDelegateMethod) -- (void)pictureSettingsDidChange; -- (void)prepareJobForPreview; @end +