OSDN Git Service

Added buffer management and changed fifo sizes. Changed job->subtitle_scan to job...
[handbrake-jp/handbrake-jp-git.git] / macosx / Controller.h
index c415f98..dd985a7 100644 (file)
@@ -4,42 +4,45 @@
    Homepage: <http://handbrake.m0k.org/>.
    It may be used under the terms of the GNU General Public License. */
 
-#include <Cocoa/Cocoa.h>
-#include <Growl/Growl.h>
+#import <Cocoa/Cocoa.h>
+#import <Growl/Growl.h>
 
 #include "hb.h"
 
-
-#include "ChapterTitles.h"
-#include "ScanController.h"
-#include "PictureController.h"
-#include "QueueController.h"
+#import "ChapterTitles.h"
+#import "PictureController.h"
+#import "HBQueueController.h"
 #import "MVMenuButton.h"
+#import "HBAdvancedController.h"
+#import "HBPreferencesController.h"
+
 @class HBOutputPanelController;
 
 @interface HBController : NSObject <GrowlApplicationBridgeDelegate>
 
 {
     IBOutlet NSWindow            * fWindow;
-       
-    /* Scan panel */
-       IBOutlet ScanController      * fScanController;
-    IBOutlet NSPanel             * fScanPanel;
-       
+    NSToolbar                    * toolbar;
+    
     /* Picture panel */
-    IBOutlet PictureController   * fPictureController;
-    IBOutlet NSPanel             * fPicturePanel;
-       
+    PictureController            * fPictureController;
+    
+    /* Advanced options tab */
+    HBAdvancedController         * fAdvancedOptions;
+       IBOutlet NSBox               * fAdvancedView;
+
+    HBPreferencesController      * fPreferencesController;
+    
     /* Queue panel */
-    IBOutlet QueueController     * fQueueController;
-    IBOutlet NSPanel             * fQueuePanel;
+    HBQueueController            * fQueueController;
     IBOutlet NSTextField         * fQueueStatus;
+    
+    /* Output panel */
+    HBOutputPanelController       *outputPanel;
        
     /* Source box */
        IBOutlet NSProgressIndicator * fScanIndicator;
        NSString                     * sourceDisplayName;
-       IBOutlet NSTextField         * fScanStatus;
-    IBOutlet NSTextField         * fSrcDVD1Field;
     IBOutlet NSTextField         * fSrcDVD2Field;
     IBOutlet NSTextField         * fSrcTitleField;
     IBOutlet NSPopUpButton       * fSrcTitlePopUp;
        IBOutlet NSTextField         * fPicLabelSrc;
        IBOutlet NSTextField         * fPicLabelOutp;
        IBOutlet NSTextField         * fPicLabelAr;
-       IBOutlet NSTextField         * fPicLabelDeinter;
        IBOutlet NSTextField         * fPicLabelSrcX;
        IBOutlet NSTextField         * fPicLabelOutputX;
+       IBOutlet NSTextField         * fPicLabelAutoCrop;
+    IBOutlet NSTextField         * fPicLabelDetelecine;
+       IBOutlet NSTextField         * fPicLabelDeinterlace;
+    IBOutlet NSTextField         * fPicLabelDenoise;
        
        IBOutlet NSTextField         * fPicSrcWidth;
        IBOutlet NSTextField         * fPicSrcHeight;
        IBOutlet NSTextField         * fPicSettingWidth;
        IBOutlet NSTextField         * fPicSettingHeight;
+       IBOutlet NSTextField         * fPicSettingDeinterlace;
        IBOutlet NSTextField         * fPicSettingARkeep;
        IBOutlet NSTextField         * fPicSettingPAR;
-       IBOutlet NSTextField         * fPicSettingDeinterlace;
-       IBOutlet NSTextField         * fPicSettingARkeepDsply;
-       IBOutlet NSTextField         * fPicSettingPARDsply;
-       IBOutlet NSTextField         * fPicSettingAutoCropLabel;
        IBOutlet NSTextField         * fPicSettingAutoCrop;
-       IBOutlet NSTextField         * fPicSettingAutoCropDsply;
-       IBOutlet NSTextField         * fPicSettingDeinterlaceDsply;
+       IBOutlet NSTextField         * fPicSettingDetelecine;
+       IBOutlet NSTextField         * fPicSettingDenoise;
+
        IBOutlet NSTextField         * fPicLabelAnamorphic;
-       IBOutlet NSTextField         * fPicLabelPAROutp;
        IBOutlet NSTextField         * fPicLabelPAROutputX;
        IBOutlet NSTextField         * fPicSettingPARWidth;
        IBOutlet NSTextField         * fPicSettingPARHeight;
     /* Subtitles box */
     IBOutlet NSTextField         * fSubField;
     IBOutlet NSPopUpButton       * fSubPopUp;
+       IBOutlet NSButton            * fSubForcedCheck;
        
     /* Audio box */
     IBOutlet NSTextField         * fAudLang1Field;
     /* Chapters box */
     IBOutlet NSButton            * fCreateChapterMarkers;
     IBOutlet NSTableView         * fChapterTable;
-       ChapterTitles       * fChapterTitlesDelegate;
+       ChapterTitles                * fChapterTitlesDelegate;
        
     /* Bottom */
     IBOutlet NSButton            * fPictureButton;
     IBOutlet NSTextField         * fStatusField;
     IBOutlet NSProgressIndicator * fRipIndicator;
-    IBOutlet NSButton            * fShowQuButton;
-    IBOutlet NSButton            * fAddToQuButton;
-    IBOutlet NSButton            * fPauseButton;
-    IBOutlet NSButton            * fRipButton;
-       
-       /* Advanced Tab for opts fX264optView*/
-       IBOutlet NSView              * fX264optView;
-       IBOutlet NSTextField         * fX264optViewTitleLabel;
-       IBOutlet NSTextField         * fDisplayX264OptionsLabel;
-       IBOutlet NSTextField         * fDisplayX264Options;
-       IBOutlet NSTextField         * fX264optBframesLabel;
-       IBOutlet NSPopUpButton       * fX264optBframesPopUp;
-       IBOutlet NSTextField         * fX264optRefLabel;
-       IBOutlet NSPopUpButton       * fX264optRefPopUp;
-       IBOutlet NSTextField         * fX264optNfpskipLabel;
-       IBOutlet NSButton            * fX264optNfpskipSwitch;
-       IBOutlet NSTextField         * fX264optNodctdcmtLabel;
-       IBOutlet NSButton            * fX264optNodctdcmtSwitch;
-       IBOutlet NSTextField         * fX264optSubmeLabel;
-       IBOutlet NSPopUpButton       * fX264optSubmePopUp;
-       IBOutlet NSTextField         * fX264optTrellisLabel;
-       IBOutlet NSPopUpButton       * fX264optTrellisPopUp;
-    IBOutlet NSTextField         * fX264optMixedRefsLabel;
-    IBOutlet NSButton            * fX264optMixedRefsSwitch;
-    IBOutlet NSTextField         * fX264optMotionEstLabel;
-    IBOutlet NSPopUpButton       * fX264optMotionEstPopUp;
-    IBOutlet NSTextField         * fX264optMERangeLabel;
-    IBOutlet NSPopUpButton       * fX264optMERangePopUp;
-    IBOutlet NSTextField         * fX264optWeightBLabel;
-    IBOutlet NSButton            * fX264optWeightBSwitch;
-    IBOutlet NSTextField         * fX264optBRDOLabel;
-    IBOutlet NSButton            * fX264optBRDOSwitch;
-    IBOutlet NSTextField         * fX264optBPyramidLabel;
-    IBOutlet NSButton            * fX264optBPyramidSwitch;
-    IBOutlet NSTextField         * fX264optBiMELabel;
-    IBOutlet NSButton            * fX264optBiMESwitch;
-    IBOutlet NSTextField         * fX264optDirectPredLabel;
-    IBOutlet NSPopUpButton       * fX264optDirectPredPopUp;
-    IBOutlet NSTextField         * fX264optDeblockLabel;
-    IBOutlet NSPopUpButton       * fX264optAlphaDeblockPopUp;
-    IBOutlet NSPopUpButton       * fX264optBetaDeblockPopUp;
-    IBOutlet NSTextField         * fX264optAnalyseLabel;
-    IBOutlet NSPopUpButton       * fX264optAnalysePopUp;
-    IBOutlet NSTextField         * fX264opt8x8dctLabel;
-    IBOutlet NSButton            * fX264opt8x8dctSwitch;
-    IBOutlet NSTextField         * fX264optCabacLabel;
-    IBOutlet NSButton            * fX264optCabacSwitch;
+       BOOL                           fRipIndicatorShown;
     
        /* User Preset variables here */
        
        
        NSString                     * AppSupportDirectory;
        NSString                     * UserPresetsFile;
-       NSString                     * x264ProfilesFile;
        NSMutableArray               * UserPresets;
-       NSMutableArray               * x264Profiles;
        NSMutableArray               * UserPresetssortedArray;
        NSMutableDictionary          * chosenPreset;
     int                            curUserPresetChosenNum;
        IBOutlet NSTableView         * tableView;
        IBOutlet NSButton            * fPresetsAdd;
        IBOutlet NSButton            * fPresetsDelete;
-    IBOutlet MVMenuButton           * fPresetsActionButton;
-    IBOutlet NSMenu                         * fPresetsActionMenu;
+    IBOutlet MVMenuButton        * fPresetsActionButton;
+    IBOutlet NSMenu              * fPresetsActionMenu;
        
     hb_handle_t                  * fHandle;
        hb_title_t                   * fTitle;
     int                            fEncodeState;
        int                            currentScanCount;
        int                            currentSuccessfulScanCount;
+    int                            SuccessfulScan;
        NSString                      * currentSource;
-       HBOutputPanelController *outputPanel;
        
-       BOOL                         startButtonEnabled;
-    BOOL                         pauseButtonEnabled;
-    BOOL                         AddToQueueButtonEnabled;
-       BOOL                         stopOrStart;
-       BOOL                         resumeOrPause;
+    hb_job_t                     * fLastKnownCurrentJob;
 }
 
 - (void)     TranslateStrings;
 
