OSDN Git Service

import original 0.9.5 release
[handbrake-jp/handbrake-jp.git] / macosx / Controller.h
index 07a0272..7bdc3c3 100644 (file)
 #import "HBAdvancedController.h"
 #import "HBPreferencesController.h"
 #import "HBPresets.h"
+#import "HBAudioController.h"
+
+extern NSString *HBContainerChangedNotification;
+extern NSString *keyContainerTag;
+extern NSString *HBTitleChangedNotification;
+extern NSString *keyTitleTag;
 
 @class HBOutputPanelController;
 
@@ -77,10 +83,21 @@ BOOL                        fIsDragging;
     IBOutlet NSTextField         * fSrcAngleLabel;
     IBOutlet NSPopUpButton       * fSrcAnglePopUp;
     
+    /* Source start and end points */
+    IBOutlet NSPopUpButton       * fEncodeStartStopPopUp;
+    /* pts based start / stop */
+    IBOutlet NSTextField         * fSrcTimeStartEncodingField;
+    IBOutlet NSTextField         * fSrcTimeEndEncodingField;
+    /* frame based based start / stop */
+    IBOutlet NSTextField         * fSrcFrameStartEncodingField;
+    IBOutlet NSTextField         * fSrcFrameEndEncodingField;
+    
     IBOutlet NSTextField         * fSrcChapterField;
     IBOutlet NSPopUpButton       * fSrcChapterStartPopUp;
     IBOutlet NSTextField         * fSrcChapterToField;
     IBOutlet NSPopUpButton       * fSrcChapterEndPopUp;
+    
+    /* Source duration information */
     IBOutlet NSTextField         * fSrcDuration1Field;
     IBOutlet NSTextField         * fSrcDuration2Field;
        
@@ -100,6 +117,8 @@ BOOL                        fIsDragging;
     IBOutlet NSButton            * fDstMp4iPodFileCheck;
        
     /* Video box */
+    IBOutlet NSButton            * fFrameratePfrCheck;
+    
     IBOutlet NSTextField         * fVidRateField;
     IBOutlet NSPopUpButton       * fVidRatePopUp;
     IBOutlet NSTextField         * fVidEncoderField;
@@ -141,64 +160,15 @@ BOOL                        fIsDragging;
        HBSubtitles                  * fSubtitlesDelegate;
     IBOutlet NSButton            * fBrowseSrtFileButton;
     
-       
-    /* Audio box */
-    /* Track Labels */
-    IBOutlet NSTextField         * fAudSourceLabel;
-    IBOutlet NSTextField         * fAudCodecLabel;
-    IBOutlet NSTextField         * fAudMixdownLabel;
-    IBOutlet NSTextField         * fAudSamplerateLabel;
-    IBOutlet NSTextField         * fAudBitrateLabel;
-    IBOutlet NSTextField         * fAudDrcLabel;
-    
-    IBOutlet NSTextField         * fAudTrack1Label;
-    IBOutlet NSTextField         * fAudTrack2Label;
-    IBOutlet NSTextField         * fAudTrack3Label;
-    IBOutlet NSTextField         * fAudTrack4Label;
-    
-    /* Source Audio PopUps */
-    IBOutlet NSPopUpButton       * fAudLang1PopUp;
-    IBOutlet NSPopUpButton       * fAudLang2PopUp;
-    IBOutlet NSPopUpButton       * fAudLang3PopUp;
-    IBOutlet NSPopUpButton       * fAudLang4PopUp;
-    
-    /* Codec Popups */
-    IBOutlet NSPopUpButton       * fAudTrack1CodecPopUp;
-    IBOutlet NSPopUpButton       * fAudTrack2CodecPopUp;
-    IBOutlet NSPopUpButton       * fAudTrack3CodecPopUp;
-    IBOutlet NSPopUpButton       * fAudTrack4CodecPopUp;
-    
-       /* Mixdown PopUps */
-       IBOutlet NSPopUpButton       * fAudTrack1MixPopUp;
-    IBOutlet NSPopUpButton       * fAudTrack2MixPopUp;
-    IBOutlet NSPopUpButton       * fAudTrack3MixPopUp;
-    IBOutlet NSPopUpButton       * fAudTrack4MixPopUp;
-       
-    /* Samplerate PopUps */
-       IBOutlet NSPopUpButton       * fAudTrack1RatePopUp;
-    IBOutlet NSPopUpButton       * fAudTrack2RatePopUp;
-    IBOutlet NSPopUpButton       * fAudTrack3RatePopUp;
-    IBOutlet NSPopUpButton       * fAudTrack4RatePopUp;
-    
-    /* Bitrate PopUps */
-    IBOutlet NSPopUpButton       * fAudTrack1BitratePopUp;
-    IBOutlet NSPopUpButton       * fAudTrack2BitratePopUp;
-    IBOutlet NSPopUpButton       * fAudTrack3BitratePopUp;
-    IBOutlet NSPopUpButton       * fAudTrack4BitratePopUp;
-    
-    /* Dynamic Range Compression */
-    IBOutlet NSSlider            * fAudTrack1DrcSlider;
-    IBOutlet NSTextField         * fAudTrack1DrcField;
-    IBOutlet NSSlider            * fAudTrack2DrcSlider;
-    IBOutlet NSTextField         * fAudTrack2DrcField;
-    IBOutlet NSSlider            * fAudTrack3DrcSlider;
-    IBOutlet NSTextField         * fAudTrack3DrcField;
-    IBOutlet NSSlider            * fAudTrack4DrcSlider;
-    IBOutlet NSTextField         * fAudTrack4DrcField;
-    
+       /* New Audio box */
+       IBOutlet HBAudioController   * fAudioDelegate;
+           
     /* Chapters box */
     IBOutlet NSButton            * fCreateChapterMarkers;
     IBOutlet NSTableView         * fChapterTable;
