/* $Id: Controller.h,v 1.35 2005/08/01 14:29:50 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. */
#import <Cocoa/Cocoa.h>
#import "HBPresets.h"
@class HBOutputPanelController;
-//------------------------------------------------------------------------------------
-// As usual, we need to subclass NSOutlineView to handle a few special cases:
-//
-// (1) variable row heights during live resizes
-// HBQueueOutlineView exists solely to get around a bug in variable row height outline
-// views in which row heights get messed up during live resizes. See this discussion:
-// http://lists.apple.com/archives/cocoa-dev/2005/Oct/msg00871.html
-// However, the recommeneded fix (override drawRect:) does not work. Instead, this
-// subclass implements viewDidEndLiveResize in order to recalculate all row heights.
-//
-// (2) prevent expanding of items during drags
-// During dragging operations, we don't want outline items to expand, since a queue
-// doesn't really have children items.
-//
-// (3) generate a drag image that incorporates more than just the first column
-// By default, NSTableView only drags an image of the first column. Change this to
-// drag an image of the queue's icon and desc columns.
+/* We subclass NSView so that our drags show both the icon as well as PresetName columns */
@interface HBPresetsOutlineView : NSOutlineView
{
-//#if HB_QUEUE_DRAGGING
+
BOOL fIsDragging;
-//#endif
+
}
@end
@interface HBController : NSObject <GrowlApplicationBridgeDelegate>
{
IBOutlet NSWindow * fWindow;
- NSToolbar * toolbar;
-
+
/* Main Menu Outlets */
NSMenuItem * fOpenSourceTitleMMenu;
/* Destination box */
IBOutlet NSTextField * fDstFormatField;
IBOutlet NSPopUpButton * fDstFormatPopUp;
- IBOutlet NSTextField * fDstCodecsField;
- IBOutlet NSPopUpButton * fDstCodecsPopUp;
+
IBOutlet NSTextField * fDstFile1Field;
IBOutlet NSTextField * fDstFile2Field;
IBOutlet NSButton * fDstBrowseButton;
IBOutlet NSTextField * fPicLabelAutoCrop;
IBOutlet NSTextField * fPicLabelDetelecine;
IBOutlet NSTextField * fPicLabelDeinterlace;
+ IBOutlet NSTextField * fPicLabelDecomb;
IBOutlet NSTextField * fPicLabelDenoise;
IBOutlet NSTextField * fPicLabelDeblock;
IBOutlet NSTextField * fPicSettingDeinterlace;
+ IBOutlet NSTextField * fPicSettingDecomb;
IBOutlet NSTextField * fPicSettingARkeep;
IBOutlet NSTextField * fPicSettingPAR;
IBOutlet NSTextField * fPicSettingAutoCrop;
IBOutlet NSButton * fSubForcedCheck;
/* Audio box */
- IBOutlet NSTextField * fAudLang1Field;
+ /* 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 NSTextField * fAudLang2Field;
IBOutlet NSPopUpButton * fAudLang2PopUp;
- /* New Audio Mix PopUps */
- /* Track info */
- IBOutlet NSTextField * fAudTrack1MixLabel;
+ 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 NSTextField * fAudTrack2MixLabel;
- IBOutlet NSPopUpButton * fAudTrack2MixPopUp;
+ IBOutlet NSPopUpButton * fAudTrack2MixPopUp;
+ IBOutlet NSPopUpButton * fAudTrack3MixPopUp;
+ IBOutlet NSPopUpButton * fAudTrack4MixPopUp;
- /* Quality info */
- IBOutlet NSTextField * fAudRateField;
- IBOutlet NSPopUpButton * fAudRatePopUp;
- IBOutlet NSTextField * fAudBitrateField;
- IBOutlet NSPopUpButton * fAudBitratePopUp;
- /*Dynamic Range Compression */
- IBOutlet NSSlider * fAudDrcSlider;
- IBOutlet NSTextField * fAudDrcField;
- IBOutlet NSTextField * fAudDrcLabel;
- IBOutlet NSTextField * fAudDrcDescLabel1;
- IBOutlet NSTextField * fAudDrcDescLabel2;
- IBOutlet NSTextField * fAudDrcDescLabel3;
- IBOutlet NSTextField * fAudDrcDescLabel4;
+ /* 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;
/* Chapters box */
IBOutlet NSButton * fCreateChapterMarkers;
IBOutlet NSPanel * fAddPresetPanel;
/* new NSOutline View for the presets */
NSArray *fDraggedNodes;
- //IBOutlet NSOutlineView * fPresetsOutlineView; // <-- Old assignment before subclassing
IBOutlet HBPresetsOutlineView * fPresetsOutlineView;
IBOutlet NSButton * fPresetsAdd;
IBOutlet NSButton * fPresetsDelete;
- (void) performScan:(NSString *) scanPath scanTitleNum: (int) scanTitleNum;
- (IBAction) showNewScan: (id) sender;
-- (void) TranslateStrings;
-
- (void) updateUI: (NSTimer *) timer;
- (void) enableUI: (bool) enable;
- (IBAction) chapterPopUpChanged: (id) sender;
- (IBAction) formatPopUpChanged: (id) sender;
-- (IBAction) codecsPopUpChanged: (id) sender;
-- (IBAction) encoderPopUpChanged: (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)deletePreset:(id)sender;
- (IBAction)getDefaultPresets:(id)sender;
-
+-(void)sendToMetaX:(NSString *) filePath;
// Growl methods
- (NSDictionary *) registrationDictionaryForGrowl;
--(IBAction)showGrowlDoneNotification:(id)sender;
+-(void)showGrowlDoneNotification:(NSString *) filePath;
- (IBAction)showDebugOutputPanel:(id)sender;
- (void)setupToolbar;