• Main Page
  • Related Pages
  • Classes
  • Files
  • File List
  • File Members

macosx/HBPreviewController.h

Go to the documentation of this file.
00001 /* $Id: HBPreviewController.h,v 1.6 2005/04/14 20:40:05 titer Exp $
00002 
00003    This file is part of the HandBrake source code.
00004    Homepage: <http://handbrake.fr/>.
00005    It may be used under the terms of the GNU General Public License. */
00006 
00007 #import <Cocoa/Cocoa.h>
00008 
00009 #include "hb.h"
00010 /* Needed for Quicktime movie previews */
00011 #import <QTKit/QTKit.h> 
00012 
00013 @class HBController;
00014 
00015 @interface PreviewController : NSWindowController <NSWindowDelegate>
00016 {
00017     hb_handle_t              * fHandle;
00018     hb_title_t               * fTitle;
00019 
00020     HBController             * fHBController;     // reference to HBController
00021     
00022     NSMutableDictionary      * fPicturePreviews;  // NSImages, one for each preview libhb creates, created lazily
00023     int                        fPicture;
00024 
00025     CALayer                  * fWhiteBackground;
00026     CALayer                  * fPictureLayer;
00027     IBOutlet NSBox           * fPictureControlBox;
00028     IBOutlet NSBox           * fEncodingControlBox;
00029     IBOutlet NSBox           * fMoviePlaybackControlBox;
00030 
00031     IBOutlet NSSlider        * fPictureSlider;
00032     IBOutlet NSTextField     * fInfoField;
00033     IBOutlet NSTextField     * fscaleInfoField;
00034     
00035     CGFloat                  backingScaleFactor;
00036     
00037     /* Hud Control Overlay */
00038     NSTimer                         * fHudTimer;
00039     int                               hudTimerSeconds;
00040     
00041     /* Full Screen Mode Toggle */
00042     BOOL                              scaleToScreen;
00043     IBOutlet NSButton               * fScaleToScreenToggleButton;
00044     IBOutlet NSButton               * fPictureSettingsToggleButton;
00045     
00046     /* Movie Previews */
00047     QTMovie                         * aMovie;
00048     IBOutlet QTMovieView            * fMovieView;
00049     /* Playback Panel Controls */
00050     IBOutlet NSButton               * fPlayPauseButton;
00051     IBOutlet NSButton               * fGoToBeginningButton;
00052     IBOutlet NSButton               * fGoToEndButton;
00053     IBOutlet NSButton               * fGoForwardOneFrameButton;
00054     IBOutlet NSButton               * fGoBackwardOneFrameButton;
00055     IBOutlet NSSlider               * fMovieScrubberSlider;
00056     IBOutlet NSButton               * fGoToStillPreviewButton;
00057     IBOutlet NSTextField            * fMovieInfoField;
00058     NSTimer                         * fMovieTimer;
00059     
00060     IBOutlet NSButton               * fCreatePreviewMovieButton;
00061     IBOutlet NSButton               * fCancelPreviewMovieButton;
00062     IBOutlet NSButton               * fShowPreviewMovieButton;
00063     NSString                        * fPreviewMoviePath;
00064     IBOutlet NSProgressIndicator    * fMovieCreationProgressIndicator;
00065     hb_handle_t                     * fPreviewLibhb;           // private libhb for creating previews
00066     NSInteger                         fEncodeState;
00067     NSTimer                         * fLibhbTimer;             // timer for retrieving state from libhb
00068     IBOutlet NSTextField            * fPreviewMovieStatusField; 
00069     IBOutlet NSPopUpButton          * fPreviewMovieLengthPopUp; // popup of choices for length of preview in seconds
00070 }
00071 - (id)init;
00072 
00073 - (void) SetHandle: (hb_handle_t *) handle;
00074 - (void) SetTitle:  (hb_title_t *)  title;
00075 - (void) setHBController: (HBController *)controller;
00076 - (void) displayPreview;
00077 
00078 - (IBAction) settingsChanged: (id) sender;
00079 - (IBAction) pictureSliderChanged: (id) sender;
00080 - (IBAction) showPictureSettings:(id)sender;
00081 - (NSString*) pictureSizeInfoString;
00082 
00083 - (IBAction) toggleScaleToScreen:(id)sender;
00084 
00085 /* HUD overlay */
00086 - (void) enableHudControls;
00087 - (void) disableHudControls;
00088 
00089 - (void) startHudTimer;
00090 - (void) stopHudTimer;
00091 
00092 /* Movie Previews */
00093 - (void) startReceivingLibhbNotifications;
00094 - (void) stopReceivingLibhbNotifications;
00095 
00096 - (void) installMovieCallbacks;
00097 - (void) removeMovieCallbacks;
00098 
00099 - (IBAction) cancelCreateMoviePreview: (id) sender;
00100 - (IBAction) createMoviePreview: (id) sender;
00101 - (void) libhbStateChanged: (hb_state_t ) state;
00102 - (IBAction) showMoviePreview: (NSString *) path;
00103 - (IBAction) showPicturesPreview: (id) sender;
00104 - (IBAction) toggleMoviePreviewPlayPause: (id) sender;
00105 - (IBAction) moviePlaybackGoToBeginning: (id) sender;
00106 - (IBAction) moviePlaybackGoToEnd: (id) sender;
00107 - (IBAction) moviePlaybackGoBackwardOneFrame: (id) sender;
00108 - (IBAction) moviePlaybackGoForwardOneFrame: (id) sender;
00109 
00110 - (void) initPreviewScrubberForMovie;
00111 - (void) adjustPreviewScrubberForCurrentMovieTime;
00112 - (IBAction) previewScrubberChanged: (id) sender;
00113 - (BOOL) isPlaying;
00114 
00115 - (void) startMovieTimer;
00116 - (void) stopMovieTimer;
00117 
00118 - (NSString*) SMTPETimecode: (QTTime)time;
00119 - (QTTime)SliderToQTTime:(double)time;
00120 
00121 - (IBAction) previewDurationPopUpChanged: (id) sender;
00122 
00123 + (NSImage *) makeImageForPicture: (NSInteger)pictureIndex
00124                 libhb:(hb_handle_t*)handle
00125                 title:(hb_title_t*)title;
00126 - (NSImage *) imageForPicture: (NSInteger) pictureIndex;
00127 - (void) purgeImageCache;
00128 @end
00129 

Generated on Sun May 19 2013 05:31:47 for HandBrake by  doxygen 1.7.1