+       IBOutlet NSButton            * fLoadChaptersButton;
+       IBOutlet NSButton            * fSaveChaptersButton;
+       IBOutlet NSTableColumn       * fChapterTableNameColumn;
        ChapterTitles                * fChapterTitlesDelegate;
        
     /* Bottom */
@@ -217,6 +187,10 @@ BOOL                        fIsDragging;
        IBOutlet NSTextField         * fPresetNewName;
        IBOutlet NSTextField         * fPresetNewDesc;
        IBOutlet NSPopUpButton       * fPresetNewPicSettingsPopUp;
+    IBOutlet NSTextField         * fPresetNewPicWidth;
+    IBOutlet NSTextField         * fPresetNewPicHeight;
+    IBOutlet NSBox               * fPresetNewPicWidthHeightBox;
+    
     IBOutlet NSButton            * fPresetNewPicFiltersCheck;
     IBOutlet NSButton            * fPresetNewFolderCheck;
        IBOutlet NSTextField         * fPresetSelectedDisplay;
@@ -232,7 +206,7 @@ BOOL                        fIsDragging;
        NSMutableDictionary          *presetUserDefault;// this is 2 in "Default" preset key
     NSMutableDictionary          *presetUserDefaultParent;
     NSMutableDictionary          *presetUserDefaultParentParent;
-    int                        presetCurrentBuiltInCount; // keeps track of the current number of built in presets
+    int                           presetCurrentBuiltInCount; // keeps track of the current number of built in presets
     IBOutlet NSPanel             * fAddPresetPanel;
        
     /* NSOutline View for the presets */
@@ -245,7 +219,8 @@ BOOL                        fIsDragging;
     hb_handle_t                  * fHandle;
     
     /* Queue variables */
-    hb_handle_t              * fQueueEncodeLibhb;           // libhb for HB Encoding
+    int                          hbInstanceNum; //stores the number of HandBrake instances currently running
+    hb_handle_t                  * fQueueEncodeLibhb;           // libhb for HB Encoding
        hb_title_t                   * fTitle;
     hb_title_t                   * fQueueEncodeTitle;
     int                          fEncodingQueueItem;     // corresponds to the index of fJobGroups encoding item
@@ -254,6 +229,9 @@ BOOL                        fIsDragging;
     int                          fCanceledCount;
     int                          fWorkingCount;
     
+    int                          fqueueEditRescanItemNum; // queue array item to be reloaded into the main window
+    int                          pidNum; // The pid number for this instance
+    NSString                     * currentQueueEncodeNameString;
     
     /* integer to set to determine the previous state
                of encode 0==idle, 1==encoding, 2==cancelled*/
@@ -263,11 +241,11 @@ BOOL                        fIsDragging;
     BOOL                           SuccessfulScan;
     BOOL                           applyQueueToScan;
        NSString                      * currentSource;
-    NSString                     * browsedSourceDisplayName;
+    NSString                      * browsedSourceDisplayName;
     
     double                         dockIconProgress;
 }
-
+- (int) getPidnum;
 - (IBAction) showAboutPanel:(id)sender;
 
 - (void) writeToActivityLog:(const char *) format, ...;
