OSDN Git Service

Add metadata support to libhb, add importing of MP4 metadata, add export of MP4 metad...
[handbrake-jp/handbrake-jp-git.git] / macosx / PictureController.h
index c9d5d50..631a1d1 100644 (file)
@@ -1,16 +1,18 @@
 /* $Id: PictureController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
 
    This file is part of the HandBrake source code.
-   Homepage: <http://handbrake.m0k.org/>.
+   Homepage: <http://handbrake.fr/>.
    It may be used under the terms of the GNU General Public License. */
 
-#include <Cocoa/Cocoa.h>
+#import <Cocoa/Cocoa.h>
 
 #include "hb.h"
+/* Needed for Quicktime movie previews */
+#import <QTKit/QTKit.h> 
 
-#define HB_NUM_HBLIB_PICTURES      10   // hbilb generates 10 preview pictures
+#define HB_NUM_HBLIB_PICTURES      20   // # of preview pictures libhb should generate
 
-@interface PictureController : NSObject
+@interface PictureController : NSWindowController
 {
     hb_handle_t              * fHandle;
     hb_title_t               * fTitle;
@@ -18,8 +20,6 @@
     NSMutableDictionary      * fPicturePreviews;        // NSImages, one for each preview libhb creates, created lazily
     int                        fPicture;
 
-    IBOutlet NSPanel         * fPicturePanel;
-
     IBOutlet NSImageView     * fPictureView;
     IBOutlet NSBox           * fPictureViewArea;
     IBOutlet NSTextField     * fWidthField;
     IBOutlet NSTextField     * fCropRightField;
     IBOutlet NSStepper       * fCropRightStepper;
     IBOutlet NSPopUpButton   * fDeinterlacePopUp;
+    IBOutlet NSButton        * fDecombCheck;
        IBOutlet NSButton        * fDetelecineCheck;
-    IBOutlet NSButton        * fVFRCheck;
     IBOutlet NSButton        * fDeblockCheck;
+    IBOutlet NSTextField     * fDeblockField;
+    IBOutlet NSSlider        * fDeblockSlider;
        IBOutlet NSPopUpButton   * fDenoisePopUp;
        IBOutlet NSPopUpButton   * fAnamorphicPopUp;
-    IBOutlet NSButton        * fPrevButton;
-    IBOutlet NSButton        * fNextButton;
+    IBOutlet NSSlider        * fPictureSlider;
     IBOutlet NSTextField     * fInfoField;
        
     int     MaxOutputWidth;
     
     struct {
         int     detelecine;
-        int     vfr;
         int     deinterlace;
+        int     decomb;
         int     denoise;
         int     deblock;
     } 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;
 
 - (void) displayPreview;
 
 - (IBAction) SettingsChanged: (id) sender;
-- (IBAction) PreviousPicture: (id) sender;
-- (IBAction) NextPicture: (id) sender;
+- (IBAction) pictureSliderChanged: (id) sender;
+
+/* Movie Previews */
+- (void) startReceivingLibhbNotifications;
+- (void) stopReceivingLibhbNotifications;
+
+- (IBAction) createMoviePreview: (id) sender;
+- (void) libhbStateChanged: (hb_state_t &) state;
+- (IBAction) showMoviePreview: (NSString *) path;
+- (IBAction) previewDurationPopUpChanged: (id) sender;
+
+
 - (IBAction) ClosePanel: (id) sender;
 
 - (BOOL) autoCrop;
 
 - (BOOL) allowLooseAnamorphic;
 - (void) setAllowLooseAnamorphic: (BOOL) setting;
-
+- (IBAction) deblockSliderChanged: (id) sender;
 - (int) detelecine;
 - (void) setDetelecine: (int) setting;
-- (int) vfr;
-- (void) setVFR: (int) setting;
 - (int) deinterlace;
 - (void) setDeinterlace: (int) setting;
+- (int) decomb;
+- (void) setDecomb: (int) setting;
 - (int) denoise;
 - (void) setDenoise: (int) setting;
 - (int) deblock;
 - (void) setDeblock: (int) setting;
 
-- (void)showPanelInWindow: (NSWindow *)fWindow forTitle: (hb_title_t *)title;
-- (BOOL) loadMyNibFile;
+- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
 
 + (NSImage *) makeImageForPicture: (int)pictureIndex
                 libhb:(hb_handle_t*)handle
 
 @interface NSObject (PictureControllertDelegateMethod)
 - (void)pictureSettingsDidChange;
+- (void)prepareJobForPreview;
 @end