-- (void)     UpdateUI: (NSTimer *) timer;
-- (void)     EnableUI: (bool) enable;
-- (IBAction) ShowNewScan: (id) sender;
-- (IBAction) ShowScanPanel: (id) sender;
-
-- (IBAction) TitlePopUpChanged: (id) sender;
-- (IBAction) ChapterPopUpChanged: (id) sender;
+- (void)     updateUI: (NSTimer *) timer;
+- (void)     enableUI: (bool) enable;
+- (IBAction) showNewScan: (id) sender;
+- (IBAction) showScanPanel: (id) sender;
+- (IBAction) browseSources: (id) sender;
+- (void) browseSourcesDone: (NSOpenPanel *) sheet
+    returnCode: (int) returnCode contextInfo: (void *) contextInfo;
+    
+- (IBAction) titlePopUpChanged: (id) sender;
+- (IBAction) chapterPopUpChanged: (id) sender;
 
-- (IBAction) FormatPopUpChanged: (id) sender;
-- (IBAction) CodecsPopUpChanged: (id) sender;
-- (IBAction) EncoderPopUpChanged: (id) sender;
-- (IBAction) TwoPassCheckboxChanged: (id) sender;
-- (IBAction) SetEnabledStateOfAudioMixdownControls: (id) sender;
-- (IBAction) AddAllAudioTracksToPopUp: (id) sender;
-- (IBAction) SelectAudioTrackInPopUp: (id) sender searchPrefixString: (NSString *) searchPrefixString selectIndexIfNotFound: (int) selectIndexIfNotFound;
-- (IBAction) AudioTrackPopUpChanged: (id) sender;
-- (IBAction) AudioTrackPopUpChanged: (id) sender mixdownToUse: (int) mixdownToUse;
-- (IBAction) AudioTrackMixdownChanged: (id) sender;
+- (IBAction) formatPopUpChanged: (id) sender;
+- (IBAction) codecsPopUpChanged: (id) sender;
+- (IBAction) encoderPopUpChanged: (id) sender;
+- (IBAction) twoPassCheckboxChanged: (id) sender;
+- (IBAction) videoFrameRateChanged: (id) sender;
+- (IBAction) setEnabledStateOfAudioMixdownControls: (id) sender;
+- (IBAction) addAllAudioTracksToPopUp: (id) sender;
+- (IBAction) selectAudioTrackInPopUp: (id) sender searchPrefixString: (NSString *) searchPrefixString selectIndexIfNotFound: (int) selectIndexIfNotFound;
+- (IBAction) audioTrackPopUpChanged: (id) sender;
+- (IBAction) audioTrackPopUpChanged: (id) sender mixdownToUse: (int) mixdownToUse;
+- (IBAction) audioTrackMixdownChanged: (id) sender;
+- (IBAction) subtitleSelectionChanged: (id) sender;
 
