diff options
author | ritsuka <[email protected]> | 2013-02-01 16:58:48 +0000 |
---|---|---|
committer | ritsuka <[email protected]> | 2013-02-01 16:58:48 +0000 |
commit | a47fd8fc599f9abf4e53bafe8cec33b1de466f0c (patch) | |
tree | 51ebe93e160bc8429e7b0b9a6ab01d45538b456c | |
parent | bbc2c49dbabc8478395bdb1bedf665261ea3adda (diff) |
MacGUI: Reworked a bit of HBPreviewController, the main differences are:
- CALayer instead of NSImageView, we don't need to center the layer manually, plus a lot of free animations.
- Reworked the scale to screen code, now it resize the window to the max size and then resize the picture layer, a bit simpler then before but the previous code had a weird issue were the window increased in size each time the slider changed until the control box was outside the window.
- Fixed an issue where the preview window would be unusable if it was closed while it was encoding a preview.
- Added a fEncodeState int to keep track of the encoding status like in HBController.
- Removed some unused code and variables.
- The preview images are no longer 4px smaller than the said size.
- Added some nice image to the player controller.
- keyboard controls for the movie player.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5230 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | macosx/English.lproj/PicturePreview.xib | 2410 | ||||
-rw-r--r-- | macosx/HBPreviewController.h | 56 | ||||
-rw-r--r-- | macosx/HBPreviewController.m | 998 | ||||
-rw-r--r-- | macosx/HandBrake.xcodeproj/project.pbxproj | 22 | ||||
-rw-r--r-- | macosx/icons/next-p.pdf | bin | 0 -> 2357 bytes | |||
-rw-r--r-- | macosx/icons/pause-p.pdf | bin | 0 -> 2314 bytes | |||
-rw-r--r-- | macosx/icons/play-p.pdf | bin | 0 -> 2316 bytes | |||
-rw-r--r-- | macosx/icons/prev-p.pdf | bin | 0 -> 2356 bytes |
8 files changed, 1759 insertions, 1727 deletions
diff --git a/macosx/English.lproj/PicturePreview.xib b/macosx/English.lproj/PicturePreview.xib index 397307a3f..deb09e879 100644 --- a/macosx/English.lproj/PicturePreview.xib +++ b/macosx/English.lproj/PicturePreview.xib @@ -2,10 +2,10 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">11C74</string> - <string key="IBDocument.InterfaceBuilderVersion">1938</string> - <string key="IBDocument.AppKitVersion">1138.23</string> - <string key="IBDocument.HIToolboxVersion">567.00</string> + <string key="IBDocument.SystemVersion">12D61</string> + <string key="IBDocument.InterfaceBuilderVersion">3084</string> + <string key="IBDocument.AppKitVersion">1187.37</string> + <string key="IBDocument.HIToolboxVersion">626.00</string> <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSArray" key="dict.sortedKeys"> @@ -13,32 +13,30 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.QTKitIBPlugin</string> </object> - <object class="NSMutableArray" key="dict.values"> + <object class="NSArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>1938</string> - <string>822</string> + <string>3084</string> + <string>2053</string> </object> </object> <object class="NSArray" key="IBDocument.IntegratedClassDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>NSPopUpButton</string> + <string>NSBox</string> <string>NSButton</string> + <string>NSButtonCell</string> + <string>NSCustomObject</string> <string>NSMenu</string> - <string>NSTextFieldCell</string> <string>NSMenuItem</string> - <string>NSButtonCell</string> - <string>NSBox</string> + <string>NSPopUpButton</string> + <string>NSPopUpButtonCell</string> <string>NSProgressIndicator</string> - <string>NSImageView</string> - <string>NSImageCell</string> - <string>QTMovieView</string> <string>NSSlider</string> <string>NSSliderCell</string> - <string>NSCustomObject</string> + <string>NSTextField</string> + <string>NSTextFieldCell</string> <string>NSView</string> <string>NSWindowTemplate</string> - <string>NSTextField</string> - <string>NSPopUpButtonCell</string> + <string>QTMovieView</string> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -76,782 +74,779 @@ <int key="NSvFlags">274</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSBox" id="289177107"> + <object class="QTMovieView" id="48693112"> <reference key="NSNextResponder" ref="49161063"/> - <int key="NSvFlags">18</int> + <int key="NSvFlags">274</int> + <object class="NSMutableSet" key="NSDragTypes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="set.sortedObjects"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>Apple URL pasteboard type</string> + <string>CorePasteboardFlavorType 0x6D6F6F76</string> + <string>NSFilenamesPboardType</string> + <string>QTMoviePasteboardType</string> + </object> + </object> + <string key="NSFrameSize">{480, 360}</string> + <reference key="NSSuperview" ref="49161063"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="768906858"/> + <object class="NSColor" key="kCoderFillColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MC44MDAwMDAwMSAwLjgwMDAwMDAxIDAuODAwMDAwMDEAA</bytes> + </object> + <boolean value="YES" key="kCoderControllerVisible"/> + <boolean value="YES" key="kCoderPreservesAspectRatio"/> + <nil key="kCoderMovie"/> + <boolean value="NO" key="kCoderEditable"/> + </object> + <object class="NSBox" id="92351498"> + <reference key="NSNextResponder" ref="49161063"/> + <int key="NSvFlags">-2147483611</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSView" id="353606868"> - <reference key="NSNextResponder" ref="289177107"/> + <object class="NSView" id="385854969"> + <reference key="NSNextResponder" ref="92351498"/> <int key="NSvFlags">274</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSImageView" id="844127024"> - <reference key="NSNextResponder" ref="353606868"/> - <int key="NSvFlags">274</int> - <object class="NSMutableSet" key="NSDragTypes"> + <object class="NSButton" id="798240356"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">292</int> + <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="set.sortedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>Apple PDF pasteboard type</string> - <string>Apple PICT pasteboard type</string> - <string>Apple PNG pasteboard type</string> - <string>NSFilenamesPboardType</string> - <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> - <string>NeXT TIFF v4.0 pasteboard type</string> + </object> + <string key="NSFrame">{{17, 11}, {77, 16}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="66510867"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> </object> </object> - <string key="NSFrame">{{-3, -3}, {488, 368}}</string> - <reference key="NSSuperview" ref="353606868"/> - <reference key="NSNextKeyView" ref="48693112"/> <bool key="NSEnabled">YES</bool> - <object class="NSImageCell" key="NSCell" id="955430771"> - <int key="NSCellFlags">130560</int> - <int key="NSCellFlags2">33554432</int> - <int key="NSAlign">0</int> - <int key="NSScale">1</int> - <int key="NSStyle">3</int> - <bool key="NSAnimates">NO</bool> + <object class="NSButtonCell" key="NSCell" id="975305481"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134479872</int> + <string key="NSContents">Live Preview</string> + <object class="NSFont" key="NSSupport" id="22"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">9</double> + <int key="NSfFlags">3614</int> + </object> + <reference key="NSControlView" ref="798240356"/> + <int key="NSButtonFlags">-2038284288</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateImage" ref="22"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> </object> - <bool key="NSEditable">YES</bool> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> - <object class="QTMovieView" id="48693112"> - <reference key="NSNextResponder" ref="353606868"/> - <int key="NSvFlags">274</int> - <object class="NSMutableSet" key="NSDragTypes"> + <object class="NSButton" id="141370142"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">289</int> + <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="set.sortedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>Apple URL pasteboard type</string> - <string>CorePasteboardFlavorType 0x6D6F6F76</string> - <string>NSFilenamesPboardType</string> - <string>QTMoviePasteboardType</string> + </object> + <string key="NSFrame">{{360, 11}, {59, 16}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="700607930"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> </object> </object> - <string key="NSFrameSize">{482, 362}</string> - <reference key="NSSuperview" ref="353606868"/> - <reference key="NSNextKeyView" ref="768906858"/> - <object class="NSColor" key="kCoderFillColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC44MDAwMDAwMSAwLjgwMDAwMDAxIDAuODAwMDAwMDEAA</bytes> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="606007744"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134479872</int> + <string key="NSContents">Settings</string> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="141370142"/> + <int key="NSButtonFlags">-2038284288</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateImage" ref="22"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> </object> - <boolean value="YES" key="kCoderControllerVisible"/> - <boolean value="YES" key="kCoderPreservesAspectRatio"/> - <nil key="kCoderMovie"/> - <boolean value="NO" key="kCoderEditable"/> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> - <object class="NSBox" id="92351498"> - <reference key="NSNextResponder" ref="353606868"/> - <int key="NSvFlags">-2147483611</int> + <object class="NSButton" id="81685190"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">289</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSView" id="385854969"> - <reference key="NSNextResponder" ref="92351498"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSButton" id="798240356"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{20, 9}, {77, 16}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="66510867"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="975305481"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134479872</int> - <string key="NSContents">Live Preview</string> - <object class="NSFont" key="NSSupport" id="22"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">9</double> - <int key="NSfFlags">3614</int> - </object> - <reference key="NSControlView" ref="798240356"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <reference key="NSAlternateImage" ref="22"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSButton" id="141370142"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{357, 10}, {59, 16}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="700607930"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="606007744"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134479872</int> - <string key="NSContents">Settings</string> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="141370142"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <reference key="NSAlternateImage" ref="22"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSButton" id="81685190"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{259, 10}, {92, 16}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="141370142"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="847033897"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134479872</int> - <string key="NSContents">Scale To Screen</string> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="81685190"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <object class="NSFont" key="NSAlternateImage" id="354866114"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">9</double> - <int key="NSfFlags">16</int> - </object> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSTextField" id="66510867"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{101, 14}, {75, 11}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="598619000"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="567286013"> - <int key="NSCellFlags">68288064</int> - <int key="NSCellFlags2">71566336</int> - <string key="NSContents">Duration (sec):</string> - <object class="NSFont" key="NSSupport" id="811969608"> - <string key="NSName">LucidaGrande-Bold</string> - <double key="NSSize">9</double> - <int key="NSfFlags">16</int> - </object> - <reference key="NSControlView" ref="66510867"/> - <object class="NSColor" key="NSBackgroundColor" id="407686733"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">controlColor</string> - <object class="NSColor" key="NSColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> - </object> - </object> - <object class="NSColor" key="NSTextColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC44MDAwMDAwMSAwLjgwMDAwMDAxIDAuODAwMDAwMDEAA</bytes> - </object> - </object> - </object> - <object class="NSPopUpButton" id="598619000"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{184, 11}, {58, 15}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="81685190"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSPopUpButtonCell" key="NSCell" id="953108737"> - <int key="NSCellFlags">-2076049856</int> - <int key="NSCellFlags2">264192</int> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="598619000"/> - <int key="NSButtonFlags">109199615</int> - <int key="NSButtonFlags2">1</int> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">400</int> - <int key="NSPeriodicInterval">75</int> - <object class="NSMenuItem" key="NSMenuItem" id="372655630"> - <reference key="NSMenu" ref="501672847"/> - <string key="NSTitle">Item 1</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <int key="NSState">1</int> - <object class="NSCustomResource" key="NSOnImage" id="858043985"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuCheckmark</string> - </object> - <object class="NSCustomResource" key="NSMixedImage" id="700487240"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuMixedState</string> - </object> - <string key="NSAction">_popUpItemAction:</string> - <reference key="NSTarget" ref="953108737"/> - </object> - <bool key="NSMenuItemRespectAlignment">YES</bool> - <object class="NSMenu" key="NSMenu" id="501672847"> - <string key="NSTitle">OtherViews</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="372655630"/> - <object class="NSMenuItem" id="607756368"> - <reference key="NSMenu" ref="501672847"/> - <string key="NSTitle">Item 2</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="858043985"/> - <reference key="NSMixedImage" ref="700487240"/> - <string key="NSAction">_popUpItemAction:</string> - <reference key="NSTarget" ref="953108737"/> - </object> - <object class="NSMenuItem" id="272743761"> - <reference key="NSMenu" ref="501672847"/> - <string key="NSTitle">Item 3</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="858043985"/> - <reference key="NSMixedImage" ref="700487240"/> - <string key="NSAction">_popUpItemAction:</string> - <reference key="NSTarget" ref="953108737"/> - </object> - </object> - </object> - <int key="NSPreferredEdge">1</int> - <bool key="NSUsesItemFromMenu">YES</bool> - <bool key="NSAltersState">YES</bool> - <int key="NSArrowPosition">2</int> - </object> - </object> - <object class="NSSlider" id="396925210"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{18, 39}, {402, 16}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="798240356"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSSliderCell" key="NSCell" id="639767004"> - <int key="NSCellFlags">67501824</int> - <int key="NSCellFlags2">262144</int> - <string key="NSContents"/> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="396925210"/> - <double key="NSMaxValue">9</double> - <double key="NSMinValue">0.0</double> - <double key="NSValue">0.0</double> - <double key="NSAltIncValue">0.0</double> - <int key="NSNumberOfTickMarks">10</int> - <int key="NSTickMarkPosition">1</int> - <bool key="NSAllowsTickMarkValuesOnly">YES</bool> - <bool key="NSVertical">NO</bool> - </object> - </object> - <object class="NSTextField" id="628196212"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{15, 55}, {408, 20}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="396925210"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="921881842"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">4325376</int> - <string key="NSContents"/> - <object class="NSFont" key="NSSupport" id="476446081"> - <string key="NSName">LucidaGrande-Bold</string> - <double key="NSSize">11</double> - <int key="NSfFlags">16</int> - </object> - <reference key="NSControlView" ref="628196212"/> - <bool key="NSDrawsBackground">YES</bool> - <reference key="NSBackgroundColor" ref="407686733"/> - <object class="NSColor" key="NSTextColor" id="978544139"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAxIDEAA</bytes> - </object> - </object> - </object> - <object class="NSTextField" id="245200984"> - <reference key="NSNextResponder" ref="385854969"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{16, 80}, {408, 12}}</string> - <reference key="NSSuperview" ref="385854969"/> - <reference key="NSNextKeyView" ref="628196212"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="1032360651"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">4456448</int> - <string key="NSContents"/> - <reference key="NSSupport" ref="811969608"/> - <reference key="NSControlView" ref="245200984"/> - <bool key="NSDrawsBackground">YES</bool> - <reference key="NSBackgroundColor" ref="407686733"/> - <reference key="NSTextColor" ref="978544139"/> - </object> - </object> + </object> + <string key="NSFrame">{{262, 11}, {92, 16}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="141370142"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> </object> - <string key="NSFrame">{{1, 1}, {438, 97}}</string> - <reference key="NSSuperview" ref="92351498"/> - <reference key="NSNextKeyView" ref="245200984"/> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> </object> </object> - <string key="NSFrame">{{21, 121}, {440, 99}}</string> - <reference key="NSSuperview" ref="353606868"/> - <reference key="NSNextKeyView" ref="385854969"/> - <string key="NSOffsets">{0, 0}</string> - <object class="NSTextFieldCell" key="NSTitleCell"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Picture Controls</string> - <object class="NSFont" key="NSSupport" id="26"> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="847033897"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134479872</int> + <string key="NSContents">Scale To Screen</string> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="81685190"/> + <int key="NSButtonFlags">-2038284288</int> + <int key="NSButtonFlags2">129</int> + <object class="NSFont" key="NSAlternateImage" id="354866114"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">11</double> - <int key="NSfFlags">3100</int> + <double key="NSSize">9</double> + <int key="NSfFlags">16</int> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="66510867"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">289</int> + <string key="NSFrame">{{98, 14}, {75, 11}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="598619000"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="567286013"> + <int key="NSCellFlags">68157504</int> + <int key="NSCellFlags2">71566336</int> + <string key="NSContents">Duration (sec):</string> + <object class="NSFont" key="NSSupport" id="811969608"> + <string key="NSName">LucidaGrande-Bold</string> + <double key="NSSize">9</double> + <int key="NSfFlags">16</int> </object> - <object class="NSColor" key="NSBackgroundColor" id="384686844"> + <reference key="NSControlView" ref="66510867"/> + <object class="NSColor" key="NSBackgroundColor" id="407686733"> <int key="NSColorSpace">6</int> <string key="NSCatalogName">System</string> - <string key="NSColorName">textBackgroundColor</string> + <string key="NSColorName">controlColor</string> <object class="NSColor" key="NSColor"> <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> + <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> </object> </object> - <object class="NSColor" key="NSTextColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + <object class="NSColor" key="NSTextColor" id="978544139"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEAA</bytes> </object> </object> - <reference key="NSContentView" ref="385854969"/> - <int key="NSBorderType">1</int> - <int key="NSBoxType">4</int> - <int key="NSTitlePosition">0</int> - <bool key="NSTransparent">NO</bool> - <double key="NSCornerRadius2">12</double> - <object class="NSColor" key="NSBorderColor2"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAxIDEgMC41AA</bytes> - </object> - <object class="NSColor" key="NSFillColor2"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MCAwIDAgMC42AA</bytes> - </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> - <object class="NSBox" id="700607930"> - <reference key="NSNextResponder" ref="353606868"/> - <int key="NSvFlags">-2147483611</int> - <object class="NSMutableArray" key="NSSubviews"> + <object class="NSPopUpButton" id="598619000"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">289</int> + <string key="NSFrame">{{177, 12}, {58, 15}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="81685190"/> + <object class="NSArray" key="NSViewContentFilters"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSView" id="1068222891"> - <reference key="NSNextResponder" ref="700607930"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> + </object> + </object> + <bool key="NSEnabled">YES</bool> + <object class="NSPopUpButtonCell" key="NSCell" id="953108737"> + <int key="NSCellFlags">-2076180416</int> + <int key="NSCellFlags2">264192</int> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="598619000"/> + <int key="NSButtonFlags">109199360</int> + <int key="NSButtonFlags2">1</int> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + <object class="NSMenuItem" key="NSMenuItem" id="372655630"> + <reference key="NSMenu" ref="501672847"/> + <string key="NSTitle">Item 1</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <int key="NSState">1</int> + <object class="NSCustomResource" key="NSOnImage" id="858043985"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSMenuCheckmark</string> + </object> + <object class="NSCustomResource" key="NSMixedImage" id="700487240"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">NSMenuMixedState</string> + </object> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="953108737"/> + </object> + <bool key="NSMenuItemRespectAlignment">YES</bool> + <object class="NSMenu" key="NSMenu" id="501672847"> + <string key="NSTitle">OtherViews</string> + <object class="NSMutableArray" key="NSMenuItems"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSSlider" id="886140787"> - <reference key="NSNextResponder" ref="1068222891"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{18, 27}, {407, 21}}</string> - <reference key="NSSuperview" ref="1068222891"/> - <reference key="NSNextKeyView" ref="964331174"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSSliderCell" key="NSCell" id="493667684"> - <int key="NSCellFlags">67501824</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents"/> - <reference key="NSControlView" ref="886140787"/> - <double key="NSMaxValue">100</double> - <double key="NSMinValue">0.0</double> - <double key="NSValue">0.0</double> - <double key="NSAltIncValue">0.0</double> - <int key="NSNumberOfTickMarks">0</int> - <int key="NSTickMarkPosition">1</int> - <bool key="NSAllowsTickMarkValuesOnly">NO</bool> - <bool key="NSVertical">NO</bool> - </object> - </object> - <object class="NSButton" id="102183813"> - <reference key="NSNextResponder" ref="1068222891"/> - <int key="NSvFlags">268</int> - <string key="NSFrame">{{200, 53}, {39, 25}}</string> - <reference key="NSSuperview" ref="1068222891"/> - <reference key="NSNextKeyView" ref="894608246"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="19809002"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134217728</int> - <string key="NSContents"/> - <object class="NSFont" key="NSSupport" id="353643025"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">13</double> - <int key="NSfFlags">1044</int> - </object> - <reference key="NSControlView" ref="102183813"/> - <int key="NSButtonFlags">-2038169345</int> - <int key="NSButtonFlags2">134</int> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> + <reference ref="372655630"/> + <object class="NSMenuItem" id="607756368"> + <reference key="NSMenu" ref="501672847"/> + <string key="NSTitle">Item 2</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="858043985"/> + <reference key="NSMixedImage" ref="700487240"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="953108737"/> </object> - <object class="NSButton" id="897614796"> - <reference key="NSNextResponder" ref="1068222891"/> - <int key="NSvFlags">268</int> - <string key="NSFrame">{{171, 53}, {30, 25}}</string> - <reference key="NSSuperview" ref="1068222891"/> - <reference key="NSNextKeyView" ref="102183813"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="913339095"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134217728</int> - <string key="NSContents">|<</string> - <reference key="NSSupport" ref="353643025"/> - <reference key="NSControlView" ref="897614796"/> - <int key="NSButtonFlags">-2038038273</int> - <int key="NSButtonFlags2">134</int> - <object class="NSFont" key="NSAlternateImage"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">13</double> - <int key="NSfFlags">16</int> - </object> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSButton" id="894608246"> - <reference key="NSNextResponder" ref="1068222891"/> - <int key="NSvFlags">268</int> - <string key="NSFrame">{{238, 53}, {32, 25}}</string> - <reference key="NSSuperview" ref="1068222891"/> - <reference key="NSNextKeyView" ref="630042886"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="117507013"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134479872</int> - <string key="NSContents">>|</string> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="894608246"/> - <int key="NSButtonFlags">-2038169345</int> - <int key="NSButtonFlags2">134</int> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSButton" id="630042886"> - <reference key="NSNextResponder" ref="1068222891"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{331, 56}, {77, 16}}</string> - <reference key="NSSuperview" ref="1068222891"/> - <reference key="NSNextKeyView" ref="886140787"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="999505395"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134479872</int> - <string key="NSContents">Still Previews</string> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="630042886"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <reference key="NSAlternateImage" ref="22"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSTextField" id="964331174"> - <reference key="NSNextResponder" ref="1068222891"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{18, 10}, {399, 12}}</string> - <reference key="NSSuperview" ref="1068222891"/> - <reference key="NSNextKeyView"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="113790059"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">4456448</int> - <string key="NSContents"/> - <reference key="NSSupport" ref="811969608"/> - <reference key="NSControlView" ref="964331174"/> - <bool key="NSDrawsBackground">YES</bool> - <reference key="NSBackgroundColor" ref="407686733"/> - <reference key="NSTextColor" ref="978544139"/> - </object> + <object class="NSMenuItem" id="272743761"> + <reference key="NSMenu" ref="501672847"/> + <string key="NSTitle">Item 3</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="858043985"/> + <reference key="NSMixedImage" ref="700487240"/> + <string key="NSAction">_popUpItemAction:</string> + <reference key="NSTarget" ref="953108737"/> </object> </object> - <string key="NSFrame">{{1, 1}, {438, 97}}</string> - <reference key="NSSuperview" ref="700607930"/> - <reference key="NSNextKeyView" ref="897614796"/> + </object> + <int key="NSPreferredEdge">1</int> + <bool key="NSUsesItemFromMenu">YES</bool> + <bool key="NSAltersState">YES</bool> + <int key="NSArrowPosition">2</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSSlider" id="396925210"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">290</int> + <string key="NSFrame">{{18, 39}, {400, 16}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="798240356"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> + </object> + </object> + <bool key="NSEnabled">YES</bool> + <object class="NSSliderCell" key="NSCell" id="639767004"> + <int key="NSCellFlags">67371264</int> + <int key="NSCellFlags2">262144</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="396925210"/> + <double key="NSMaxValue">9</double> + <double key="NSMinValue">0.0</double> + <double key="NSValue">0.0</double> + <double key="NSAltIncValue">0.0</double> + <int key="NSNumberOfTickMarks">10</int> + <int key="NSTickMarkPosition">1</int> + <bool key="NSAllowsTickMarkValuesOnly">YES</bool> + <bool key="NSVertical">NO</bool> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="628196212"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">290</int> + <string key="NSFrame">{{15, 55}, {406, 20}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="396925210"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="921881842"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">4325376</int> + <string key="NSContents"/> + <object class="NSFont" key="NSSupport" id="476446081"> + <string key="NSName">LucidaGrande-Bold</string> + <double key="NSSize">11</double> + <int key="NSfFlags">16</int> + </object> + <reference key="NSControlView" ref="628196212"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="407686733"/> + <reference key="NSTextColor" ref="978544139"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="245200984"> + <reference key="NSNextResponder" ref="385854969"/> + <int key="NSvFlags">290</int> + <string key="NSFrame">{{15, 77}, {406, 12}}</string> + <reference key="NSSuperview" ref="385854969"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="628196212"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="1032360651"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">4456448</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="811969608"/> + <reference key="NSControlView" ref="245200984"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="407686733"/> + <reference key="NSTextColor" ref="978544139"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + </object> + <string key="NSFrame">{{2, 2}, {436, 96}}</string> + <reference key="NSSuperview" ref="92351498"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="245200984"/> + </object> + </object> + <string key="NSFrame">{{21, 132}, {440, 100}}</string> + <reference key="NSSuperview" ref="49161063"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="385854969"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Picture Controls</string> + <object class="NSFont" key="NSSupport" id="26"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">11</double> + <int key="NSfFlags">3100</int> + </object> + <object class="NSColor" key="NSBackgroundColor" id="384686844"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">textBackgroundColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + </object> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="385854969"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">4</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + <real value="2" key="NSBorderWidth2"/> + <double key="NSCornerRadius2">12</double> + <object class="NSColor" key="NSBorderColor2"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEgMC44AA</bytes> + </object> + <object class="NSColor" key="NSFillColor2"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MCAwIDAgMC42AA</bytes> + </object> + </object> + <object class="NSBox" id="700607930"> + <reference key="NSNextResponder" ref="49161063"/> + <int key="NSvFlags">-2147483611</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="1068222891"> + <reference key="NSNextResponder" ref="700607930"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSSlider" id="886140787"> + <reference key="NSNextResponder" ref="1068222891"/> + <int key="NSvFlags">290</int> + <string key="NSFrame">{{16, 16}, {345, 21}}</string> + <reference key="NSSuperview" ref="1068222891"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="964331174"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> </object> </object> - <string key="NSFrame">{{21, 16}, {440, 99}}</string> - <reference key="NSSuperview" ref="353606868"/> - <reference key="NSNextKeyView" ref="1068222891"/> - <string key="NSOffsets">{0, 0}</string> - <object class="NSTextFieldCell" key="NSTitleCell"> - <int key="NSCellFlags">67239424</int> + <bool key="NSEnabled">YES</bool> + <object class="NSSliderCell" key="NSCell" id="493667684"> + <int key="NSCellFlags">67371264</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Playback Controls</string> - <reference key="NSSupport" ref="26"/> - <reference key="NSBackgroundColor" ref="384686844"/> - <object class="NSColor" key="NSTextColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + <string key="NSContents"/> + <reference key="NSControlView" ref="886140787"/> + <double key="NSMaxValue">100</double> + <double key="NSMinValue">0.0</double> + <double key="NSValue">0.0</double> + <double key="NSAltIncValue">0.0</double> + <int key="NSNumberOfTickMarks">0</int> + <int key="NSTickMarkPosition">1</int> + <bool key="NSAllowsTickMarkValuesOnly">NO</bool> + <bool key="NSVertical">NO</bool> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSButton" id="102183813"> + <reference key="NSNextResponder" ref="1068222891"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <string key="NSFrame">{{198, 43}, {36, 36}}</string> + <reference key="NSSuperview" ref="1068222891"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="894608246"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="19809002"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <object class="NSFont" key="NSSupport" id="353643025"> + <string key="NSName">LucidaGrande</string> + <double key="NSSize">13</double> + <int key="NSfFlags">1044</int> + </object> + <reference key="NSControlView" ref="102183813"/> + <int key="NSButtonFlags">-931921920</int> + <int key="NSButtonFlags2">134</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">play-p</string> + </object> + <object class="NSCustomResource" key="NSAlternateImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">pause-p</string> </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> </object> - <reference key="NSContentView" ref="1068222891"/> - <int key="NSBorderType">1</int> - <int key="NSBoxType">4</int> - <int key="NSTitlePosition">0</int> - <bool key="NSTransparent">NO</bool> - <double key="NSCornerRadius2">12</double> - <object class="NSColor" key="NSBorderColor2"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAxIDEgMC41AA</bytes> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSButton" id="897614796"> + <reference key="NSNextResponder" ref="1068222891"/> + <int key="NSvFlags">268</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> </object> - <object class="NSColor" key="NSFillColor2"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MCAwIDAgMC42AA</bytes> + <string key="NSFrame">{{155, 48}, {32, 26}}</string> + <reference key="NSSuperview" ref="1068222891"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="102183813"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="913339095"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134217728</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="353643025"/> + <reference key="NSControlView" ref="897614796"/> + <int key="NSButtonFlags">-2041839616</int> + <int key="NSButtonFlags2">134</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">prev-p</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> - <object class="NSBox" id="768906858"> - <reference key="NSNextResponder" ref="353606868"/> - <int key="NSvFlags">-2147483611</int> + <object class="NSButton" id="894608246"> + <reference key="NSNextResponder" ref="1068222891"/> + <int key="NSvFlags">268</int> <object class="NSMutableArray" key="NSSubviews"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSView" id="1067699710"> - <reference key="NSNextResponder" ref="768906858"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSProgressIndicator" id="196868285"> - <reference key="NSNextResponder" ref="1067699710"/> - <int key="NSvFlags">-2147482368</int> - <object class="NSPSMatrix" key="NSDrawMatrix"/> - <string key="NSFrame">{{23, 26}, {336, 12}}</string> - <reference key="NSSuperview" ref="1067699710"/> - <reference key="NSNextKeyView" ref="569473100"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <int key="NSpiFlags">16650</int> - <double key="NSMinValue">20</double> - <double key="NSMaxValue">100</double> - </object> - <object class="NSButton" id="569473100"> - <reference key="NSNextResponder" ref="1067699710"/> - <int key="NSvFlags">265</int> - <string key="NSFrame">{{366, 24}, {58, 16}}</string> - <reference key="NSSuperview" ref="1067699710"/> - <reference key="NSNextKeyView" ref="92351498"/> - <object class="NSArray" key="NSViewContentFilters"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="CIColorMonochrome"> - <object class="CIColor" key="CI_inputColor"> - <float key="red">0.70196080207824707</float> - <float key="green">0.70196080207824707</float> - <float key="blue">0.70196080207824707</float> - <float key="alpha">1</float> - </object> - <integer value="1" key="CI_inputIntensity"/> - <bool key="CIEnabled">YES</bool> - </object> - </object> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="908165435"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134479872</int> - <string key="NSContents">Cancel</string> - <reference key="NSSupport" ref="22"/> - <reference key="NSControlView" ref="569473100"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <reference key="NSAlternateImage" ref="354866114"/> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSTextField" id="986015194"> - <reference key="NSNextResponder" ref="1067699710"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{21, 59}, {394, 14}}</string> - <reference key="NSSuperview" ref="1067699710"/> - <reference key="NSNextKeyView" ref="196868285"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="304208899"> - <int key="NSCellFlags">68288064</int> - <int key="NSCellFlags2">4326400</int> - <string key="NSContents">Preparing Preview</string> - <reference key="NSSupport" ref="476446081"/> - <reference key="NSControlView" ref="986015194"/> - <object class="NSColor" key="NSBackgroundColor"> - <int key="NSColorSpace">2</int> - <bytes key="NSRGB">MC45MDE5NjA4NSAwLjkwMTk2MDg1IDAuOTAxOTYwODUgMAA</bytes> - </object> - <reference key="NSTextColor" ref="978544139"/> - </object> - </object> + </object> + <string key="NSFrame">{{245, 48}, {32, 26}}</string> + <reference key="NSSuperview" ref="1068222891"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="630042886"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="117507013"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134479872</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="894608246"/> + <int key="NSButtonFlags">-2042363904</int> + <int key="NSButtonFlags2">134</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">next-p</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSButton" id="630042886"> + <reference key="NSNextResponder" ref="1068222891"/> + <int key="NSvFlags">292</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <string key="NSFrame">{{338, 53}, {81, 16}}</string> + <reference key="NSSuperview" ref="1068222891"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="886140787"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> </object> - <string key="NSFrame">{{1, 1}, {438, 98}}</string> - <reference key="NSSuperview" ref="768906858"/> - <reference key="NSNextKeyView" ref="986015194"/> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> </object> </object> - <string key="NSFrame">{{21, 233}, {440, 100}}</string> - <reference key="NSSuperview" ref="353606868"/> - <reference key="NSNextKeyView" ref="1067699710"/> - <string key="NSOffsets">{0, 0}</string> - <object class="NSTextFieldCell" key="NSTitleCell"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">0</int> - <string key="NSContents">Encoding Controls</string> - <reference key="NSSupport" ref="26"/> - <reference key="NSBackgroundColor" ref="384686844"/> - <object class="NSColor" key="NSTextColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="999505395"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134479872</int> + <string key="NSContents">Still Previews</string> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="630042886"/> + <int key="NSButtonFlags">-2038284288</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateImage" ref="22"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="964331174"> + <reference key="NSNextResponder" ref="1068222891"/> + <int key="NSvFlags">290</int> + <string key="NSFrame">{{364, 19}, {57, 14}}</string> + <reference key="NSSuperview" ref="1068222891"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="113790059"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">71565312</int> + <string key="NSContents">00:00:00</string> + <reference key="NSSupport" ref="476446081"/> + <reference key="NSControlView" ref="964331174"/> + <bool key="NSDrawsBackground">YES</bool> + <reference key="NSBackgroundColor" ref="407686733"/> + <reference key="NSTextColor" ref="978544139"/> + </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + </object> + <string key="NSFrame">{{2, 2}, {436, 96}}</string> + <reference key="NSSuperview" ref="700607930"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="897614796"/> + </object> + </object> + <string key="NSFrame">{{20, 30}, {440, 100}}</string> + <reference key="NSSuperview" ref="49161063"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="1068222891"/> + <string key="NSOffsets">{0, 0}</string> + <object class="NSTextFieldCell" key="NSTitleCell"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Playback Controls</string> + <reference key="NSSupport" ref="26"/> + <reference key="NSBackgroundColor" ref="384686844"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> + </object> + </object> + <reference key="NSContentView" ref="1068222891"/> + <int key="NSBorderType">1</int> + <int key="NSBoxType">4</int> + <int key="NSTitlePosition">0</int> + <bool key="NSTransparent">NO</bool> + <real value="2" key="NSBorderWidth2"/> + <double key="NSCornerRadius2">12</double> + <object class="NSColor" key="NSBorderColor2"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEgMC44AA</bytes> + </object> + <object class="NSColor" key="NSFillColor2"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MCAwIDAgMC42AA</bytes> + </object> + </object> + <object class="NSBox" id="768906858"> + <reference key="NSNextResponder" ref="49161063"/> + <int key="NSvFlags">-2147483611</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSView" id="1067699710"> + <reference key="NSNextResponder" ref="768906858"/> + <int key="NSvFlags">274</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSProgressIndicator" id="196868285"> + <reference key="NSNextResponder" ref="1067699710"/> + <int key="NSvFlags">1280</int> + <string key="NSFrame">{{18, 26}, {336, 12}}</string> + <reference key="NSSuperview" ref="1067699710"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="569473100"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> + </object> + </object> + <int key="NSpiFlags">16650</int> + <double key="NSMaxValue">100</double> + </object> + <object class="NSButton" id="569473100"> + <reference key="NSNextResponder" ref="1067699710"/> + <int key="NSvFlags">265</int> + <object class="NSMutableArray" key="NSSubviews"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + <string key="NSFrame">{{361, 24}, {58, 16}}</string> + <reference key="NSSuperview" ref="1067699710"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="92351498"/> + <object class="NSArray" key="NSViewContentFilters"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="CIColorMonochrome"> + <object class="CIColor" key="CI_inputColor"> + <float key="red">0.70196080207824707</float> + <float key="green">0.70196080207824707</float> + <float key="blue">0.70196080207824707</float> + <float key="alpha">1</float> + </object> + <integer value="1" key="CI_inputIntensity"/> + <bool key="CIEnabled">YES</bool> </object> </object> - <reference key="NSContentView" ref="1067699710"/> - <int key="NSBorderType">1</int> - <int key="NSBoxType">4</int> - <int key="NSTitlePosition">0</int> - <bool key="NSTransparent">NO</bool> - <double key="NSCornerRadius2">11</double> - <object class="NSColor" key="NSBorderColor2"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAxIDEgMC41AA</bytes> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="908165435"> + <int key="NSCellFlags">67108864</int> + <int key="NSCellFlags2">134479872</int> + <string key="NSContents">Cancel</string> + <reference key="NSSupport" ref="22"/> + <reference key="NSControlView" ref="569473100"/> + <int key="NSButtonFlags">-2038284288</int> + <int key="NSButtonFlags2">129</int> + <reference key="NSAlternateImage" ref="354866114"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> </object> - <object class="NSColor" key="NSFillColor2"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MCAwIDAgMC42AA</bytes> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + </object> + <object class="NSTextField" id="986015194"> + <reference key="NSNextResponder" ref="1067699710"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{15, 59}, {406, 14}}</string> + <reference key="NSSuperview" ref="1067699710"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="196868285"/> + <bool key="NSEnabled">YES</bool> + <object class="NSTextFieldCell" key="NSCell" id="304208899"> + <int key="NSCellFlags">68157504</int> + <int key="NSCellFlags2">4326400</int> + <string key="NSContents">Preparing Preview</string> + <reference key="NSSupport" ref="476446081"/> + <reference key="NSControlView" ref="986015194"/> + <object class="NSColor" key="NSBackgroundColor"> + <int key="NSColorSpace">2</int> + <bytes key="NSRGB">MC45MDE5NjA4NSAwLjkwMTk2MDg1IDAuOTAxOTYwODUgMAA</bytes> + </object> + <reference key="NSTextColor" ref="978544139"/> </object> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> </object> </object> - <string key="NSFrameSize">{480, 360}</string> - <reference key="NSSuperview" ref="289177107"/> - <reference key="NSNextKeyView" ref="844127024"/> + <string key="NSFrame">{{2, 2}, {436, 96}}</string> + <reference key="NSSuperview" ref="768906858"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="986015194"/> </object> </object> - <string key="NSFrameSize">{480, 360}</string> + <string key="NSFrame">{{20, 235}, {440, 100}}</string> <reference key="NSSuperview" ref="49161063"/> - <reference key="NSNextKeyView" ref="353606868"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="1067699710"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> - <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags">67108864</int> <int key="NSCellFlags2">0</int> - <string key="NSContents">Box</string> + <string key="NSContents">Encoding Controls</string> <reference key="NSSupport" ref="26"/> <reference key="NSBackgroundColor" ref="384686844"/> <object class="NSColor" key="NSTextColor"> @@ -859,27 +854,29 @@ <bytes key="NSWhite">MCAwLjgwMDAwMDAxAA</bytes> </object> </object> - <reference key="NSContentView" ref="353606868"/> + <reference key="NSContentView" ref="1067699710"/> <int key="NSBorderType">1</int> <int key="NSBoxType">4</int> <int key="NSTitlePosition">0</int> <bool key="NSTransparent">NO</bool> - <real value="0.0" key="NSBorderWidth2"/> + <real value="2" key="NSBorderWidth2"/> + <double key="NSCornerRadius2">12</double> <object class="NSColor" key="NSBorderColor2"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MCAwLjQ0AA</bytes> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEgMC44AA</bytes> </object> <object class="NSColor" key="NSFillColor2"> <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC43MDE5NjA4IDAuNzAxOTYwOCAwLjcwMTk2MDgAA</bytes> + <bytes key="NSRGB">MCAwIDAgMC42AA</bytes> </object> </object> </object> <string key="NSFrameSize">{480, 360}</string> <reference key="NSSuperview"/> - <reference key="NSNextKeyView" ref="289177107"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="48693112"/> </object> - <string key="NSScreenRect">{{0, 0}, {2560, 1578}}</string> + <string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string> <string key="NSMaxSize">{10000000000000, 10000000000000}</string> <bool key="NSWindowIsRestorable">YES</bool> </object> @@ -889,67 +886,59 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fInfoField</string> - <reference key="source" ref="355312334"/> - <reference key="destination" ref="628196212"/> - </object> - <int key="connectionID">73</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fPictureView</string> + <string key="label">window</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="844127024"/> + <reference key="destination" ref="616825745"/> </object> - <int key="connectionID">181</int> + <int key="connectionID">184</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">window</string> + <string key="label">fCreatePreviewMovieButton</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="616825745"/> + <reference key="destination" ref="798240356"/> </object> - <int key="connectionID">184</int> + <int key="connectionID">217</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fMovieView</string> + <string key="label">fscaleInfoField</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="48693112"/> + <reference key="destination" ref="245200984"/> </object> - <int key="connectionID">208</int> + <int key="connectionID">282</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fPictureSlider</string> + <string key="label">fPreviewMovieLengthPopUp</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="396925210"/> + <reference key="destination" ref="598619000"/> </object> - <int key="connectionID">211</int> + <int key="connectionID">232</int> </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">pictureSliderChanged:</string> + <string key="label">previewDurationPopUpChanged:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="396925210"/> + <reference key="destination" ref="598619000"/> </object> - <int key="connectionID">212</int> + <int key="connectionID">233</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fMovieCreationProgressIndicator</string> + <string key="label">fPictureControlBox</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="196868285"/> + <reference key="destination" ref="92351498"/> </object> - <int key="connectionID">214</int> + <int key="connectionID">254</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fCreatePreviewMovieButton</string> + <object class="IBActionConnection" key="connection"> + <string key="label">pictureSliderChanged:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="798240356"/> + <reference key="destination" ref="396925210"/> </object> - <int key="connectionID">217</int> + <int key="connectionID">212</int> </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> @@ -961,115 +950,99 @@ </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fPreviewMovieStatusField</string> - <reference key="source" ref="355312334"/> - <reference key="destination" ref="986015194"/> - </object> - <int key="connectionID">225</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fPreviewMovieLengthPopUp</string> + <string key="label">fPictureSettingsToggleButton</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="598619000"/> + <reference key="destination" ref="141370142"/> </object> - <int key="connectionID">232</int> + <int key="connectionID">273</int> </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">previewDurationPopUpChanged:</string> + <string key="label">toggleScaleToScreen:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="598619000"/> + <reference key="destination" ref="81685190"/> </object> - <int key="connectionID">233</int> + <int key="connectionID">279</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fPreviewWindow</string> + <string key="label">fScaleToScreenToggleButton</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="616825745"/> + <reference key="destination" ref="81685190"/> </object> - <int key="connectionID">244</int> + <int key="connectionID">277</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fEncodingControlBox</string> + <string key="label">fPictureSlider</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="768906858"/> + <reference key="destination" ref="396925210"/> </object> - <int key="connectionID">253</int> + <int key="connectionID">211</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fPictureControlBox</string> + <object class="IBActionConnection" key="connection"> + <string key="label">showPictureSettings:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="92351498"/> + <reference key="destination" ref="141370142"/> </object> - <int key="connectionID">254</int> + <int key="connectionID">274</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fPictureViewArea</string> + <string key="label">fInfoField</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="289177107"/> + <reference key="destination" ref="628196212"/> </object> - <int key="connectionID">258</int> + <int key="connectionID">73</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fCancelPreviewMovieButton</string> + <string key="label">fGoToBeginningButton</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="569473100"/> + <reference key="destination" ref="897614796"/> </object> - <int key="connectionID">263</int> + <int key="connectionID">380</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fPictureSettingsToggleButton</string> + <string key="label">fMovieScrubberSlider</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="141370142"/> + <reference key="destination" ref="886140787"/> </object> - <int key="connectionID">273</int> + <int key="connectionID">371</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showPictureSettings:</string> + <object class="IBOutletConnection" key="connection"> + <string key="label">fMovieInfoField</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="141370142"/> + <reference key="destination" ref="964331174"/> </object> - <int key="connectionID">274</int> + <int key="connectionID">374</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fScaleToScreenToggleButton</string> + <string key="label">fGoToEndButton</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="81685190"/> + <reference key="destination" ref="894608246"/> </object> - <int key="connectionID">277</int> + <int key="connectionID">381</int> </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">toggleScaleToScreen:</string> - <reference key="source" ref="355312334"/> - <reference key="destination" ref="81685190"/> - </object> - <int key="connectionID">279</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fscaleInfoField</string> + <string key="label">moviePlaybackGoToEnd:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="245200984"/> + <reference key="destination" ref="894608246"/> </object> - <int key="connectionID">282</int> + <int key="connectionID">383</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fMoviePlaybackControlBox</string> + <object class="IBActionConnection" key="connection"> + <string key="label">toggleMoviePreviewPlayPause:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="700607930"/> + <reference key="destination" ref="102183813"/> </object> - <int key="connectionID">363</int> + <int key="connectionID">370</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> @@ -1080,92 +1053,92 @@ <int key="connectionID">364</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fGoToStillPreviewButton</string> + <object class="IBActionConnection" key="connection"> + <string key="label">moviePlaybackGoToBeginning:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="630042886"/> + <reference key="destination" ref="897614796"/> </object> - <int key="connectionID">368</int> + <int key="connectionID">382</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">pictureSliderChanged:</string> + <object class="IBOutletConnection" key="connection"> + <string key="label">fGoToStillPreviewButton</string> <reference key="source" ref="355312334"/> <reference key="destination" ref="630042886"/> </object> - <int key="connectionID">369</int> + <int key="connectionID">368</int> </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">toggleMoviePreviewPlayPause:</string> + <string key="label">previewScrubberChanged:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="102183813"/> + <reference key="destination" ref="886140787"/> </object> - <int key="connectionID">370</int> + <int key="connectionID">384</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fMovieScrubberSlider</string> + <string key="label">fMoviePlaybackControlBox</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="886140787"/> + <reference key="destination" ref="700607930"/> </object> - <int key="connectionID">371</int> + <int key="connectionID">363</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fMovieInfoField</string> + <object class="IBActionConnection" key="connection"> + <string key="label">showPicturesPreview:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="964331174"/> + <reference key="destination" ref="630042886"/> </object> - <int key="connectionID">374</int> + <int key="connectionID">396</int> </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label">fGoToBeginningButton</string> + <string key="label">fMovieCreationProgressIndicator</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="897614796"/> + <reference key="destination" ref="196868285"/> </object> - <int key="connectionID">380</int> + <int key="connectionID">214</int> </object> <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fGoToEndButton</string> + <object class="IBActionConnection" key="connection"> + <string key="label">cancelCreateMoviePreview:</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="894608246"/> + <reference key="destination" ref="569473100"/> </object> - <int key="connectionID">381</int> + <int key="connectionID">395</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">moviePlaybackGoToBeginning:</string> + <object class="IBOutletConnection" key="connection"> + <string key="label">fPreviewMovieStatusField</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="897614796"/> + <reference key="destination" ref="986015194"/> </object> - <int key="connectionID">382</int> + <int key="connectionID">225</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">moviePlaybackGoToEnd:</string> + <object class="IBOutletConnection" key="connection"> + <string key="label">fCancelPreviewMovieButton</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="894608246"/> + <reference key="destination" ref="569473100"/> </object> - <int key="connectionID">383</int> + <int key="connectionID">263</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">previewScrubberChanged:</string> + <object class="IBOutletConnection" key="connection"> + <string key="label">fEncodingControlBox</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="886140787"/> + <reference key="destination" ref="768906858"/> </object> - <int key="connectionID">384</int> + <int key="connectionID">253</int> </object> <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">cancelCreateMoviePreview:</string> + <object class="IBOutletConnection" key="connection"> + <string key="label">fMovieView</string> <reference key="source" ref="355312334"/> - <reference key="destination" ref="569473100"/> + <reference key="destination" ref="48693112"/> </object> - <int key="connectionID">395</int> + <int key="connectionID">208</int> </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> @@ -1212,210 +1185,198 @@ <reference key="object" ref="49161063"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="289177107"/> + <reference ref="700607930"/> + <reference ref="768906858"/> + <reference ref="92351498"/> + <reference ref="48693112"/> </object> <reference key="parent" ref="616825745"/> </object> <object class="IBObjectRecord"> - <int key="objectID">257</int> - <reference key="object" ref="289177107"/> + <int key="objectID">335</int> + <reference key="object" ref="700607930"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="844127024"/> - <reference ref="92351498"/> - <reference ref="768906858"/> - <reference ref="48693112"/> - <reference ref="700607930"/> + <reference ref="102183813"/> + <reference ref="894608246"/> + <reference ref="897614796"/> + <reference ref="964331174"/> + <reference ref="886140787"/> + <reference ref="630042886"/> </object> <reference key="parent" ref="49161063"/> </object> <object class="IBObjectRecord"> - <int key="objectID">252</int> - <reference key="object" ref="768906858"/> + <int key="objectID">365</int> + <reference key="object" ref="630042886"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="196868285"/> - <reference ref="986015194"/> - <reference ref="569473100"/> + <reference ref="999505395"/> </object> - <reference key="parent" ref="289177107"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">213</int> - <reference key="object" ref="196868285"/> - <reference key="parent" ref="768906858"/> + <reference key="parent" ref="700607930"/> </object> <object class="IBObjectRecord"> - <int key="objectID">223</int> - <reference key="object" ref="986015194"/> + <int key="objectID">375</int> + <reference key="object" ref="897614796"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="304208899"/> + <reference ref="913339095"/> </object> - <reference key="parent" ref="768906858"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">224</int> - <reference key="object" ref="304208899"/> - <reference key="parent" ref="986015194"/> + <reference key="parent" ref="700607930"/> </object> <object class="IBObjectRecord"> - <int key="objectID">251</int> - <reference key="object" ref="92351498"/> + <int key="objectID">378</int> + <reference key="object" ref="894608246"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="628196212"/> - <reference ref="396925210"/> - <reference ref="245200984"/> - <reference ref="66510867"/> - <reference ref="598619000"/> - <reference ref="81685190"/> - <reference ref="798240356"/> - <reference ref="141370142"/> + <reference ref="117507013"/> </object> - <reference key="parent" ref="289177107"/> + <reference key="parent" ref="700607930"/> </object> <object class="IBObjectRecord"> - <int key="objectID">38</int> - <reference key="object" ref="628196212"/> + <int key="objectID">361</int> + <reference key="object" ref="102183813"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="921881842"/> + <reference ref="19809002"/> </object> - <reference key="parent" ref="92351498"/> + <reference key="parent" ref="700607930"/> </object> <object class="IBObjectRecord"> - <int key="objectID">215</int> - <reference key="object" ref="798240356"/> + <int key="objectID">372</int> + <reference key="object" ref="964331174"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="975305481"/> + <reference ref="113790059"/> </object> - <reference key="parent" ref="92351498"/> + <reference key="parent" ref="700607930"/> </object> <object class="IBObjectRecord"> - <int key="objectID">234</int> - <reference key="object" ref="66510867"/> + <int key="objectID">341</int> + <reference key="object" ref="886140787"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="567286013"/> + <reference ref="493667684"/> </object> - <reference key="parent" ref="92351498"/> + <reference key="parent" ref="700607930"/> </object> <object class="IBObjectRecord"> - <int key="objectID">226</int> - <reference key="object" ref="598619000"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="953108737"/> - </object> - <reference key="parent" ref="92351498"/> + <int key="objectID">346</int> + <reference key="object" ref="493667684"/> + <reference key="parent" ref="886140787"/> </object> <object class="IBObjectRecord"> - <int key="objectID">209</int> - <reference key="object" ref="396925210"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="639767004"/> - </object> - <reference key="parent" ref="92351498"/> + <int key="objectID">373</int> + <reference key="object" ref="113790059"/> + <reference key="parent" ref="964331174"/> </object> <object class="IBObjectRecord"> - <int key="objectID">210</int> - <reference key="object" ref="639767004"/> - <reference key="parent" ref="396925210"/> + <int key="objectID">362</int> + <reference key="object" ref="19809002"/> + <reference key="parent" ref="102183813"/> </object> <object class="IBObjectRecord"> - <int key="objectID">227</int> - <reference key="object" ref="953108737"/> + <int key="objectID">379</int> + <reference key="object" ref="117507013"/> + <reference key="parent" ref="894608246"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">376</int> + <reference key="object" ref="913339095"/> + <reference key="parent" ref="897614796"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">366</int> + <reference key="object" ref="999505395"/> + <reference key="parent" ref="630042886"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">252</int> + <reference key="object" ref="768906858"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="501672847"/> + <reference ref="569473100"/> + <reference ref="986015194"/> + <reference ref="196868285"/> </object> - <reference key="parent" ref="598619000"/> + <reference key="parent" ref="49161063"/> </object> <object class="IBObjectRecord"> - <int key="objectID">228</int> - <reference key="object" ref="501672847"/> + <int key="objectID">261</int> + <reference key="object" ref="569473100"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="372655630"/> - <reference ref="607756368"/> - <reference ref="272743761"/> + <reference ref="908165435"/> </object> - <reference key="parent" ref="953108737"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">231</int> - <reference key="object" ref="372655630"/> - <reference key="parent" ref="501672847"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">230</int> - <reference key="object" ref="607756368"/> - <reference key="parent" ref="501672847"/> + <reference key="parent" ref="768906858"/> </object> <object class="IBObjectRecord"> - <int key="objectID">229</int> - <reference key="object" ref="272743761"/> - <reference key="parent" ref="501672847"/> + <int key="objectID">223</int> + <reference key="object" ref="986015194"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="304208899"/> + </object> + <reference key="parent" ref="768906858"/> </object> <object class="IBObjectRecord"> - <int key="objectID">235</int> - <reference key="object" ref="567286013"/> - <reference key="parent" ref="66510867"/> + <int key="objectID">213</int> + <reference key="object" ref="196868285"/> + <reference key="parent" ref="768906858"/> </object> <object class="IBObjectRecord"> - <int key="objectID">216</int> - <reference key="object" ref="975305481"/> - <reference key="parent" ref="798240356"/> + <int key="objectID">224</int> + <reference key="object" ref="304208899"/> + <reference key="parent" ref="986015194"/> </object> <object class="IBObjectRecord"> - <int key="objectID">165</int> - <reference key="object" ref="921881842"/> - <reference key="parent" ref="628196212"/> + <int key="objectID">262</int> + <reference key="object" ref="908165435"/> + <reference key="parent" ref="569473100"/> </object> <object class="IBObjectRecord"> - <int key="objectID">261</int> - <reference key="object" ref="569473100"/> + <int key="objectID">251</int> + <reference key="object" ref="92351498"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="908165435"/> + <reference ref="66510867"/> + <reference ref="598619000"/> + <reference ref="141370142"/> + <reference ref="798240356"/> + <reference ref="81685190"/> + <reference ref="245200984"/> + <reference ref="396925210"/> + <reference ref="628196212"/> </object> - <reference key="parent" ref="768906858"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">262</int> - <reference key="object" ref="908165435"/> - <reference key="parent" ref="569473100"/> + <reference key="parent" ref="49161063"/> </object> <object class="IBObjectRecord"> - <int key="objectID">271</int> - <reference key="object" ref="141370142"/> + <int key="objectID">38</int> + <reference key="object" ref="628196212"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="606007744"/> + <reference ref="921881842"/> </object> <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">272</int> - <reference key="object" ref="606007744"/> - <reference key="parent" ref="141370142"/> + <int key="objectID">165</int> + <reference key="object" ref="921881842"/> + <reference key="parent" ref="628196212"/> </object> <object class="IBObjectRecord"> - <int key="objectID">275</int> - <reference key="object" ref="81685190"/> + <int key="objectID">209</int> + <reference key="object" ref="396925210"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="847033897"/> + <reference ref="639767004"/> </object> <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">276</int> - <reference key="object" ref="847033897"/> - <reference key="parent" ref="81685190"/> + <int key="objectID">210</int> + <reference key="object" ref="639767004"/> + <reference key="parent" ref="396925210"/> </object> <object class="IBObjectRecord"> <int key="objectID">280</int> @@ -1432,121 +1393,109 @@ <reference key="parent" ref="245200984"/> </object> <object class="IBObjectRecord"> - <int key="objectID">179</int> - <reference key="object" ref="844127024"/> + <int key="objectID">275</int> + <reference key="object" ref="81685190"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="955430771"/> + <reference ref="847033897"/> </object> - <reference key="parent" ref="289177107"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">180</int> - <reference key="object" ref="955430771"/> - <reference key="parent" ref="844127024"/> + <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">207</int> - <reference key="object" ref="48693112"/> - <reference key="parent" ref="289177107"/> + <int key="objectID">276</int> + <reference key="object" ref="847033897"/> + <reference key="parent" ref="81685190"/> </object> <object class="IBObjectRecord"> - <int key="objectID">335</int> - <reference key="object" ref="700607930"/> + <int key="objectID">215</int> + <reference key="object" ref="798240356"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="886140787"/> - <reference ref="964331174"/> - <reference ref="102183813"/> - <reference ref="894608246"/> - <reference ref="630042886"/> - <reference ref="897614796"/> + <reference ref="975305481"/> </object> - <reference key="parent" ref="289177107"/> + <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">341</int> - <reference key="object" ref="886140787"/> + <int key="objectID">216</int> + <reference key="object" ref="975305481"/> + <reference key="parent" ref="798240356"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">271</int> + <reference key="object" ref="141370142"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="493667684"/> + <reference ref="606007744"/> </object> - <reference key="parent" ref="700607930"/> + <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">346</int> - <reference key="object" ref="493667684"/> - <reference key="parent" ref="886140787"/> + <int key="objectID">272</int> + <reference key="object" ref="606007744"/> + <reference key="parent" ref="141370142"/> </object> <object class="IBObjectRecord"> - <int key="objectID">361</int> - <reference key="object" ref="102183813"/> + <int key="objectID">226</int> + <reference key="object" ref="598619000"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="19809002"/> + <reference ref="953108737"/> </object> - <reference key="parent" ref="700607930"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">362</int> - <reference key="object" ref="19809002"/> - <reference key="parent" ref="102183813"/> + <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">365</int> - <reference key="object" ref="630042886"/> + <int key="objectID">227</int> + <reference key="object" ref="953108737"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="999505395"/> + <reference ref="501672847"/> </object> - <reference key="parent" ref="700607930"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">366</int> - <reference key="object" ref="999505395"/> - <reference key="parent" ref="630042886"/> + <reference key="parent" ref="598619000"/> </object> <object class="IBObjectRecord"> - <int key="objectID">372</int> - <reference key="object" ref="964331174"/> + <int key="objectID">228</int> + <reference key="object" ref="501672847"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="113790059"/> + <reference ref="272743761"/> + <reference ref="607756368"/> + <reference ref="372655630"/> </object> - <reference key="parent" ref="700607930"/> + <reference key="parent" ref="953108737"/> </object> <object class="IBObjectRecord"> - <int key="objectID">373</int> - <reference key="object" ref="113790059"/> - <reference key="parent" ref="964331174"/> + <int key="objectID">231</int> + <reference key="object" ref="372655630"/> + <reference key="parent" ref="501672847"/> </object> <object class="IBObjectRecord"> - <int key="objectID">375</int> - <reference key="object" ref="897614796"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="913339095"/> - </object> - <reference key="parent" ref="700607930"/> + <int key="objectID">230</int> + <reference key="object" ref="607756368"/> + <reference key="parent" ref="501672847"/> </object> <object class="IBObjectRecord"> - <int key="objectID">376</int> - <reference key="object" ref="913339095"/> - <reference key="parent" ref="897614796"/> + <int key="objectID">229</int> + <reference key="object" ref="272743761"/> + <reference key="parent" ref="501672847"/> </object> <object class="IBObjectRecord"> - <int key="objectID">378</int> - <reference key="object" ref="894608246"/> + <int key="objectID">234</int> + <reference key="object" ref="66510867"/> <object class="NSMutableArray" key="children"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="117507013"/> + <reference ref="567286013"/> </object> - <reference key="parent" ref="700607930"/> + <reference key="parent" ref="92351498"/> </object> <object class="IBObjectRecord"> - <int key="objectID">379</int> - <reference key="object" ref="117507013"/> - <reference key="parent" ref="894608246"/> + <int key="objectID">235</int> + <reference key="object" ref="567286013"/> + <reference key="parent" ref="66510867"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">207</int> + <reference key="object" ref="48693112"/> + <reference key="parent" ref="49161063"/> </object> </object> </object> @@ -1558,8 +1507,6 @@ <string>-2.IBPluginDependency</string> <string>-3.IBPluginDependency</string> <string>165.IBPluginDependency</string> - <string>179.IBPluginDependency</string> - <string>180.IBPluginDependency</string> <string>207.IBPluginDependency</string> <string>209.IBPluginDependency</string> <string>210.IBPluginDependency</string> @@ -1592,7 +1539,6 @@ <string>252.IBViewIntegration.shadowColor</string> <string>252.IBViewIntegration.shadowOffsetHeight</string> <string>252.IBViewIntegration.shadowOffsetWidth</string> - <string>257.IBPluginDependency</string> <string>261.IBAttributePlaceholdersKey</string> <string>261.IBPluginDependency</string> <string>262.IBPluginDependency</string> @@ -1641,15 +1587,17 @@ <string>5.IBPluginDependency</string> <string>5.IBWindowTemplateEditedContentRect</string> <string>6.IBPluginDependency</string> + <string>6.IBViewIntegration.shadowBlurRadius</string> + <string>6.IBViewIntegration.shadowColor</string> + <string>6.IBViewIntegration.shadowOffsetHeight</string> + <string>6.IBViewIntegration.shadowOffsetWidth</string> </object> - <object class="NSMutableArray" key="dict.values"> + <object class="NSArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.QTKitIBPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -1699,7 +1647,6 @@ <reference ref="864448722"/> <integer value="0"/> <integer value="0"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <object class="NSMutableDictionary"> <string key="NS.key.0">ToolTip</string> <object class="IBToolTipAttribute" key="NS.object.0"> @@ -1797,6 +1744,10 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>{{262, 474}, {480, 360}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <real value="0.0"/> + <reference ref="864448722"/> + <real value="0.0"/> + <real value="0.0"/> </object> </object> <object class="NSMutableDictionary" key="unlocalizedProperties"> @@ -1811,9 +1762,330 @@ <reference key="dict.values" ref="0"/> </object> <nil key="sourceID"/> - <int key="maxID">395</int> + <int key="maxID">396</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">PreviewController</string> + <string key="superclassName">NSWindowController</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>cancelCreateMoviePreview:</string> + <string>createMoviePreview:</string> + <string>moviePlaybackGoBackwardOneFrame:</string> + <string>moviePlaybackGoForwardOneFrame:</string> + <string>moviePlaybackGoToBeginning:</string> + <string>moviePlaybackGoToEnd:</string> + <string>pictureSliderChanged:</string> + <string>previewDurationPopUpChanged:</string> + <string>previewScrubberChanged:</string> + <string>settingsChanged:</string> + <string>showMoviePreview:</string> + <string>showPictureSettings:</string> + <string>showPicturesPreview:</string> + <string>showWindow:</string> + <string>toggleMoviePreviewPlayPause:</string> + <string>toggleScaleToScreen:</string> + </object> + <object class="NSArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>NSString</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>cancelCreateMoviePreview:</string> + <string>createMoviePreview:</string> + <string>moviePlaybackGoBackwardOneFrame:</string> + <string>moviePlaybackGoForwardOneFrame:</string> + <string>moviePlaybackGoToBeginning:</string> + <string>moviePlaybackGoToEnd:</string> + <string>pictureSliderChanged:</string> + <string>previewDurationPopUpChanged:</string> + <string>previewScrubberChanged:</string> + <string>settingsChanged:</string> + <string>showMoviePreview:</string> + <string>showPictureSettings:</string> + <string>showPicturesPreview:</string> + <string>showWindow:</string> + <string>toggleMoviePreviewPlayPause:</string> + <string>toggleScaleToScreen:</string> + </object> + <object class="NSArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBActionInfo"> + <string key="name">cancelCreateMoviePreview:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">createMoviePreview:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moviePlaybackGoBackwardOneFrame:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moviePlaybackGoForwardOneFrame:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moviePlaybackGoToBeginning:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">moviePlaybackGoToEnd:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">pictureSliderChanged:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">previewDurationPopUpChanged:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">previewScrubberChanged:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">settingsChanged:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showMoviePreview:</string> + <string key="candidateClassName">NSString</string> + </object> + <object class="IBActionInfo"> + <string key="name">showPictureSettings:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showPicturesPreview:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">showWindow:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleMoviePreviewPlayPause:</string> + <string key="candidateClassName">id</string> + </object> + <object class="IBActionInfo"> + <string key="name">toggleScaleToScreen:</string> + <string key="candidateClassName">id</string> + </object> + </object> + </object> + <object class="NSMutableDictionary" key="outlets"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>fCancelPreviewMovieButton</string> + <string>fCreatePreviewMovieButton</string> + <string>fEncodingControlBox</string> + <string>fGoBackwardOneFrameButton</string> + <string>fGoForwardOneFrameButton</string> + <string>fGoToBeginningButton</string> + <string>fGoToEndButton</string> + <string>fGoToStillPreviewButton</string> + <string>fInfoField</string> + <string>fMovieCreationProgressIndicator</string> + <string>fMovieInfoField</string> + <string>fMoviePlaybackControlBox</string> + <string>fMovieScrubberSlider</string> + <string>fMovieView</string> + <string>fPictureControlBox</string> + <string>fPictureSettingsToggleButton</string> + <string>fPictureSlider</string> + <string>fPlayPauseButton</string> + <string>fPreviewMovieLengthPopUp</string> + <string>fPreviewMovieStatusField</string> + <string>fScaleToScreenToggleButton</string> + <string>fShowPreviewMovieButton</string> + <string>fscaleInfoField</string> + </object> + <object class="NSArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSButton</string> + <string>NSButton</string> + <string>NSBox</string> + <string>NSButton</string> + <string>NSButton</string> + <string>NSButton</string> + <string>NSButton</string> + <string>NSButton</string> + <string>NSTextField</string> + <string>NSProgressIndicator</string> + <string>NSTextField</string> + <string>NSBox</string> + <string>NSSlider</string> + <string>QTMovieView</string> + <string>NSBox</string> + <string>NSButton</string> + <string>NSSlider</string> + <string>NSButton</string> + <string>NSPopUpButton</string> + <string>NSTextField</string> + <string>NSButton</string> + <string>NSButton</string> + <string>NSTextField</string> + </object> + </object> + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>fCancelPreviewMovieButton</string> + <string>fCreatePreviewMovieButton</string> + <string>fEncodingControlBox</string> + <string>fGoBackwardOneFrameButton</string> + <string>fGoForwardOneFrameButton</string> + <string>fGoToBeginningButton</string> + <string>fGoToEndButton</string> + <string>fGoToStillPreviewButton</string> + <string>fInfoField</string> + <string>fMovieCreationProgressIndicator</string> + <string>fMovieInfoField</string> + <string>fMoviePlaybackControlBox</string> + <string>fMovieScrubberSlider</string> + <string>fMovieView</string> + <string>fPictureControlBox</string> + <string>fPictureSettingsToggleButton</string> + <string>fPictureSlider</string> + <string>fPlayPauseButton</string> + <string>fPreviewMovieLengthPopUp</string> + <string>fPreviewMovieStatusField</string> + <string>fScaleToScreenToggleButton</string> + <string>fShowPreviewMovieButton</string> + <string>fscaleInfoField</string> + </object> + <object class="NSArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBToOneOutletInfo"> + <string key="name">fCancelPreviewMovieButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fCreatePreviewMovieButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fEncodingControlBox</string> + <string key="candidateClassName">NSBox</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fGoBackwardOneFrameButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fGoForwardOneFrameButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fGoToBeginningButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fGoToEndButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fGoToStillPreviewButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fInfoField</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fMovieCreationProgressIndicator</string> + <string key="candidateClassName">NSProgressIndicator</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fMovieInfoField</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fMoviePlaybackControlBox</string> + <string key="candidateClassName">NSBox</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fMovieScrubberSlider</string> + <string key="candidateClassName">NSSlider</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fMovieView</string> + <string key="candidateClassName">QTMovieView</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fPictureControlBox</string> + <string key="candidateClassName">NSBox</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fPictureSettingsToggleButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fPictureSlider</string> + <string key="candidateClassName">NSSlider</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fPlayPauseButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fPreviewMovieLengthPopUp</string> + <string key="candidateClassName">NSPopUpButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fPreviewMovieStatusField</string> + <string key="candidateClassName">NSTextField</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fScaleToScreenToggleButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fShowPreviewMovieButton</string> + <string key="candidateClassName">NSButton</string> + </object> + <object class="IBToOneOutletInfo"> + <string key="name">fscaleInfoField</string> + <string key="candidateClassName">NSTextField</string> + </object> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">./Classes/PreviewController.h</string> + </object> + </object> + </object> </object> - <object class="IBClassDescriber" key="IBDocument.Classes"/> <int key="IBDocument.localizationMode">0</int> <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> @@ -1832,11 +2104,19 @@ <bool key="EncodedWithXMLCoder">YES</bool> <string>NSMenuCheckmark</string> <string>NSMenuMixedState</string> + <string>next-p</string> + <string>pause-p</string> + <string>play-p</string> + <string>prev-p</string> </object> - <object class="NSMutableArray" key="dict.values"> + <object class="NSArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>{9, 8}</string> - <string>{7, 2}</string> + <string>{11, 11}</string> + <string>{10, 3}</string> + <string>{48, 48}</string> + <string>{48, 48}</string> + <string>{48, 48}</string> + <string>{48, 48}</string> </object> </object> </data> diff --git a/macosx/HBPreviewController.h b/macosx/HBPreviewController.h index 077a6da3f..420e2831e 100644 --- a/macosx/HBPreviewController.h +++ b/macosx/HBPreviewController.h @@ -12,22 +12,18 @@ @class HBController; -#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate - -@interface PreviewController : NSWindowController +@interface PreviewController : NSWindowController <NSWindowDelegate> { hb_handle_t * fHandle; hb_title_t * fTitle; - HBController *fHBController; // reference to HBController + 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; + CALayer * fWhiteBackground; + CALayer * fPictureLayer; IBOutlet NSBox * fPictureControlBox; IBOutlet NSBox * fEncodingControlBox; IBOutlet NSBox * fMoviePlaybackControlBox; @@ -36,24 +32,16 @@ IBOutlet NSTextField * fInfoField; IBOutlet NSTextField * fscaleInfoField; - BOOL isEncoding; - CGFloat backingScaleFactor; - - 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 */ + BOOL scaleToScreen; IBOutlet NSButton * fScaleToScreenToggleButton; IBOutlet NSButton * fPictureSettingsToggleButton; - BOOL scaleToScreen; /* Movie Previews */ QTMovie * aMovie; @@ -69,13 +57,13 @@ 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 + NSInteger fEncodeState; NSTimer * fLibhbTimer; // timer for retrieving state from libhb IBOutlet NSTextField * fPreviewMovieStatusField; IBOutlet NSPopUpButton * fPreviewMovieLengthPopUp; // popup of choices for length of preview in seconds @@ -84,18 +72,15 @@ - (void) SetHandle: (hb_handle_t *) handle; - (void) SetTitle: (hb_title_t *) title; -- (void)setHBController: (HBController *)controller; -- (IBAction) showPreviewWindow: (id)sender; -- (BOOL)acceptsMouseMovedEvents; +- (void) setHBController: (HBController *)controller; - (void) displayPreview; -- (IBAction) SettingsChanged: (id) sender; +- (IBAction) settingsChanged: (id) sender; - (IBAction) pictureSliderChanged: (id) sender; -- (IBAction)showPictureSettings:(id)sender; +- (IBAction) showPictureSettings:(id)sender; - (NSString*) pictureSizeInfoString; -- (IBAction)toggleScaleToScreen:(id)sender; -- (IBAction)goWindowedScreen:(id)sender; +- (IBAction) toggleScaleToScreen:(id)sender; /* HUD overlay */ - (void) enableHudControls; @@ -109,37 +94,36 @@ - (void) stopReceivingLibhbNotifications; - (void) installMovieCallbacks; -- (void)removeMovieCallbacks; +- (void) removeMovieCallbacks; - (IBAction) cancelCreateMoviePreview: (id) sender; - (IBAction) createMoviePreview: (id) sender; - (void) libhbStateChanged: (hb_state_t ) state; - (IBAction) showMoviePreview: (NSString *) path; +- (IBAction) showPicturesPreview: (id) sender; - (IBAction) toggleMoviePreviewPlayPause: (id) sender; - (IBAction) moviePlaybackGoToBeginning: (id) sender; - (IBAction) moviePlaybackGoToEnd: (id) sender; - (IBAction) moviePlaybackGoBackwardOneFrame: (id) sender; - (IBAction) moviePlaybackGoForwardOneFrame: (id) sender; --(void) initPreviewScrubberForMovie; --(void) adjustPreviewScrubberForCurrentMovieTime; +- (void) initPreviewScrubberForMovie; +- (void) adjustPreviewScrubberForCurrentMovieTime; - (IBAction) previewScrubberChanged: (id) sender; --(void)setTime:(int)timeValue; --(void)timeToQTTime:(long)timeValue resultTime:(QTTime *)aQTTime; +- (BOOL) isPlaying; + - (void) startMovieTimer; - (void) stopMovieTimer; -- (NSString*) calculatePlaybackSMTPETimecodeForDisplay; +- (NSString*) SMTPETimecode: (QTTime)time; +- (QTTime)SliderToQTTime:(double)time; - (IBAction) previewDurationPopUpChanged: (id) sender; - -- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title; - -+ (NSImage *) makeImageForPicture: (int)pictureIndex ++ (NSImage *) makeImageForPicture: (NSInteger)pictureIndex libhb:(hb_handle_t*)handle title:(hb_title_t*)title; -- (NSImage *) imageForPicture: (int) pictureIndex; +- (NSImage *) imageForPicture: (NSInteger) pictureIndex; - (void) purgeImageCache; @end diff --git a/macosx/HBPreviewController.m b/macosx/HBPreviewController.m index a6b386bd8..20c5e07f6 100644 --- a/macosx/HBPreviewController.m +++ b/macosx/HBPreviewController.m @@ -7,7 +7,10 @@ #import "HBPreviewController.h" #import "Controller.h" -@implementation QTMovieView ( HBQTkitExt ) +#define BORDER_SIZE 2.0 +#define HB_NUM_HBLIB_PICTURES 20 // # of preview pictures libhb should generate + +@implementation QTMovieView (HBExtensions) - (void) mouseMoved:(NSEvent *)theEvent { [super mouseMoved:theEvent]; @@ -25,10 +28,7 @@ @interface PreviewController (Private) - (NSSize)optimalViewSizeForImageSize: (NSSize)imageSize; -- (void)resizeSheetForViewSize: (NSSize)viewSize; -- (void)setViewSize: (NSSize)viewSize; -- (BOOL)viewNeedsToResizeToSize: (NSSize)newSize; - +- (void)resizeWindowForViewSize: (NSSize)viewSize; @end @implementation PreviewController @@ -51,29 +51,10 @@ /* Init libhb with check for updates libhb style set to "0" so its ignored and lets sparkle take care of it */ int loggingLevel = [[[NSUserDefaults standardUserDefaults] objectForKey:@"LoggingLevel"] intValue]; fPreviewLibhb = hb_init(loggingLevel, 0); - - - } return self; } - -//------------------------------------------------------------------------------------ -// Displays and brings the picture window to the front -//------------------------------------------------------------------------------------ -- (IBAction) showPreviewWindow: (id)sender -{ - [self showWindow:sender]; - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"PreviewWindowIsOpen"]; - - /* lets set the preview window to accept mouse moved events */ - [fPreviewWindow setAcceptsMouseMovedEvents:YES]; - hudTimerSeconds = 0; - [self pictureSliderChanged:nil]; - [self startReceivingLibhbNotifications]; -} - - (void)setHBController: (HBController *)controller { fHBController = controller; @@ -81,15 +62,16 @@ - (void)awakeFromNib { - [fPreviewWindow setDelegate:self]; + [[self window] setDelegate:self]; + if( ![[self window] setFrameUsingName:@"Preview"] ) [[self window] center]; + [self setWindowFrameAutosaveName:@"Preview"]; [[self window] setExcludedFromWindowsMenu:YES]; /* lets set the preview window to accept mouse moved events */ - [fPreviewWindow setAcceptsMouseMovedEvents:YES]; - //[self pictureSliderChanged:nil]; + [[self window] setAcceptsMouseMovedEvents:YES]; [self startReceivingLibhbNotifications]; hudTimerSeconds = 0; @@ -98,39 +80,74 @@ */ [fMovieCreationProgressIndicator setUsesThreadedAnimation:NO]; - /* Setup our layers for core animation */ - [fPictureViewArea setWantsLayer:YES]; - [fPictureView setWantsLayer:YES]; + /* we set the preview length popup in seconds */ + [fPreviewMovieLengthPopUp removeAllItems]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"15"]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"30"]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"45"]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"60"]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"90"]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"105"]; + [fPreviewMovieLengthPopUp addItemWithTitle: @"120"]; - [fCancelPreviewMovieButton setWantsLayer:YES]; - [fMovieCreationProgressIndicator setWantsLayer:YES]; + [fMovieView setHidden:YES]; + [fMovieView setDelegate:self]; + /* Setup our layers for core animation */ + [[[self window] contentView] setWantsLayer:YES]; [fPictureControlBox setWantsLayer:YES]; [fEncodingControlBox setWantsLayer:YES]; - [fMovieView setWantsLayer:YES]; - [fMovieView setHidden:YES]; - [fMovieView setDelegate:self]; + [fMoviePlaybackControlBox setWantsLayer:YES]; + + fWhiteBackground = [CALayer layer]; + [fWhiteBackground setBounds:CGRectMake(0.0, 0.0, 480.0, 360.0)]; + [fWhiteBackground setPosition:CGPointMake([[[self window] contentView] frame].size.width /2, + [[[self window] contentView] frame].size.height /2)]; + + [fWhiteBackground setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable]; + CGColorRef white = CGColorCreateGenericRGB(1.0, 1.0, 1.0, 1.0); + [fWhiteBackground setBackgroundColor: white]; + CFRelease(white); + [fWhiteBackground setShadowOpacity:0.5f]; + [fWhiteBackground setShadowOffset:CGSizeMake(0, 0)]; - /* Since the xib has everything off center for easy acess - * we align our views and windows here we an align to anything - * since it will actually change later upon source load, but - * for convenience we will use the fPictureViewArea - */ - - /* Align the still preview image view to the picture box */ - [fPictureView setFrameSize:[fPictureViewArea frame].size]; - [fMovieView setFrameSize:[fPictureViewArea frame].size]; - //[fPreviewWindow setFrameSize:[fPictureViewArea frame].size]; + fPictureLayer = [CALayer layer]; + [fPictureLayer setBounds:CGRectMake(0.0, 0.0, 476.0, 356.0)]; + [fPictureLayer setPosition:CGPointMake([[[self window] contentView] frame].size.width /2, + [[[self window] contentView] frame].size.height /2)]; + + [fPictureLayer setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable]; + + NSMutableDictionary *actions = [NSMutableDictionary + dictionaryWithDictionary:[fPictureLayer actions]]; + + // Disable fade on contents change + [actions setObject:[NSNull null] forKey:@"contents"]; + [fPictureLayer setActions:actions]; + + [[[[self window] contentView] layer] insertSublayer:fWhiteBackground below: [fMovieView layer]]; + [[[[self window] contentView] layer] insertSublayer:fPictureLayer below: [fMovieView layer]]; + + /* relocate our hud origins */ + NSPoint hudControlBoxOrigin = [fMoviePlaybackControlBox frame].origin; + [fPictureControlBox setFrameOrigin:hudControlBoxOrigin]; + [fEncodingControlBox setFrameOrigin:hudControlBoxOrigin]; + [fMoviePlaybackControlBox setFrameOrigin:hudControlBoxOrigin]; if( [[self window] respondsToSelector:@selector( backingScaleFactor )] ) backingScaleFactor = [[self window] backingScaleFactor]; else backingScaleFactor = 1.0; + + [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(titleChanged:) name: HBTitleChangedNotification object:nil]; } -- (BOOL)acceptsMouseMovedEvents +- (void) titleChanged: (NSNotification *) aNotification { - return YES; + /* Notification from HBController, only used to stop + * an encoding while the HBController is scanning a new title + */ + [self cancelCreateMoviePreview:self]; } - (void)windowWillClose:(NSNotification *)aNotification @@ -141,22 +158,18 @@ * to go back to still previews .. just in case nothing is loaded up like in * a Launch, cancel new scan then quit type scenario. */ - if (fPicture) + + if (fEncodeState || [self isPlaying]) { - [self pictureSliderChanged:nil]; - [fMovieTimer invalidate]; - [fMovieTimer release]; + [self cancelCreateMoviePreview:self]; + [fMovieView pause:self]; + [self stopMovieTimer]; } - + hudTimerSeconds = 0; [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"PreviewWindowIsOpen"]; } -- (BOOL)windowShouldClose:(id)fPictureWindow -{ - return YES; -} - - (void) dealloc { hb_stop(fPreviewLibhb); @@ -164,7 +177,7 @@ { [[NSFileManager defaultManager] removeItemAtPath:fPreviewMoviePath error:nil]; [fPreviewMoviePath release]; - } + } [fLibhbTimer invalidate]; [fLibhbTimer release]; @@ -176,7 +189,6 @@ [fMovieTimer release]; [fPicturePreviews release]; - [fFullScreenWindow release]; hb_close(&fPreviewLibhb); @@ -189,18 +201,6 @@ { fHandle = handle; - - - /* we set the preview length popup in seconds */ - [fPreviewMovieLengthPopUp removeAllItems]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"15"]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"30"]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"45"]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"60"]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"90"]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"105"]; - [fPreviewMovieLengthPopUp addItemWithTitle: @"120"]; - /* adjust the preview slider length */ /* We use our advance pref to determine how many previews we scanned */ int hb_num_previews = [[[NSUserDefaults standardUserDefaults] objectForKey:@"PreviewsNumber"] intValue]; @@ -213,22 +213,17 @@ } else { - /* currently hard set default to 10 seconds */ - [fPreviewMovieLengthPopUp selectItemAtIndex: 1]; + /* currently hard set default to 15 seconds */ + [fPreviewMovieLengthPopUp selectItemAtIndex: 0]; } } - (void) SetTitle: (hb_title_t *) title { - hb_job_t * job = title->job; - fTitle = title; fPicture = 0; - MaxOutputWidth = title->width - job->crop[2] - job->crop[3]; - MaxOutputHeight = title->height - job->crop[0] - job->crop[1]; - - [self SettingsChanged: nil]; + [self settingsChanged:nil]; } - (void)windowDidChangeBackingProperties:(NSNotification *)notification { @@ -253,31 +248,17 @@ - (void) displayPreview { hb_job_t * job = fTitle->job; - /* lets make sure that the still picture view is not hidden and that - * the movie preview is - */ - aMovie = nil; - [fMovieView pause:nil]; - [fMovieView setHidden:YES]; - [fMovieView setMovie:nil]; - [fMovieCreationProgressIndicator stopAnimation: nil]; - [fMovieCreationProgressIndicator setHidden: YES]; - [fMoviePlaybackControlBox setHidden: YES]; - if( fMovieTimer ) - { - [self stopMovieTimer]; - } - [fPictureControlBox setHidden: NO]; - - [fPictureView setHidden:NO]; - + NSImage *fPreviewImage = [self imageForPicture: fPicture]; NSSize imageScaledSize = [fPreviewImage size]; - [fPictureView setImage: fPreviewImage]; - + [fPictureLayer setContents:fPreviewImage]; + NSSize displaySize = NSMakeSize( ( CGFloat )fTitle->width, ( CGFloat )fTitle->height ); NSString *sizeInfoString; + /* Set the picture size display fields below the Preview Picture*/ + int output_width, output_height, output_par_width, output_par_height; + int display_width; if( fTitle->job->anamorphic.mode == 1 ) // Original PAR Implementation { output_width = fTitle->width-fTitle->job->crop[2]-fTitle->job->crop[3]; @@ -290,7 +271,7 @@ displaySize.width = display_width; displaySize.height = fTitle->height; imageScaledSize.width = display_width; - imageScaledSize.height = output_height; + imageScaledSize.height = output_height; } else if (fTitle->job->anamorphic.mode == 2) // Loose Anamorphic { @@ -308,7 +289,6 @@ else if (fTitle->job->anamorphic.mode == 3) // Custom Anamorphic { hb_set_anamorphic_size(job, &output_width, &output_height, &output_par_width, &output_par_height); - display_width = output_width * output_par_width / output_par_height; sizeInfoString = [NSString stringWithFormat: @"Source: %dx%d, Output: %dx%d, Anamorphic: %dx%d Custom", fTitle->width, fTitle->height, output_width, output_height, fTitle->job->anamorphic.dar_width, fTitle->job->anamorphic.dar_height]; @@ -317,7 +297,7 @@ displaySize.height = fTitle->job->anamorphic.dar_height + fTitle->job->crop[0] + fTitle->job->crop[1]; imageScaledSize.width = (int)fTitle->job->anamorphic.dar_width; imageScaledSize.height = (int)fTitle->job->height; - } + } else // No Anamorphic { sizeInfoString = [NSString stringWithFormat: @@ -341,110 +321,82 @@ imageScaledSize.width /= backingScaleFactor; } + // Get the optimal view size for the image NSSize viewSize = [self optimalViewSizeForImageSize:displaySize]; - [self resizeSheetForViewSize:viewSize]; - - NSSize windowSize = [[self window] frame].size; + viewSize.width += BORDER_SIZE * 2; + viewSize.height += BORDER_SIZE * 2; + NSSize windowSize; + if (scaleToScreen == YES) + // Scale the window to the max possible size + windowSize = [[[self window] screen] visibleFrame].size; + else + // Scale the window to the image size + windowSize = viewSize; + + [self resizeWindowForViewSize:windowSize]; + NSSize areaSize = [[[self window] contentView] frame].size; + areaSize.width -= BORDER_SIZE * 2; + areaSize.height -= BORDER_SIZE * 2; + if (scaleToScreen == YES) { - /* Note: this should probably become a utility function */ /* We are in Scale To Screen mode so, we have to get the ratio for height and width against the window *size so we can scale from there. */ - CGFloat deltaWidth = imageScaledSize.width / displaySize.width; - CGFloat deltaHeight = imageScaledSize.height /displaySize.height; - NSSize windowSize = [[self window] frame].size; CGFloat pictureAspectRatio = imageScaledSize.width / imageScaledSize.height; + CGFloat areaAspectRatio = areaSize.width / areaSize.height; - /* Set our min size to the storage size */ - NSSize minSize; - minSize.width = fTitle->width / backingScaleFactor; - minSize.height = fTitle->height / backingScaleFactor; - - /* Set delta's based on minimum size */ - if (imageScaledSize.width < minSize.width) - { - deltaWidth = imageScaledSize.width / minSize.width; - } - else - { - deltaWidth = 1.0; - } - - if (imageScaledSize.height < minSize.height) - { - deltaHeight = imageScaledSize.height / minSize.height; - } - else - { - deltaHeight = 1.0; - } - - /* Now apply our deltas to the full screen view */ - if (pictureAspectRatio > 1.0) // we are wider than taller, so expand the width to fill the area and scale the height + if (pictureAspectRatio > areaAspectRatio) { - viewSize.width = windowSize.width * deltaWidth; + viewSize.width = areaSize.width; viewSize.height = viewSize.width / pictureAspectRatio; - } else { - viewSize.height = windowSize.height * deltaHeight; + viewSize.height = areaSize.height; viewSize.width = viewSize.height * pictureAspectRatio; } - } else { - viewSize.width = viewSize.width - (viewSize.width - imageScaledSize.width); - viewSize.height = viewSize.height - (viewSize.height - imageScaledSize.height); - - if (fTitle->width / backingScaleFactor > windowSize.width || fTitle->height / backingScaleFactor > windowSize.height) + // If the image is larger then the window, scale the image + viewSize = imageScaledSize; + + if (imageScaledSize.width > areaSize.width || imageScaledSize.height > areaSize.height) { - CGFloat viewSizeAspect = viewSize.width / viewSize.height; - if (viewSizeAspect > 1.0) // we are wider than taller, so expand the width to fill the area and scale the height + CGFloat pictureAspectRatio = imageScaledSize.width / imageScaledSize.height; + CGFloat areaAspectRatio = areaSize.width / areaSize.height; + + if (pictureAspectRatio > areaAspectRatio) { - viewSize.width = viewSize.width * (windowSize.width / fTitle->width / backingScaleFactor) ; - viewSize.height = viewSize.width / viewSizeAspect; + viewSize.width = areaSize.width; + viewSize.height = viewSize.width / pictureAspectRatio; } else { - viewSize.height = viewSize.height * (windowSize.height / fTitle->height / backingScaleFactor); - viewSize.width = viewSize.height * viewSizeAspect; + viewSize.height = areaSize.height; + viewSize.width = viewSize.height * pictureAspectRatio; } } - } - - [self setViewSize:viewSize]; - - /* relocate our hud origins as per setViewSize */ - NSPoint hudControlBoxOrigin = [fPictureControlBox frame].origin; - hudControlBoxOrigin.y = ([[self window] frame].size.height / 2) - (viewSize.height / 2); - hudControlBoxOrigin.x = ([[self window] frame].size.width / 2) - ([fPictureControlBox frame].size.width / 2); - [fPictureControlBox setFrameOrigin:hudControlBoxOrigin]; - [fEncodingControlBox setFrameOrigin:hudControlBoxOrigin]; - [fMoviePlaybackControlBox setFrameOrigin:hudControlBoxOrigin]; + // Resize the CALayers + [fWhiteBackground setBounds:CGRectMake(0, 0, viewSize.width + (BORDER_SIZE * 2), viewSize.height + (BORDER_SIZE * 2))]; + [fPictureLayer setBounds:CGRectMake(0, 0, viewSize.width, viewSize.height)]; NSString *scaleString; - CGFloat scale = ( ( CGFloat )[fPictureView frame].size.width) / ( ( CGFloat )imageScaledSize.width); + CGFloat scale = ( ( CGFloat )[fPictureLayer frame].size.width) / ( ( CGFloat )imageScaledSize.width); if (scale * 100.0 != 100) - { scaleString = [NSString stringWithFormat: NSLocalizedString( @" (%.0f%% actual size)", @"String shown when a preview is scaled" ), scale * 100.0]; - } else - { scaleString = @"(Actual size)"; - } if (scaleToScreen == YES) - { scaleString = [scaleString stringByAppendingString:@" Scaled To Screen"]; - } + /* Set the info fields in the hud controller */ [fInfoField setStringValue: [NSString stringWithFormat: @"%@", sizeInfoString]]; @@ -457,17 +409,15 @@ - (IBAction) previewDurationPopUpChanged: (id) sender { - [[NSUserDefaults standardUserDefaults] setObject:[fPreviewMovieLengthPopUp titleOfSelectedItem] forKey:@"PreviewLength"]; +} -} - -- (IBAction) SettingsChanged: (id) sender +- (IBAction) settingsChanged: (id) sender { - // Purge the existing picture previews so they get recreated the next time - // they are needed. - [self purgeImageCache]; - [self pictureSliderChanged:nil]; + // Purge the existing picture previews so they get recreated the next time + // they are needed. + [self purgeImageCache]; + [self pictureSliderChanged:nil]; } - (IBAction) pictureSliderChanged: (id) sender @@ -476,11 +426,14 @@ [self cancelCreateMoviePreview:nil]; // Show the picture view - [fPictureView setHidden:NO]; - [fMovieView pause:nil]; - [fMovieView setHidden:YES]; - [fMovieView setMovie:nil]; - [fEncodingControlBox setHidden: YES]; + if (aMovie) + { + [fMoviePlaybackControlBox setHidden:YES]; + [fMovieView pause:nil]; + [fMovieView setHidden:YES]; + [fMovieView setMovie:nil]; + aMovie = nil; + } int newPicture = [fPictureSlider intValue]; if (newPicture != fPicture) @@ -491,23 +444,13 @@ } -- (IBAction)showPreviewPanel: (id)sender forTitle: (hb_title_t *)title +- (IBAction)showWindow:(id)sender { - if ([fPreviewWindow isVisible]) - { - [fPreviewWindow close]; - } - else - { - [self showWindow:sender]; - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"PreviewWindowIsOpen"]; - [fPreviewWindow setAcceptsMouseMovedEvents:YES]; - scaleToScreen = NO; - [self pictureSliderChanged:nil]; - } + if (aMovie) + [self startMovieTimer]; + [super showWindow:sender]; } - - (NSString*) pictureSizeInfoString { return [fInfoField stringValue]; @@ -545,12 +488,12 @@ NSPoint mouseLoc = [theEvent locationInWindow]; /* Test for mouse location to show/hide hud controls */ - if( isEncoding == NO ) + if( fEncodeState != 1 ) { /* Since we are not encoding, verify which control hud to show * or hide based on aMovie ( aMovie indicates we need movie controls ) */ - NSBox * hudBoxToShow; + NSBox *hudBoxToShow; if ( aMovie == nil ) // No movie loaded up { hudBoxToShow = fPictureControlBox; @@ -565,7 +508,7 @@ [[hudBoxToShow animator] setHidden: NO]; [self stopHudTimer]; } - else if( NSPointInRect( mouseLoc, [fPictureViewArea frame] ) ) + else if( NSPointInRect( mouseLoc, [[[self window] contentView] frame] ) ) { [[hudBoxToShow animator] setHidden: NO]; [self startHudTimer]; @@ -612,8 +555,6 @@ } } - - - (IBAction)toggleScaleToScreen:(id)sender { if (scaleToScreen == YES) @@ -633,85 +574,14 @@ } - - -// Title-less windows normally don't receive key presses, override this -- (BOOL)canBecomeKeyWindow -{ - return YES; -} - -// Title-less windows normally can't become main which means that another -// non-fullscreen window will have the "active" titlebar in expose. Bad, fix it. -- (BOOL)canBecomeMainWindow -{ - return YES; -} - - -- (IBAction)goWindowedScreen:(id)sender -{ - - /* Get the screen info to release the display but don't actually do - * it until the windowed screen is setup. - */ - scaleToScreen = NO; - [self pictureSliderChanged:nil]; - [fScaleToScreenToggleButton setTitle:@"<->"]; - - NSScreen* mainScreen = [NSScreen mainScreen]; - NSDictionary* screenInfo = [mainScreen deviceDescription]; - NSNumber* screenID = [screenInfo objectForKey:@"NSScreenNumber"]; - CGDirectDisplayID displayID = (CGDirectDisplayID)[screenID longValue]; - - [fFullScreenWindow dealloc]; - [fFullScreenWindow release]; - - - [fPreviewWindow setContentView:fPictureViewArea]; - [fPictureViewArea setNeedsDisplay:YES]; - [self setWindow:fPreviewWindow]; - - // Show the window. - [fPreviewWindow makeKeyAndOrderFront:self]; - - /* Set the window back to regular level */ - [fPreviewWindow setLevel:NSNormalWindowLevel]; - - /* Set the isFullScreen flag back to NO */ - //isFullScreen = NO; - scaleToScreen = NO; - /* make sure we are set to a still preview */ - [self pictureSliderChanged:nil]; - [self showPreviewWindow:nil]; - - /* Change the name of fFullScreenToggleButton appropriately */ - //[fFullScreenToggleButton setTitle: @"Full Screen"]; - // [fScaleToScreenToggleButton setHidden:YES]; - /* set the picture settings pallete back to normal level */ - [fHBController picturePanelWindowed]; - - /* Release the display now that the we are back in windowed mode */ - CGDisplayRelease(displayID); - - [fPreviewWindow setAcceptsMouseMovedEvents:YES]; - //[fFullScreenWindow setAcceptsMouseMovedEvents:NO]; - - hudTimerSeconds = 0; - [self startHudTimer]; - -} - - #pragma mark Still Preview Image Processing - // This function converts an image created by libhb (specified via pictureIndex) into // an NSImage suitable for the GUI code to use. If removeBorders is YES, // makeImageForPicture crops the image generated by libhb stripping off the gray // border around the content. This is the low-level method that generates the image. // -imageForPicture calls this function whenever it can't find an image in its cache. -+ (NSImage *) makeImageForPicture: (int)pictureIndex ++ (NSImage *) makeImageForPicture: (NSInteger)pictureIndex libhb:(hb_handle_t*)handle title:(hb_title_t*)title { @@ -730,7 +600,7 @@ buffer = (uint8_t *) realloc( buffer, bufferSize ); } - hb_get_preview( handle, title->job, pictureIndex, buffer ); + hb_get_preview( handle, title->job, (int)pictureIndex, buffer ); // Create an NSBitmapImageRep and copy the libhb image into it, converting it from // libhb's format to one suitable for NSImage. Along the way, we'll strip off the @@ -776,11 +646,11 @@ // cache or by calling makeImageForPicture if it is not cached. Generally, you should // use imageForPicture so that images are cached. Calling makeImageForPicture will // always generate a new copy of the image. -- (NSImage *) imageForPicture: (int) pictureIndex +- (NSImage *) imageForPicture: (NSInteger) pictureIndex { // The preview for the specified index may not currently exist, so this method // generates it if necessary. - NSString * key = [NSString stringWithFormat:@"%d", pictureIndex]; + NSNumber * key = [NSNumber numberWithInteger:pictureIndex]; NSImage * theImage = [fPicturePreviews objectForKey:key]; if (!theImage) { @@ -797,59 +667,33 @@ [fPicturePreviews removeAllObjects]; } - - #pragma mark Movie Preview - (IBAction) cancelCreateMoviePreview: (id) sender { - hb_state_t s; hb_get_state2( fPreviewLibhb, &s ); - if(isEncoding && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED)) + if(fEncodeState && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED)) { + fEncodeState = 2; hb_stop( fPreviewLibhb ); - [fPictureView setHidden:NO]; - [fMovieView pause:nil]; - [fMovieView setHidden:YES]; - [fMovieView setMovie:nil]; - [fPictureSlider setHidden:NO]; - isEncoding = NO; - - [self pictureSliderChanged:nil]; - + [NSAnimationContext beginGrouping]; + [[NSAnimationContext currentContext] setDuration:0.2]; + [[fEncodingControlBox animator] setHidden:YES]; + [[fPictureControlBox animator] setHidden:NO]; + [NSAnimationContext endGrouping]; + return; } - } - (IBAction) createMoviePreview: (id) sender -{ - - - /* Lets make sure the still picture previews are showing in case - * there is currently a movie showing */ - [self pictureSliderChanged:nil]; - +{ /* Rip or Cancel ? */ hb_state_t s; hb_get_state2( fPreviewLibhb, &s ); - if(sender == fCancelPreviewMovieButton && (s.state == HB_STATE_WORKING || s.state == HB_STATE_PAUSED)) - { - hb_stop( fPreviewLibhb ); - [fPictureView setHidden:NO]; - [fMovieView pause:nil]; - [fMovieView setHidden:YES]; - [fMovieView setMovie:nil]; - [fPictureSlider setHidden:NO]; - isEncoding = NO; - - return; - } - - /* we use controller.mm's prepareJobForPreview to go ahead and set all of our settings * however, we want to use a temporary destination field of course * so that we do not put our temp preview in the users chosen @@ -941,15 +785,16 @@ /* we need to clean up the various lists after the job(s) have been set */ hb_job_reset( job ); - [fEncodingControlBox setHidden: NO]; - [fPictureControlBox setHidden: YES]; - - [fMovieCreationProgressIndicator setHidden: NO]; - [fPreviewMovieStatusField setHidden: NO]; - - isEncoding = YES; + [fMovieCreationProgressIndicator setDoubleValue:0]; + + [NSAnimationContext beginGrouping]; + [[NSAnimationContext currentContext] setDuration:0.2]; + [[fEncodingControlBox animator] setHidden: NO]; + [[fPictureControlBox animator] setHidden: YES]; + [NSAnimationContext endGrouping]; /* Let fPreviewLibhb do the job */ + fEncodeState = 1; hb_start( fPreviewLibhb ); } @@ -977,7 +822,6 @@ hb_state_t s; hb_get_state( fPreviewLibhb, &s ); [self libhbStateChanged: s]; - } - (void) libhbStateChanged: (hb_state_t)state @@ -992,7 +836,6 @@ case HB_STATE_WORKING: { #define p state.param.working - NSMutableString * string; /* Update text field */ string = [NSMutableString stringWithFormat: NSLocalizedString( @"Encoding preview: %.2f %%", @"" ), 100.0 * p.progress]; @@ -1007,23 +850,20 @@ [fMovieCreationProgressIndicator setIndeterminate: NO]; /* Update slider */ - [fMovieCreationProgressIndicator setDoubleValue: 100.0 * p.progress]; - - [fCreatePreviewMovieButton setTitle: @"Cancel Preview"]; + [fMovieCreationProgressIndicator setDoubleValue: 100.0 * p.progress]; break; } #undef p -#define p state.param.muxing +#define p state.param.muxing case HB_STATE_MUXING: { // Update fMovieCreationProgressIndicator [fMovieCreationProgressIndicator setIndeterminate: YES]; [fMovieCreationProgressIndicator startAnimation: nil]; - [fPreviewMovieStatusField setStringValue: [NSString stringWithFormat: - NSLocalizedString( @"Muxing Preview ...", @"" )]]; + [fPreviewMovieStatusField setStringValue: NSLocalizedString( @"Muxing Preview ...", @"" )]; break; } #undef p @@ -1039,18 +879,15 @@ hb_rem( fHandle, job ); [fPreviewMovieStatusField setStringValue: @""]; - [fPreviewMovieStatusField setHidden: YES]; - [fMovieCreationProgressIndicator stopAnimation: nil]; - [fMovieCreationProgressIndicator setHidden: YES]; - [fEncodingControlBox setHidden: YES]; - [fPictureControlBox setHidden: YES]; - isEncoding = NO; - - // Show the movie view - [self showMoviePreview:fPreviewMoviePath]; - [fCreatePreviewMovieButton setTitle: @"Live Preview"]; + if (fEncodeState != 2) + { + // Show the movie view + [self showMoviePreview:fPreviewMoviePath]; + } + + fEncodeState = 0; break; } } @@ -1065,18 +902,17 @@ * object, given that, we detect the rate to determine whether the movie * is playing or not. */ - if ([aMovie rate] != 0) // we are playing + if ([self isPlaying]) // we are playing { [fMovieView pause:aMovie]; - [fPlayPauseButton setTitle: @">"]; + [fPlayPauseButton setState: NSOnState]; } else // we are paused or stopped { [fMovieView play:aMovie]; - [fPlayPauseButton setTitle: @"||"]; + [fPlayPauseButton setState: NSOffState]; } } - } - (IBAction) moviePlaybackGoToBeginning: (id) sender @@ -1085,8 +921,7 @@ if (aMovie != nil) { [fMovieView gotoBeginning:aMovie]; - } - + } } - (IBAction) moviePlaybackGoToEnd: (id) sender @@ -1095,8 +930,7 @@ if (aMovie != nil) { [fMovieView gotoEnd:aMovie]; - } - + } } - (IBAction) moviePlaybackGoBackwardOneFrame: (id) sender @@ -1107,7 +941,6 @@ [fMovieView pause:aMovie]; // Pause the movie [fMovieView stepBackward:aMovie]; } - } - (IBAction) moviePlaybackGoForwardOneFrame: (id) sender @@ -1118,10 +951,8 @@ [fMovieView pause:aMovie]; // Pause the movie [fMovieView stepForward:aMovie]; } - } - - (void) startMovieTimer { if( fMovieTimer ) { @@ -1144,13 +975,28 @@ - (void) movieTimerFired: (NSTimer*)theTimer { - if (aMovie != nil) + if (aMovie != nil) { [self adjustPreviewScrubberForCurrentMovieTime]; - [fMovieInfoField setStringValue: [NSString stringWithFormat:NSLocalizedString( @"%@", @"" ),[self calculatePlaybackSMTPETimecodeForDisplay]]]; + [fMovieInfoField setStringValue: [self SMTPETimecode:[aMovie currentTime]]]; } } +- (IBAction) showPicturesPreview: (id) sender +{ + [fMovieView pause:self]; + [self stopMovieTimer]; + + [NSAnimationContext beginGrouping]; + [[NSAnimationContext currentContext] setDuration:0.2]; + [[fMoviePlaybackControlBox animator] setHidden:YES]; + [[fMovieView animator] setHidden:YES]; + [[fPictureControlBox animator] setHidden:NO]; + [NSAnimationContext endGrouping]; + + [fMovieView setMovie:nil]; + aMovie = nil; +} - (IBAction) showMoviePreview: (NSString *) path @@ -1165,7 +1011,6 @@ /* Load the new movie into fMovieView */ if (path) { - //QTMovie * aMovie; NSError *outError; NSURL *movieUrl = [NSURL fileURLWithPath:path]; NSDictionary *movieAttributes = [NSDictionary dictionaryWithObjectsAndKeys: @@ -1180,36 +1025,22 @@ aMovie = [[[QTMovie alloc] initWithAttributes:movieAttributes error:&outError] autorelease]; - if (!aMovie) { - NSLog(@"Unable to open movie"); + [fHBController writeToActivityLog: "showMoviePreview: Unable to open movie"]; } else { NSRect movieBounds; + + [fMovieView setControllerVisible:NO]; + /* we get some size information from the preview movie */ - NSSize movieSize= [[aMovie attributeForKey:QTMovieNaturalSizeAttribute] sizeValue]; + NSSize movieSize = [[aMovie attributeForKey:QTMovieNaturalSizeAttribute] sizeValue]; movieBounds = [fMovieView movieBounds]; movieBounds.size.height = movieSize.height; /* We also get our view size to use for scaling fMovieView's size */ - NSSize scaledMovieViewSize = [fPictureView frame].size; - [fMovieView setControllerVisible:FALSE]; - if ([fMovieView isControllerVisible]) - { - CGFloat controllerBarHeight = [fMovieView controllerBarHeight]; - if ( controllerBarHeight != 0 ) //Check if QTKit return a real value or not. - { - movieBounds.size.height += controllerBarHeight; - scaledMovieViewSize.height += controllerBarHeight; - } - else - { - movieBounds.size.height += 15; - scaledMovieViewSize.height += 15; - } - } - + NSSize scaledMovieViewSize = [fPictureLayer frame].size; movieBounds.size.width = movieSize.width; /* we need to account for an issue where the scaledMovieViewSize > the window size */ @@ -1218,23 +1049,18 @@ [fHBController writeToActivityLog: "showMoviePreview: Our window is not tall enough to show the controller bar ..."]; } - - /* Scale the fMovieView to scaledMovieViewSize */ [fMovieView setFrameSize:scaledMovieViewSize]; /*set our origin try using fPictureViewArea or fPictureView */ - NSPoint origin = [fPictureView frame].origin; - origin.x += trunc( ( [fPictureView frame].size.width - + NSPoint origin = [fPictureLayer frame].origin; + origin.x += trunc( ( [fPictureLayer frame].size.width - [fMovieView frame].size.width ) / 2.0 ); - origin.y += trunc( ( ( [fPictureView frame].size.height - - [fMovieView frame].size.height ) / 2.0 ) - 7.5 ); + origin.y += trunc( ( ( [fPictureLayer frame].size.height - + [fMovieView frame].size.height ) / 2.0 ) ); [fMovieView setFrameOrigin:origin]; [fMovieView setMovie:aMovie]; - [fMovieView setHidden:NO]; - [fMoviePlaybackControlBox setHidden: NO]; - [fPictureControlBox setHidden: YES]; // get and enable subtitles NSArray *subtitlesArray; @@ -1257,87 +1083,47 @@ } // to actually play the movie - + [NSAnimationContext beginGrouping]; + [[NSAnimationContext currentContext] setDuration:0.2]; + [[fEncodingControlBox animator] setHidden: YES]; + [[fMovieView animator] setHidden:NO]; + [[fMoviePlaybackControlBox animator] setHidden: NO]; + [NSAnimationContext endGrouping]; + [self initPreviewScrubberForMovie]; [self startMovieTimer]; /* Install amovie notifications */ [aMovie setDelegate:self]; [self installMovieCallbacks]; [fMovieView play:aMovie]; - } } - isEncoding = NO; -} -#pragma mark *** Movie Playback Scrubber and time code methods *** - -/* Since MacOSX Leopard QTKit has taken over some responsibility for assessing movie playback - * information from the old QuickTime carbon api ( time code information as well as fps, etc.). - * However, the QTKit devs at apple were not really big on documentation and further ... - * QuickTimes ability to playback HB's largely variable framerate output makes perfectly frame - * accurate information at best convoluted. Still, for the purpose of a custom hud based custom - * playback scrubber slider this has so far proven to be as accurate as I have found. To say it - * could use some better accuracy is not understating it enough probably. - * Most of this was gleaned from this obscure Apple Mail list thread: - * http://www.mailinglistarchive.com/[email protected]/msg05642.html - * Now as we currently do not show a QTKit control bar with scrubber for display sizes > container - * size, this seems to facilitate playback control from the HB custom HUD controller fairly close - * to the built in controller bar. - * Further work needs to be done to try to get accurate frame by frame playback display if we want it. - * Note that the keyboard commands for frame by frame step through etc. work as always. - */ - -// Returns a human readable string from the currentTime of movie playback -- (NSString*) calculatePlaybackSMTPETimecodeForDisplay -{ - QTTime time = [aMovie currentTime]; - - NSString *smtpeTimeCodeString; - int days, hour, minute, second, frame; - long long result; - - result = time.timeValue / time.timeScale; // second - frame = (time.timeValue % time.timeScale) / 100; - - second = result % 60; - - result = result / 60; // minute - minute = result % 60; - - result = result / 60; // hour - hour = result % 24; - days = result; - - smtpeTimeCodeString = [NSString stringWithFormat:@"Time: %02d:%02d:%02d", hour, minute, second]; // hh:mm:ss - return smtpeTimeCodeString; - } +#pragma mark *** Movie Playback Scrubber and time code methods *** // Initialize the preview scrubber min/max to appropriate values for the current movie -(void) initPreviewScrubberForMovie { if (aMovie) { - QTTime duration = [aMovie duration]; - float result = duration.timeValue / duration.timeScale; + CGFloat result = duration.timeValue / duration.timeScale; [fMovieScrubberSlider setMinValue:0.0]; - [fMovieScrubberSlider setMaxValue: (float)result]; - [fMovieScrubberSlider setFloatValue: 0.0]; + [fMovieScrubberSlider setMaxValue: result]; + [fMovieScrubberSlider setDoubleValue: 0.0]; } } - -(void) adjustPreviewScrubberForCurrentMovieTime { if (aMovie) { QTTime time = [aMovie currentTime]; - float result = (float)time.timeValue / (float)time.timeScale;; - [fMovieScrubberSlider setFloatValue:result]; + CGFloat result = (CGFloat)time.timeValue / (CGFloat)time.timeScale;; + [fMovieScrubberSlider setDoubleValue:result]; } } @@ -1345,28 +1131,43 @@ { if (aMovie) { - [fMovieView pause:aMovie]; // Pause the movie - QTTime time = [aMovie currentTime]; - [self setTime: time.timeScale * [fMovieScrubberSlider floatValue]]; - [self calculatePlaybackSMTPETimecodeForDisplay]; + [fMovieView pause:aMovie]; + QTTime time = [self SliderToQTTime:[fMovieScrubberSlider doubleValue]]; + [aMovie setCurrentTime:time]; + [fMovieInfoField setStringValue: [self SMTPETimecode:time]]; } } -#pragma mark *** Movie Notifications *** -- (void) installMovieCallbacks +- (BOOL) isPlaying { + if (aMovie != nil) + { + /* For some stupid reason there is no "isPlaying" method for a QTMovie + * object, given that, we detect the rate to determine whether the movie + * is playing or not. + */ + if ([aMovie rate] != 0.0f) // we are playing + return YES; + else // we are paused or stopped + return NO; + } + return NO; +} +#pragma mark *** Movie Notifications *** -/*Notification for any time the movie rate changes */ - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(movieRateDidChange:) - name:@"QTMovieRateDidChangeNotification" - object:aMovie]; - /*Notification for when the movie ends */ - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(movieDidEnd:) - name:@"QTMovieDidEndNotification" - object:aMovie]; +- (void) installMovieCallbacks +{ + /*Notification for any time the movie rate changes */ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(movieRateDidChange:) + name:@"QTMovieRateDidChangeNotification" + object:aMovie]; + /*Notification for when the movie ends */ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(movieDidEnd:) + name:@"QTMovieDidEndNotification" + object:aMovie]; } - (void)removeMovieCallbacks @@ -1388,59 +1189,113 @@ { if (aMovie != nil) { - /* For some stupid reason there is no "isPlaying" method for a QTMovie - * object, given that, we detect the rate to determine whether the movie - * is playing or not. - */ - //[self adjustPreviewScrubberForCurrentMovieTime]; - if ([aMovie rate] != 0) // we are playing - { - [fPlayPauseButton setTitle: @"||"]; - } - else // we are paused or stopped - { - [fPlayPauseButton setTitle: @">"]; - } + if ([self isPlaying]) + [fPlayPauseButton setState: NSOnState]; + else + [fPlayPauseButton setState: NSOffState]; } } + /* This notification is not currently used. However we should keep it "just in case" as * live preview playback is enhanced. */ - (void)movieDidEnd:(NSNotification *)notification { - //[fHBController writeToActivityLog: "Movie DidEnd Notification Received"]; } +/* fMovieView Keyboard controls */ +- (void)keyDown:(NSEvent *)event +{ + if (aMovie) + { + unichar key = [[event charactersIgnoringModifiers] characterAtIndex:0]; + if (key == 32) + { + if ([self isPlaying]) + [fMovieView pause:aMovie]; + else + [fMovieView play:aMovie]; + } + else if (key == 'k') + [fMovieView pause:aMovie]; + else if (key == 'l') + { + float rate = [aMovie rate]; + rate += 1.0f; + [fMovieView play:aMovie]; + [aMovie setRate:rate]; + } + else if (key == 'j') + { + float rate = [aMovie rate]; + rate -= 1.0f; + [fMovieView play:aMovie]; + [aMovie setRate:rate]; + } + else if ([event modifierFlags] & NSAlternateKeyMask && key == NSLeftArrowFunctionKey) + [fMovieView gotoBeginning:self]; + else if ([event modifierFlags] & NSAlternateKeyMask && key == NSRightArrowFunctionKey) + [fMovieView gotoEnd:self]; + else if (key == NSLeftArrowFunctionKey) + [fMovieView stepBackward:self]; + else if (key == NSRightArrowFunctionKey) + [fMovieView stepForward:self]; + else + [super keyDown:event]; + } + else + [super keyDown:event]; +} #pragma mark *** QTTime Utilities *** // convert a time value (long) to a QTTime structure --(void)timeToQTTime:(long)timeValue resultTime:(QTTime *)aQTTime +-(QTTime)SliderToQTTime:(double)value { - NSNumber *timeScaleObj; - long timeScaleValue; - - timeScaleObj = [aMovie attributeForKey:QTMovieTimeScaleAttribute]; - timeScaleValue = [timeScaleObj longValue]; - - *aQTTime = QTMakeTime(timeValue, timeScaleValue); + long timeScale = [[aMovie attributeForKey:QTMovieTimeScaleAttribute] longValue]; + return QTMakeTime(value * timeScale, timeScale); } - // set the movie's current time --(void)setTime:(int)timeValue -{ - QTTime movieQTTime; - NSValue *valueForQTTime; - - [self timeToQTTime:timeValue resultTime:&movieQTTime]; - - valueForQTTime = [NSValue valueWithQTTime:movieQTTime]; +/* Since MacOSX Leopard QTKit has taken over some responsibility for assessing movie playback + * information from the old QuickTime carbon api ( time code information as well as fps, etc.). + * However, the QTKit devs at apple were not really big on documentation and further ... + * QuickTimes ability to playback HB's largely variable framerate output makes perfectly frame + * accurate information at best convoluted. Still, for the purpose of a custom hud based custom + * playback scrubber slider this has so far proven to be as accurate as I have found. To say it + * could use some better accuracy is not understating it enough probably. + * Most of this was gleaned from this obscure Apple Mail list thread: + * http://www.mailinglistarchive.com/[email protected]/msg05642.html + * Now as we currently do not show a QTKit control bar with scrubber for display sizes > container + * size, this seems to facilitate playback control from the HB custom HUD controller fairly close + * to the built in controller bar. + * Further work needs to be done to try to get accurate frame by frame playback display if we want it. + * Note that the keyboard commands for frame by frame step through etc. work as always. + */ - [aMovie setAttribute:valueForQTTime forKey:QTMovieCurrentTimeAttribute]; +// Returns a human readable string from the currentTime of movie playback +- (NSString*) SMTPETimecode:(QTTime)time +{ + NSString *smtpeTimeCodeString; + int days, hour, minute, second, frame; + long long result; + + result = time.timeValue / time.timeScale; // second + frame = (time.timeValue % time.timeScale) / 100; + + second = result % 60; + + result = result / 60; // minute + minute = result % 60; + + result = result / 60; // hour + hour = result % 24; + days = result; + + smtpeTimeCodeString = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, minute, second]; // hh:mm:ss + return smtpeTimeCodeString; } - @end @implementation PreviewController (Private) @@ -1458,56 +1313,16 @@ CGFloat minHeight = 360.0; NSSize screenSize = [[[self window] screen] visibleFrame].size; - NSSize sheetSize = [[self window] frame].size; - NSSize viewAreaSize = [fPictureViewArea frame].size; - CGFloat paddingX = 0.00; - CGFloat paddingY = 0.00; - - if (fTitle->width / backingScaleFactor > screenSize.width || fTitle->height / backingScaleFactor > screenSize.height) - { - if (scaleToScreen == YES) - { - paddingX = screenSize.width - imageSize.width; - paddingY = screenSize.height - imageSize.height; - } - - else - { - paddingX = sheetSize.width - viewAreaSize.width; - paddingY = sheetSize.height - viewAreaSize.height; - } + CGFloat maxWidth = screenSize.width; + CGFloat maxHeight = screenSize.height; - } - - CGFloat maxWidth; - CGFloat maxHeight; - maxWidth = screenSize.width - paddingX; - maxHeight = screenSize.height - paddingY; - NSSize resultSize = imageSize; CGFloat resultPar = resultSize.width / resultSize.height; //note, a mbp 15" at 1440 x 900 is a 1.6 ar CGFloat screenAspect = screenSize.width / screenSize.height; - // Note, a standard dvd will use 720 x 480 which is a 1.5 - CGFloat viewAreaAspect = viewAreaSize.width / viewAreaSize.height; - - if (scaleToScreen == YES) - { - - if (screenAspect < viewAreaAspect) - { - resultSize.width = screenSize.width; - resultSize.height = (screenSize.width / viewAreaAspect); - } - else - { - resultSize.height = screenSize.height; - resultSize.width = resultSize.height * viewAreaAspect; - } - - } - else if ( resultSize.width > maxWidth || resultSize.height > maxHeight ) + + if ( resultSize.width > maxWidth || resultSize.height > maxHeight ) { // Source is larger than screen in one or more dimensions if ( resultPar > screenAspect ) @@ -1526,39 +1341,33 @@ // If necessary, grow to minimum dimensions to ensure controls overlay is not obstructed if ( resultSize.width < minWidth ) - { resultSize.width = minWidth; - } if ( resultSize.height < minHeight ) - { resultSize.height = minHeight; - } - - return resultSize; - + return resultSize; } // -// -[PictureController(Private) resizePanelForViewSize:animate:] +// -[PictureController(Private) resizeWindowForViewSize:] // // Resizes the entire window to accomodate a view of a particular size. // -- (void)resizeSheetForViewSize: (NSSize)viewSize +- (void)resizeWindowForViewSize: (NSSize)viewSize { // Figure out the deltas for the new frame area - NSSize currentSize = [fPictureViewArea frame].size; + NSSize currentSize = [[[self window] contentView] frame].size; CGFloat deltaX = viewSize.width - currentSize.width; CGFloat deltaY = viewSize.height - currentSize.height; // Now resize the whole panel by those same deltas, but don't exceed the min NSRect frame = [[self window] frame]; NSSize maxSize = [[[self window] screen] visibleFrame].size; - /* if we are not Scale To Screen, put an 85% of visible screen on the window */ + /* if we are not Scale To Screen, put an 10% of visible screen on the window */ if (scaleToScreen == NO ) { - maxSize.width = maxSize.width * 0.85; - maxSize.height = maxSize.height * 0.85; + maxSize.width = maxSize.width * 0.90; + maxSize.height = maxSize.height * 0.90; } /* Set our min size to the storage size */ @@ -1571,11 +1380,12 @@ if( frame.size.width < minSize.width ) { frame.size.width = minSize.width; + deltaX = frame.size.width - currentSize.width; } - if( frame.size.height < minSize.height ) { frame.size.height = minSize.height; + deltaY = frame.size.height - currentSize.height; } /* compare frame to max size of screen */ @@ -1589,103 +1399,41 @@ frame.size.height = maxSize.height; } - - - - // But now the sheet is off-center, so also shift the origin to center it and // keep the top aligned. if( frame.size.width != [[self window] frame].size.width ) frame.origin.x -= (deltaX / 2.0); - - /* Since upon launch we can open up the preview window if it was open - * the last time we quit (and at the size it was) we want to make - * sure that upon resize we do not have the window off the screen - * So check the origin against the screen origin and adjust if - * necessary. - */ - NSSize screenSize = [[[self window] screen] visibleFrame].size; - NSPoint screenOrigin = [[[self window] screen] frame].origin; - if (screenSize.height < frame.size.height) - { - frame.size.height = screenSize.height; - } - if (screenSize.width < frame.size.width) - { - frame.size.width = screenSize.width; - } - - - /* our origin is off the screen to the left*/ - if (frame.origin.x < screenOrigin.x) - { - /* so shift our origin to the right */ - frame.origin.x = screenOrigin.x; - } - else if ((frame.origin.x + frame.size.width) > (screenOrigin.x + screenSize.width)) - { - /* the right side of the preview is off the screen, so shift to the left */ - frame.origin.x = (screenOrigin.x + screenSize.width) - frame.size.width; - } - - [[self window] setFrame:frame display:YES animate:YES]; - - -} - -// -// -[PictureController(Private) setViewSize:] -// -// Changes the view's size and centers it vertically inside of its area. -// Assumes resizeSheetForViewSize: has already been called. -// -- (void)setViewSize: (NSSize)viewSize -{ - - /* special case for scaleToScreen */ - NSSize areaSize = [fPictureViewArea frame].size; - CGFloat viewSizeAspect = viewSize.width / viewSize.height; - - if (viewSize.width > areaSize.width || viewSize.height > areaSize.height) + /* Since upon launch we can open up the preview window if it was open + * the last time we quit (and at the size it was) we want to make + * sure that upon resize we do not have the window off the screen + * So check the origin against the screen origin and adjust if + * necessary. + */ + NSSize screenSize = [[[self window] screen] visibleFrame].size; + NSPoint screenOrigin = [[[self window] screen] frame].origin; + if (screenSize.height < frame.size.height) { - - if (viewSizeAspect > 1.0) // we are wider than taller, so expand the width to fill the area and scale the height - { - viewSize.width = areaSize.width; - viewSize.height = viewSize.width / viewSizeAspect; - } - else - { - viewSize.height = areaSize.height; - viewSize.width = viewSize.height * viewSizeAspect; - } - + frame.size.height = screenSize.height; + } + if (screenSize.width < frame.size.width) + { + frame.size.width = screenSize.width; } - [fPictureView setFrameSize:viewSize]; - - - // center it vertically and horizontally - NSPoint origin = [fPictureViewArea frame].origin; - origin.y += ([fPictureViewArea frame].size.height - - [fPictureView frame].size.height) / 2.0; - - origin.x += ([fPictureViewArea frame].size.width - - [fPictureView frame].size.width) / 2.0; - - origin.x = floor( origin.x ); - origin.y = floor( origin.y ); - - [fPictureView setFrameOrigin:origin]; + /* our origin is off the screen to the left*/ + if (frame.origin.x < screenOrigin.x) + { + /* so shift our origin to the right */ + frame.origin.x = screenOrigin.x; + } + else if ((frame.origin.x + frame.size.width) > (screenOrigin.x + screenSize.width)) + { + /* the right side of the preview is off the screen, so shift to the left */ + frame.origin.x = (screenOrigin.x + screenSize.width) - frame.size.width; + } -} - - -- (BOOL)viewNeedsToResizeToSize: (NSSize)newSize -{ - NSSize viewSize = [fPictureViewArea frame].size; - return (newSize.width != viewSize.width || newSize.height != viewSize.height); + [[self window] setFrame:frame display:YES animate:YES]; } @end diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj index aaa49109f..bb73b72cf 100644 --- a/macosx/HandBrake.xcodeproj/project.pbxproj +++ b/macosx/HandBrake.xcodeproj/project.pbxproj @@ -138,6 +138,11 @@ 27D6C77314B102DA00B785E4 /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 27D6C74014B102DA00B785E4 /* libxml2.a */; }; 3490BCB41614CF8D002A5AD7 /* HandBrake.icns in Resources */ = {isa = PBXBuildFile; fileRef = 3490BCB31614CF8D002A5AD7 /* HandBrake.icns */; }; 46AB433515F98A2B009C0961 /* DockTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 46AB433415F98A2B009C0961 /* DockTextField.m */; }; + A9E1467B16BC2ABD00C307BC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9E1467A16BC2ABD00C307BC /* QuartzCore.framework */; }; + A9E1468016BC2AD800C307BC /* next-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467C16BC2AD800C307BC /* next-p.pdf */; }; + A9E1468116BC2AD800C307BC /* pause-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467D16BC2AD800C307BC /* pause-p.pdf */; }; + A9E1468216BC2AD800C307BC /* play-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467E16BC2AD800C307BC /* play-p.pdf */; }; + A9E1468316BC2AD800C307BC /* prev-p.pdf in Resources */ = {isa = PBXBuildFile; fileRef = A9E1467F16BC2AD800C307BC /* prev-p.pdf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -307,10 +312,15 @@ 27D6C73E14B102DA00B785E4 /* libvorbisenc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvorbisenc.a; path = external/contrib/lib/libvorbisenc.a; sourceTree = BUILT_PRODUCTS_DIR; }; 27D6C73F14B102DA00B785E4 /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = external/contrib/lib/libx264.a; sourceTree = BUILT_PRODUCTS_DIR; }; 27D6C74014B102DA00B785E4 /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = external/contrib/lib/libxml2.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3490BCB31614CF8D002A5AD7 /* HandBrake.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = HandBrake.icns; path = HandBrake.icns; sourceTree = "<group>"; }; + 3490BCB31614CF8D002A5AD7 /* HandBrake.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = HandBrake.icns; sourceTree = "<group>"; }; 34FF2FC014EEC363004C2400 /* HBAdvancedController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBAdvancedController.h; sourceTree = "<group>"; }; 46AB433315F98A2B009C0961 /* DockTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DockTextField.h; sourceTree = "<group>"; }; 46AB433415F98A2B009C0961 /* DockTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DockTextField.m; sourceTree = "<group>"; }; + A9E1467A16BC2ABD00C307BC /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; }; + A9E1467C16BC2AD800C307BC /* next-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "next-p.pdf"; sourceTree = "<group>"; }; + A9E1467D16BC2AD800C307BC /* pause-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "pause-p.pdf"; sourceTree = "<group>"; }; + A9E1467E16BC2AD800C307BC /* play-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "play-p.pdf"; sourceTree = "<group>"; }; + A9E1467F16BC2AD800C307BC /* prev-p.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "prev-p.pdf"; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -357,6 +367,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A9E1467B16BC2ABD00C307BC /* QuartzCore.framework in Frameworks */, 273F21C114ADE7A20021BE6D /* Growl.framework in Frameworks */, 273F21C214ADE7BC0021BE6D /* Sparkle.framework in Frameworks */, 273F20C914ADC5150021BE6D /* AudioToolbox.framework in Frameworks */, @@ -478,6 +489,7 @@ 273F203414ADBAC30021BE6D /* Frameworks */ = { isa = PBXGroup; children = ( + A9E1467A16BC2ABD00C307BC /* QuartzCore.framework */, 273F20C714ADC4FF0021BE6D /* QTKit.framework */, 273F202F14ADB9790021BE6D /* AudioToolbox.framework */, 273F203B14ADBC210021BE6D /* Cocoa.framework */, @@ -563,6 +575,10 @@ 273F212014ADCBF70021BE6D /* icons */ = { isa = PBXGroup; children = ( + A9E1467C16BC2AD800C307BC /* next-p.pdf */, + A9E1467D16BC2AD800C307BC /* pause-p.pdf */, + A9E1467E16BC2AD800C307BC /* play-p.pdf */, + A9E1467F16BC2AD800C307BC /* prev-p.pdf */, 273F212114ADCBF70021BE6D /* ActivityWindow.tiff */, 273F212214ADCBF70021BE6D /* AddToQueue.tiff */, 273F212414ADCBF70021BE6D /* Brushed_Window.png */, @@ -787,6 +803,10 @@ 273F219014ADDDA10021BE6D /* Preferences.xib in Resources */, 273F219114ADDDA10021BE6D /* Queue.xib in Resources */, 3490BCB41614CF8D002A5AD7 /* HandBrake.icns in Resources */, + A9E1468016BC2AD800C307BC /* next-p.pdf in Resources */, + A9E1468116BC2AD800C307BC /* pause-p.pdf in Resources */, + A9E1468216BC2AD800C307BC /* play-p.pdf in Resources */, + A9E1468316BC2AD800C307BC /* prev-p.pdf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/macosx/icons/next-p.pdf b/macosx/icons/next-p.pdf Binary files differnew file mode 100644 index 000000000..bb11381cd --- /dev/null +++ b/macosx/icons/next-p.pdf diff --git a/macosx/icons/pause-p.pdf b/macosx/icons/pause-p.pdf Binary files differnew file mode 100644 index 000000000..6a6224a75 --- /dev/null +++ b/macosx/icons/pause-p.pdf diff --git a/macosx/icons/play-p.pdf b/macosx/icons/play-p.pdf Binary files differnew file mode 100644 index 000000000..028feb270 --- /dev/null +++ b/macosx/icons/play-p.pdf diff --git a/macosx/icons/prev-p.pdf b/macosx/icons/prev-p.pdf Binary files differnew file mode 100644 index 000000000..7f37c9af7 --- /dev/null +++ b/macosx/icons/prev-p.pdf |