@@ -279,25 +257,23 @@ BOOL                        fIsDragging;
 - (void) performScan:(NSString *) scanPath scanTitleNum: (int) scanTitleNum;
 - (IBAction) showNewScan: (id) sender;
 
+
+- (IBAction) cancelScanning:(id)sender;
+
 - (void)     updateUI: (NSTimer *) timer;
 - (void)     enableUI: (bool) enable;
-
+- (IBAction) encodeStartStopPopUpChanged: (id) sender;
 - (IBAction) titlePopUpChanged: (id) sender;
 - (IBAction) chapterPopUpChanged: (id) sender;
+- (IBAction) startEndSecValueChanged: (id) sender;
+- (IBAction) startEndFrameValueChanged: (id) sender;
+
 
 - (IBAction) formatPopUpChanged: (id) sender;
 - (IBAction) videoEncoderPopUpChanged: (id) sender;
 - (IBAction) autoSetM4vExtension: (id) sender;
 - (IBAction) twoPassCheckboxChanged: (id) sender;
 - (IBAction) videoFrameRateChanged: (id) sender;
-- (IBAction) audioAddAudioTrackCodecs: (id)sender;
-- (IBAction) audioCodecsPopUpChanged: (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;
 - (void) prepareJob;
 - (IBAction) browseFile: (id) sender;
 - (void)     browseFileDone: (NSSavePanel *) sheet
@@ -308,7 +284,6 @@ BOOL                        fIsDragging;
 - (IBAction) qualitySliderChanged: (id) sender;
 - (void) setupQualitySlider;
 
-- (IBAction) audioDRCSliderChanged: (id) sender;
 - (IBAction) browseImportSrtFile: (id) sender;
 - (void) browseImportSrtFileDone: (NSSavePanel *) sheet
                      returnCode: (int) returnCode contextInfo: (void *) contextInfo;
@@ -329,7 +304,11 @@ BOOL                        fIsDragging;
 - (void) performNewQueueScan:(NSString *) scanPath scanTitleNum: (int) scanTitleNum;
 - (void) processNewQueueEncode;
 - (void) clearQueueEncodedItems;
-- (IBAction)applyQueueSettings:(id)sender;
+/* Queue Editing */
+- (IBAction)applyQueueSettingsToMainWindow:(id)sender;
+- (IBAction)rescanQueueItemToMainWindow:(NSString *) scanPath scanTitleNum: (int) scanTitleNum selectedQueueItem: (int) selectedQueueItem;
+
+
 - (void) removeQueueFileItem:(int) queueItemToRemove;
 - (void) clearQueueAllItems;
 - (void)moveObjectsInQueueArray:(NSMutableArray *)array fromIndexes:(NSIndexSet *)indexSet toIndex:(NSUInteger)insertIndex;
@@ -395,6 +374,7 @@ BOOL                        fIsDragging;
 - (void) loadPresets;
 - (IBAction) customSettingUsed: (id) sender;
 - (IBAction) showAddPresetPanel: (id) sender;
+- (IBAction) addPresetPicDropdownChanged: (id) sender;
 - (IBAction) closeAddPresetPanel: (id) sender;
 - (NSDictionary *)createPreset;
 
@@ -413,7 +393,7 @@ BOOL                        fIsDragging;
 - (IBAction)getDefaultPresets:(id)sender;
 
 -(void)sendToMetaX:(NSString *) filePath;
-    // Growl methods
+// Growl methods
 - (NSDictionary *) registrationDictionaryForGrowl;
 -(void)showGrowlDoneNotification:(NSString *) filePath;
 - (IBAction)showDebugOutputPanel:(id)sender;
@@ -426,8 +406,18 @@ BOOL                        fIsDragging;
 
 - (int) hbInstances;
 
+// Chapter files methods
+- (IBAction) browseForChapterFile: (id) sender;
+- (void)     browseForChapterFileDone: (NSOpenPanel *) sheet
+                 returnCode: (int) returnCode contextInfo: (void *) contextInfo;
 
+- (IBAction) browseForChapterFileSave: (id) sender;
+- (void)     browseForChapterFileSaveDone: (NSSavePanel *) sheet
+                 returnCode: (int) returnCode contextInfo: (void *) contextInfo;
 
++ (unsigned int) maximumNumberOfAllowedAudioTracks;
+@property (nonatomic, readonly) BOOL hasValidPresetSelected; 
+- (IBAction) addAllAudioTracks: (id) sender;
 
 @end