-- (IBAction) BrowseFile: (id) sender;
-- (void)     BrowseFileDone: (NSSavePanel *) sheet
+- (IBAction) browseFile: (id) sender;
+- (void)     browseFileDone: (NSSavePanel *) sheet
     returnCode: (int) returnCode contextInfo: (void *) contextInfo;
 
-- (IBAction) VideoMatrixChanged: (id) sender;
-- (IBAction) QualitySliderChanged: (id) sender;
+- (IBAction) videoMatrixChanged: (id) sender;
+- (IBAction) qualitySliderChanged: (id) sender;
+
+- (IBAction) showPicturePanel: (id) sender;
+- (IBAction) calculatePictureSizing: (id) sender;
+- (IBAction) openMainWindow: (id) sender;
 
-- (IBAction) ShowPicturePanel: (id) sender;
-- (IBAction) CalculatePictureSizing: (id) sender;
-- (IBAction) OpenMainWindow: (id) sender;
+- (IBAction) addToQueue: (id) sender;
+- (IBAction) showQueueWindow:(id)sender;
 
-- (IBAction) AddToQueue: (id) sender;
-- (IBAction) ShowQueuePanel: (id) sender;
+- (IBAction)showPreferencesWindow:(id)sender;
 
 - (IBAction) Rip: (id) sender;
