blob: c8dc6d0236435cf4836223c7872cdc8f2dafd6a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
/* $Id: HBPreviewController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
This file is part of the HandBrake source code.
Homepage: <http://handbrake.fr/>.
It may be used under the terms of the GNU General Public License. */
#import <Cocoa/Cocoa.h>
#include "hb.h"
/* Needed for Quicktime movie previews */
#import <QTKit/QTKit.h>
@class HBController;
#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate
@interface PreviewController : NSWindowController
{
hb_handle_t * fHandle;
hb_title_t * fTitle;
HBController *fHBController; // reference to HBController
IBOutlet NSWindow * fPreviewWindow;
NSWindow * fFullScreenWindow; // Full Screen window
NSMutableDictionary * fPicturePreviews; // NSImages, one for each preview libhb creates, created lazily
int fPicture;
IBOutlet NSImageView * fPictureView;
IBOutlet NSBox * fPictureViewArea;
IBOutlet NSBox * fPictureControlBox;
IBOutlet NSBox * fEncodingControlBox;
IBOutlet NSBox * fMoviePlaybackControlBox;
IBOutlet NSSlider * fPictureSlider;
IBOutlet NSTextField * fInfoField;
IBOutlet NSTextField * fscaleInfoField;
BOOL isEncoding;
int MaxOutputWidth;
int MaxOutputHeight;
int output_width, output_height, output_par_width, output_par_height;
int display_width;
/* Hud Control Overlay */
NSTimer * fHudTimer;
int hudTimerSeconds;
/* Full Screen Mode Toggle */
IBOutlet NSButton * fScaleToScreenToggleButton;
IBOutlet NSButton * fPictureSettingsToggleButton;
BOOL scaleToScreen;
/* Movie Previews */
QTMovie * aMovie;
IBOutlet QTMovieView * fMovieView;
/* Playback Panel Controls */
IBOutlet NSButton * fPlayPauseButton;
IBOutlet NSButton * fGoToBeginningButton;
IBOutlet NSButton * fGoToEndButton;
IBOutlet NSButton * fGoForwardOneFrameButton;
IBOutlet NSButton * fGoBackwardOneFrameButton;
IBOutlet NSSlider * fMovieScrubberSlider;
IBOutlet NSButton * fGoToStillPreviewButton;
IBOutlet NSTextField * fMovieInfoField;
NSTimer * fMovieTimer;
IBOutlet NSButton * fCreatePreviewMovieButton;
IBOutlet NSButton * fCancelPreviewMovieButton;
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;
IBOutlet NSPopUpButton * fPreviewMovieLengthPopUp; // popup of choices for length of preview in seconds
}
- (id)init;
- (void) SetHandle: (hb_handle_t *) handle;
- (void) SetTitle: (hb_title_t *) title;
- (void)setHBController: (HBController *)controller;
- (IBAction) showPreviewWindow: (id)sender;
- (BOOL)acceptsMouseMovedEvents;
- (void) displayPreview;
- (IBAction) SettingsChanged: (id) sender;
- (IBAction) pictureSliderChanged: (id) sender;
- (IBAction)showPictureSettings:(id)sender;
- (NSString*) pictureSizeInfoString;
- (IBAction)toggleScaleToScreen:(id)sender;
- (IBAction)goWindowedScreen:(id)sender;
/* HUD overlay */
- (void) startHudTimer;
- (void) stopHudTimer;
/* Movie Previews */
- (void) startReceivingLibhbNotifications;
- (void) stopReceivingLibhbNotifications;
- (void) installMovieCallbacks;
- (void)removeMovieCallbacks;
- (IBAction) createMoviePreview: (id) sender;
- (void) libhbStateChanged: (hb_state_t ) state;
- (IBAction) showMoviePreview: (NSString *) path;
- (IBAction) toggleMoviePreviewPlayPause: (id) sender;
- (IBAction) moviePlaybackGoToBeginning: (id) sender;
- (IBAction) moviePlaybackGoToEnd: (id) sender;
- (IBAction) moviePlaybackGoBackwardOneFrame: (id) sender;
- (IBAction) moviePlaybackGoForwardOneFrame: (id) sender;
-(void) initPreviewScrubberForMovie;
-(void) adjustPreviewScrubberForCurrentMovieTime;
- (IBAction) previewScrubberChanged: (id) sender;
-(void)setTime:(int)timeValue;
-(void)timeToQTTime:(long)timeValue resultTime:(QTTime *)aQTTime;
- (void) startMovieTimer;
- (void) stopMovieTimer;
- (NSString*) calculatePlaybackSMTPETimecodeForDisplay;
- (IBAction) previewDurationPopUpChanged: (id) sender;
- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title;
+ (NSImage *) makeImageForPicture: (int)pictureIndex
libhb:(hb_handle_t*)handle
title:(hb_title_t*)title;
- (NSImage *) imageForPicture: (int) pictureIndex;
- (void) purgeImageCache;
@end
|