-- (void)     OverwriteAlertDone: (NSWindow *) sheet
+- (void)     overWriteAlertDone: (NSWindow *) sheet
     returnCode: (int) returnCode contextInfo: (void *) contextInfo;
-- (void)     UpdateAlertDone: (NSWindow *) sheet
+- (void)     updateAlertDone: (NSWindow *) sheet
     returnCode: (int) returnCode contextInfo: (void *) contextInfo;
 - (void)     _Rip;
 - (IBAction) Cancel: (id) sender;
     contextInfo: (void *) contextInfo;
 - (IBAction) Pause: (id) sender;
 
-- (IBAction) CalculateBitrate: (id) sender;
-- (void) controlTextDidBeginEditing: (NSNotification *) notification;
-- (void) controlTextDidEndEditing: (NSNotification *) notification;
+- (IBAction) calculateBitrate: (id) sender;
 - (void) controlTextDidChange: (NSNotification *) notification;
 
-- (IBAction) OpenHomepage: (id) sender;
-- (IBAction) OpenForums:   (id) sender;
-- (IBAction) OpenUserGuide:   (id) sender;
-
-// x264 Advanced Panel Methods
-- (IBAction) X264AdvancedOptionsSet: (id) sender;
-- (IBAction) X264AdvancedOptionsStandardizeOptString: (id) sender;
-- (IBAction) X264AdvancedOptionsSetCurrentSettings: (id) sender;
-- (NSString *)  X264AdvancedOptionsStandardizeOptNames:(NSString *) cleanOptNameString;
-- (IBAction) X264AdvancedOptionsChanged: (id) sender;
+- (IBAction) openHomepage: (id) sender;
+- (IBAction) openForums:   (id) sender;
+- (IBAction) openUserGuide:   (id) sender;
 
 // Preset Methods Here
-- (IBAction) CustomSettingUsed: (id) sender;
-- (IBAction) ShowAddPresetPanel: (id) sender;
-- (IBAction) CloseAddPresetPanel: (id) sender;
-- (NSDictionary *)CreatePreset;
-- (NSDictionary *)CreateIpodLowPreset;
-- (NSDictionary *)CreateIpodHighPreset;
-- (NSDictionary *)CreateAppleTVPreset;
-- (NSDictionary *)CreatePSThreePreset;  
-- (NSDictionary *)CreatePSPPreset;
-- (NSDictionary *)CreateNormalPreset;
-- (NSDictionary *)CreateClassicPreset;
-- (NSDictionary *)CreateQuickTimePreset;
-- (NSDictionary *)CreateFilmPreset;
-- (NSDictionary *)CreateTelevisionPreset;
-- (NSDictionary *)CreateAnimationPreset;
-- (NSDictionary *)CreateBedlamPreset;
-- (NSDictionary *)CreateiPhonePreset;
-- (NSDictionary *)CreateDeuxSixQuatrePreset;
-- (NSDictionary *)CreateBrokePreset;
-- (NSDictionary *)CreateBlindPreset;
+- (void) loadPresets;
+- (IBAction) customSettingUsed: (id) sender;
+- (IBAction) showAddPresetPanel: (id) sender;
+- (IBAction) closeAddPresetPanel: (id) sender;
+- (NSDictionary *)createPreset;
+- (NSDictionary *)createIpodLowPreset;
+- (NSDictionary *)createIpodHighPreset;
+- (NSDictionary *)createAppleTVPreset;
+- (NSDictionary *)createPSThreePreset;  
+- (NSDictionary *)createPSPPreset;
+- (NSDictionary *)createNormalPreset;
+- (NSDictionary *)createClassicPreset;
+- (NSDictionary *)createQuickTimePreset;
+- (NSDictionary *)createFilmPreset;
+- (NSDictionary *)createTelevisionPreset;
+- (NSDictionary *)createAnimationPreset;
+- (NSDictionary *)createBedlamPreset;
+- (NSDictionary *)createiPhonePreset;
+- (NSDictionary *)createDeuxSixQuatrePreset;
+- (NSDictionary *)createBrokePreset;
+- (NSDictionary *)createBlindPreset;
+- (NSDictionary *)createCRFPreset;
 
-- (IBAction) RevertPictureSizeToMax:(id)sender;
+- (IBAction) revertPictureSizeToMax:(id)sender;
 
-- (IBAction)SetDefaultPreset:(id)sender;
-- (IBAction)SelectDefaultPreset:(id)sender;
+- (IBAction)setDefaultPreset:(id)sender;
+- (IBAction)selectDefaultPreset:(id)sender;
 - (void) savePreset;
-- (IBAction)AddFactoryPresets:(id)sender;
-- (IBAction)DeleteFactoryPresets:(id)sender;
-- (IBAction)AddUserPreset:(id)sender;
-- (void)AddPreset;
-- (IBAction)InsertPreset:(id)sender;
-- (IBAction)DeletePreset:(id)sender;
-- (IBAction)GetDefaultPresets:(id)sender;
+- (IBAction)addFactoryPresets:(id)sender;
+- (IBAction)deleteFactoryPresets:(id)sender;
+- (IBAction)addUserPreset:(id)sender;
+- (void)addPreset;
+- (IBAction)insertPreset:(id)sender;
+- (IBAction)deletePreset:(id)sender;
+- (IBAction)getDefaultPresets:(id)sender;
 - (IBAction)tableViewSelected:(id)sender;
+
 // NSTableDataSource methods
 - (int)numberOfRowsInTableView:(NSTableView *)aTableView;
 - (id)tableView:(NSTableView *)aTableView