diff options
author | dynaflash <[email protected]> | 2008-10-30 18:11:58 +0000 |
---|---|---|
committer | dynaflash <[email protected]> | 2008-10-30 18:11:58 +0000 |
commit | 39a4d09c458ecef7007890aaf9872842e041410f (patch) | |
tree | e96bcab8669d0b167f58bfecaaa7b9c1201d49d9 /macosx | |
parent | a9d513228bfebd402967d967e210d7dad4d5acf3 (diff) |
MacGui: Acivity Logs for individual encodes initial implementation
- Individual activity logs are saved in the file format "YYYY-MM-DD HH-MM-SS mymoviename.txt".
- Default directory is "~/Library/Application Support/HandBrake/EncodeLogs/".
- Advanced preference available to alternatively put them in the users output movie directory with the output movie (by default set to "off").
- Renamed the existing contextual menu items for the Activity Window to better reflect choices (function remains the same) as follows:
-- "Copy All Output" -> "Copy Window Contents".
-- "Clear Output" -> "Clear Window Contents".
-- "Open Log File" -> "Open Log File For This Session".
-- "Clear Log File" -> "Clear Log File For This Session".
- Added "Open Individual Log File Directory" to the Activity Window contextual menu to open this directory with the Finder
- Also commented out some macgui based activity log messages that were used to troubleshoot the new queue.
- Note: the individual activity logs are in addition to the existing session based activity log. If you do a scan of a new source during encoding, the new source scan log messages will be intermixed with the encode log messages as I have no clue how to separate stderr/stdout based on which instance of libhb is sending the messages.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1881 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/Controller.mm | 17 | ||||
-rw-r--r-- | macosx/English.lproj/OutputPanel.xib | 395 | ||||
-rw-r--r-- | macosx/English.lproj/Preferences.xib | 74 | ||||
-rw-r--r-- | macosx/HBOutputPanelController.h | 6 | ||||
-rw-r--r-- | macosx/HBOutputPanelController.m | 81 | ||||
-rw-r--r-- | macosx/HBPreferencesController.m | 1 |
6 files changed, 284 insertions, 290 deletions
diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 2e7a93c82..5901249e2 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -748,8 +748,11 @@ static NSString * ChooseSourceIdentifier = @"Choose Source It [fWindow setFrame:frame display:YES animate:YES]; fRipIndicatorShown = NO; } - - /* Check to see if the encode state has not been cancelled + /* Since we are done with this encode, tell output to stop writing to the + * individual encode log + */ + [outputPanel endEncodeLog]; + /* Check to see if the encode state has not been cancelled to determine if we should check for encode done notifications */ if( fEncodeState != 2 ) { @@ -2054,8 +2057,10 @@ fWorkingCount = 0; /* Here we actually tell hb_scan to perform the source scan, using the path to source and title number*/ - (void) performNewQueueScan:(NSString *) scanPath scanTitleNum: (int) scanTitleNum { - //NSRunAlertPanel(@"Hello!", @"We are now performing a new queue scan!", @"OK", nil, nil); - + /* Tell HB to output a new activity log file for this encode */ + [outputPanel startEncodeLog:[[QueueFileArray objectAtIndex:currentQueueEncodeIndex] objectForKey:@"DestinationPath"]]; + + /* use a bool to determine whether or not we can decrypt using vlc */ BOOL cancelScanDecrypt = 0; /* set the bool so that showNewScan knows to apply the appropriate queue @@ -2437,10 +2442,10 @@ fWorkingCount = 0; } NSMutableDictionary * queueToApply = [QueueFileArray objectAtIndex:currentQueueEncodeIndex]; - [self writeToActivityLog: "processNewQueueEncode currentQueueEncodeIndex is: %d", currentQueueEncodeIndex]; + //[self writeToActivityLog: "processNewQueueEncode currentQueueEncodeIndex is: %d", currentQueueEncodeIndex]; [self writeToActivityLog: "processNewQueueEncode number of passes expected is: %d", ([[queueToApply objectForKey:@"VideoTwoPass"] intValue] + 1)]; job->file = [[queueToApply objectForKey:@"DestinationPath"] UTF8String]; - [self writeToActivityLog: "processNewQueueEncode sending to prepareJob"]; + //[self writeToActivityLog: "processNewQueueEncode sending to prepareJob"]; [self prepareJob]; if( [[queueToApply objectForKey:@"SubtitlesForced"] intValue] == 1 ) job->subtitle_force = 1; diff --git a/macosx/English.lproj/OutputPanel.xib b/macosx/English.lproj/OutputPanel.xib index f7d738451..6fcd19c55 100644 --- a/macosx/English.lproj/OutputPanel.xib +++ b/macosx/English.lproj/OutputPanel.xib @@ -1,17 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.01"> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9C7010</string> - <string key="IBDocument.InterfaceBuilderVersion">629</string> - <string key="IBDocument.AppKitVersion">949.26</string> + <string key="IBDocument.SystemVersion">9F33</string> + <string key="IBDocument.InterfaceBuilderVersion">670</string> + <string key="IBDocument.AppKitVersion">949.34</string> <string key="IBDocument.HIToolboxVersion">352.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> + <integer value="11"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> - <string id="17934360">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> <object class="NSMutableArray" key="IBDocument.RootObjects" id="640353287"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -19,7 +20,7 @@ <string key="NSClassName">HBOutputPanelController</string> </object> <object class="NSCustomObject" id="531893577"> - <string key="NSClassName" id="672992527">FirstResponder</string> + <string key="NSClassName">FirstResponder</string> </object> <object class="NSCustomObject" id="602845690"> <string key="NSClassName">NSApplication</string> @@ -54,7 +55,7 @@ <object class="NSTextView" id="123567529"> <reference key="NSNextResponder" ref="630219039"/> <int key="NSvFlags">2322</int> - <string key="NSFrame">{{0, 20}, {363, 346}}</string> + <string key="NSFrameSize">{363, 14}</string> <reference key="NSSuperview" ref="630219039"/> <object class="NSTextContainer" key="NSTextContainer" id="431112540"> <object class="NSLayoutManager" key="NSLayoutManager"> @@ -90,13 +91,13 @@ <object class="NSMutableArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>NSBackgroundColor</string> - <string id="947629256">NSColor</string> + <string>NSColor</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSColor"> <int key="NSColorSpace">6</int> - <string key="NSCatalogName" id="740236820">System</string> + <string key="NSCatalogName">System</string> <string key="NSColorName">selectedTextBackgroundColor</string> <object class="NSColor" key="NSColor"> <int key="NSColorSpace">3</int> @@ -105,7 +106,7 @@ </object> <object class="NSColor"> <int key="NSColorSpace">6</int> - <reference key="NSCatalogName" ref="740236820"/> + <string key="NSCatalogName">System</string> <string key="NSColorName">selectedTextColor</string> <reference key="NSColor" ref="76040784"/> </object> @@ -116,7 +117,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSMutableArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="947629256"/> + <string>NSColor</string> <string>NSUnderline</string> </object> <object class="NSMutableArray" key="dict.values"> @@ -131,13 +132,12 @@ <nil key="NSDefaultParagraphStyle"/> </object> <int key="NSTVFlags">6</int> - <string key="NSMaxSize">{378, 1e+07}</string> - <string key="NSMinize">{83, 346}</string> + <string key="NSMaxSize">{743, 1e+07}</string> + <string key="NSMinize">{83, 0}</string> <nil key="NSDelegate"/> </object> </object> <string key="NSFrame">{{1, 1}, {363, 371}}</string> - <string key="NSBounds">{{0, 20}, {363, 371}}</string> <reference key="NSSuperview" ref="777989256"/> <reference key="NSNextKeyView" ref="123567529"/> <reference key="NSDocView" ref="123567529"/> @@ -154,7 +154,7 @@ <string key="NSFrame">{{364, 1}, {15, 371}}</string> <reference key="NSSuperview" ref="777989256"/> <reference key="NSTarget" ref="777989256"/> - <string key="NSAction" id="480232181">_doScroller:</string> + <string key="NSAction">_doScroller:</string> <double key="NSPercent">6.003236e-01</double> </object> <object class="NSScroller" id="446620405"> @@ -164,7 +164,7 @@ <reference key="NSSuperview" ref="777989256"/> <int key="NSsFlags">1</int> <reference key="NSTarget" ref="777989256"/> - <reference key="NSAction" ref="480232181"/> + <string key="NSAction">_doScroller:</string> <double key="NSCurValue">1.000000e+00</double> <double key="NSPercent">9.456522e-01</double> </object> @@ -191,59 +191,79 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSMenuItem" id="190531161"> <reference key="NSMenu" ref="391216144"/> - <string key="NSTitle">Copy All Output</string> - <string key="NSKeyEquiv" id="670379346"/> + <string key="NSTitle">Copy Window Contents</string> + <string key="NSKeyEquiv"/> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> <object class="NSCustomResource" key="NSOnImage" id="914385192"> - <string key="NSClassName" id="835063925">NSImage</string> + <string key="NSClassName">NSImage</string> <string key="NSResourceName">NSMenuCheckmark</string> </object> - <object class="NSCustomResource" key="NSMixedImage" id="54787764"> - <reference key="NSClassName" ref="835063925"/> + <object class="NSCustomResource" key="NSMixedImage" id="397103719"> + <string key="NSClassName">NSImage</string> <string key="NSResourceName">NSMenuMixedState</string> </object> </object> <object class="NSMenuItem" id="780868037"> <reference key="NSMenu" ref="391216144"/> - <string key="NSTitle">Clear Output</string> - <reference key="NSKeyEquiv" ref="670379346"/> + <string key="NSTitle">Clear Window Contents</string> + <string key="NSKeyEquiv"/> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> <reference key="NSOnImage" ref="914385192"/> - <reference key="NSMixedImage" ref="54787764"/> + <reference key="NSMixedImage" ref="397103719"/> </object> <object class="NSMenuItem" id="292074454"> <reference key="NSMenu" ref="391216144"/> <bool key="NSIsDisabled">YES</bool> <bool key="NSIsSeparator">YES</bool> - <reference key="NSTitle" ref="670379346"/> - <reference key="NSKeyEquiv" ref="670379346"/> + <string key="NSTitle"/> + <string key="NSKeyEquiv"/> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> <reference key="NSOnImage" ref="914385192"/> - <reference key="NSMixedImage" ref="54787764"/> + <reference key="NSMixedImage" ref="397103719"/> </object> <object class="NSMenuItem" id="1041053003"> <reference key="NSMenu" ref="391216144"/> - <string key="NSTitle">Open Log File</string> - <reference key="NSKeyEquiv" ref="670379346"/> + <string key="NSTitle">Open Log File For This Session</string> + <string key="NSKeyEquiv"/> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> <reference key="NSOnImage" ref="914385192"/> - <reference key="NSMixedImage" ref="54787764"/> + <reference key="NSMixedImage" ref="397103719"/> </object> <object class="NSMenuItem" id="405725939"> <reference key="NSMenu" ref="391216144"/> - <string key="NSTitle">Clear Log File</string> - <reference key="NSKeyEquiv" ref="670379346"/> + <string key="NSTitle">Clear Log File For This Session</string> + <string key="NSKeyEquiv"/> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> <reference key="NSOnImage" ref="914385192"/> - <reference key="NSMixedImage" ref="54787764"/> + <reference key="NSMixedImage" ref="397103719"/> + </object> + <object class="NSMenuItem" id="851442803"> + <reference key="NSMenu" ref="391216144"/> + <bool key="NSIsDisabled">YES</bool> + <bool key="NSIsSeparator">YES</bool> + <string key="NSTitle"/> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="914385192"/> + <reference key="NSMixedImage" ref="397103719"/> + </object> + <object class="NSMenuItem" id="541567733"> + <reference key="NSMenu" ref="391216144"/> + <string key="NSTitle">Open Individual Log File Directory</string> + <string key="NSKeyEquiv"/> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="914385192"/> + <reference key="NSMixedImage" ref="397103719"/> </object> </object> - <reference key="NSName" ref="670379346"/> + <string key="NSName"/> </object> </object> <object class="IBObjectContainer" key="IBDocument.Objects"> @@ -251,7 +271,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <string key="label" id="552402589">delegate</string> + <string key="label">delegate</string> <reference key="source" ref="1026712888"/> <reference key="destination" ref="282956917"/> </object> @@ -259,7 +279,7 @@ </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> - <reference key="label" ref="552402589"/> + <string key="label">delegate</string> <reference key="source" ref="123567529"/> <reference key="destination" ref="282956917"/> </object> @@ -321,6 +341,14 @@ </object> <int key="connectionID">41</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">openEncodeLogDirectory:</string> + <reference key="source" ref="282956917"/> + <reference key="destination" ref="541567733"/> + </object> + <int key="connectionID">44</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -396,6 +424,8 @@ <reference ref="1041053003"/> <reference ref="405725939"/> <reference ref="292074454"/> + <reference ref="541567733"/> + <reference ref="851442803"/> </object> <reference key="parent" ref="650019074"/> <string key="objectName">ContextMenu</string> @@ -435,6 +465,16 @@ <reference key="object" ref="446620405"/> <reference key="parent" ref="777989256"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">42</int> + <reference key="object" ref="851442803"/> + <reference key="parent" ref="391216144"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">43</int> + <reference key="object" ref="541567733"/> + <reference key="parent" ref="391216144"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -445,6 +485,7 @@ <string>-2.IBPluginDependency</string> <string>-3.IBPluginDependency</string> <string>-3.ImportedFromIB2</string> + <string>11.IBEditorWindowLastContentRect</string> <string>11.IBPluginDependency</string> <string>11.ImportedFromIB2</string> <string>12.IBPluginDependency</string> @@ -463,6 +504,10 @@ <string>37.ImportedFromIB2</string> <string>39.IBShouldRemoveOnLegacySave</string> <string>40.IBShouldRemoveOnLegacySave</string> + <string>42.IBPluginDependency</string> + <string>42.ImportedFromIB2</string> + <string>43.IBPluginDependency</string> + <string>43.ImportedFromIB2</string> <string>5.IBPluginDependency</string> <string>5.ImportedFromIB2</string> <string>5.windowTemplate.hasMaxSize</string> @@ -474,35 +519,40 @@ </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="17934360"/> - <reference ref="17934360"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> + <string>{{319, 676}, {358, 123}}</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> <reference ref="9"/> <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <reference ref="9"/> <reference ref="9"/> <string>{3.40282e+38, 3.40282e+38}</string> <string>{214.502, 107}</string> - <reference ref="17934360"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> </object> </object> @@ -526,61 +576,17 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">41</int> + <int key="maxID">44</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBPartialClassDescription"> - <reference key="className" ref="672992527"/> - <nil key="superclassName"/> - <object class="NSMutableDictionary" key="actions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey" id="689483616">IBUserSource</string> - <reference key="minorKey" ref="670379346"/> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">HBOutputPanelController</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> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> + <string key="className">FirstResponder</string> + <string key="superclassName">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey" id="363493188">IBProjectSource</string> - <string key="minorKey">HBOutputPanelController.h</string> + <string key="majorKey">IBUserSource</string> + <string key="minorKey"/> </object> </object> <object class="IBPartialClassDescription"> @@ -594,15 +600,17 @@ <string>clearOutput:</string> <string>copyAllOutputToPasteboard:</string> <string>openActivityLogFile:</string> + <string>openEncodeLogDirectory:</string> <string>showOutputPanel:</string> </object> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> - <string id="971947101">id</string> - <reference ref="971947101"/> - <reference ref="971947101"/> - <reference ref="971947101"/> - <reference ref="971947101"/> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> </object> </object> <object class="NSMutableDictionary" key="outlets"> @@ -610,189 +618,36 @@ <string key="NS.object.0">NSTextView</string> </object> <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">HBOutputPanelController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">HBOutputPanelController</string> + <string key="superclassName">NSWindowController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBUserSource</string> <string key="minorKey"/> </object> </object> <object class="IBPartialClassDescription"> - <string key="className" id="985238183">NSObject</string> - <nil key="superclassName"/> - <object class="NSMutableDictionary" key="actions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> + <string key="className">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <reference key="majorKey" ref="363493188"/> + <string key="majorKey">IBProjectSource</string> <string key="minorKey">PictureController.h</string> </object> </object> <object class="IBPartialClassDescription"> - <reference key="className" ref="985238183"/> - <nil key="superclassName"/> - <object class="NSMutableDictionary" key="actions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> + <string key="className">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <reference key="majorKey" ref="689483616"/> - <reference key="minorKey" ref="670379346"/> + <string key="majorKey">IBUserSource</string> + <string key="minorKey"/> </object> </object> </object> </object> <int key="IBDocument.localizationMode">0</int> - <string key="IBDocument.LastKnownRelativeProjectPath">../../HandBrake.xcodeproj</string> + <string key="IBDocument.LastKnownRelativeProjectPath">../HandBrake.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> - <object class="NSMutableData" key="IBDocument.RunnableNib"> - <bytes key="NS.bytes">YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA -AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxCoAAsADAAxADUANgA8AD0A -QQBFAFEAWQBvAIMAhACOAJYAmwCfAKIApgCqAK4AsACyAMIAyADLAM4AtgDKANcA3gDfAOAA4wDoAOkA -7AD0AIkA9QD5APwA/QD+AQMBBAEIAQ0BKAEpASoBKwEuAS8BMAE3ATsBTQFTAVcBWAFZAV4BXwFhAWQB -bwFwAXEBdQF/AYABgQGEAYUBhwGIAS4BiQGMAY0BkgGiAakAngGqAa8BsAGxAbQBuAG5AbwBvQHAAcUB -zAHNAc4B0wHaAdsB3AHhAeIB6gH1AfwB/QH/AgACBQIGAgsCEAIRAiECJAIlAicCNwJIAlkCWgJbAlwC -XQJeAl8CYAJhAmICYwJkAmUCZgJnAmoCbQKHAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArAC -sQKyAGgCswK0ArUCtgK3AroCvQLAVSRudWxs3xASAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAb -ABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwVk5TUm9vdFYkY2xhc3NdTlNP -YmplY3RzS2V5c18QD05TQ2xhc3Nlc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eU9pZHNWYWx1ZXNdTlND -b25uZWN0aW9uc1tOU05hbWVzS2V5c1tOU0ZyYW1ld29ya11OU0NsYXNzZXNLZXlzWk5TT2lkc0tleXNd -TlNOYW1lc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eUNvbm5lY3RvcnNdTlNGb250TWFuYWdlcl8QEE5T -VmlzaWJsZVdpbmRvd3NfEA9OU09iamVjdHNWYWx1ZXNfEBdOU0FjY2Vzc2liaWxpdHlPaWRzS2V5c1lO -U05leHRPaWRcTlNPaWRzVmFsdWVzgAKAp4B0gIqApoAIgHmABYCJgIuAeoCkgACABoB4gKUQK4CM0gAO -ADIAMwA0W05TQ2xhc3NOYW1lgASAA18QF0hCT3V0cHV0UGFuZWxDb250cm9sbGVy0gA3ADgAOQA6WCRj -bGFzc2VzWiRjbGFzc25hbWWiADoAO15OU0N1c3RvbU9iamVjdFhOU09iamVjdF8QEElCQ29jb2FGcmFt -ZXdvcmvSAA4APgA/AEBaTlMub2JqZWN0c4AHoNIANwA4AEIAQ6MAQwBEADtcTlNNdXRhYmxlU2V0VU5T -U2V00gAOAD4ARgBHgBSpAEgASQBKAEsATABNAE4ATwBQgAmAL4BRgF+AY4BngG+AcYBy1AAOAFIAUwBU -AFUAHwBXAFhdTlNEZXN0aW5hdGlvblhOU1NvdXJjZVdOU0xhYmVsgC6AAoAKgC3bAFoADgBbAFwAXQBe -AF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABkACtfEA9OU05leHRSZXNwb25kZXJXTlNGcmFtZV8Q -D05TVGV4dENvbnRhaW5lcllOU1RWRmxhZ3NcTlNTaGFyZWREYXRhWE5TdkZsYWdzWU5TTWF4U2l6ZVhO -U01pbml6ZVtOU1N1cGVydmlld1pOU0RlbGVnYXRlgAuALIAMgA0QBoAXEQkSgCqAK4ALgADcAFoADgBb -AHAAcQByAHMAXwB0AHUAYgB2AHcAeAB5AHoAewB8AH0AfgBXAIAAdwBXWE5TQm91bmRzWE5TQ3Vyc29y -WU5TY3ZGbGFnc1pOU1N1YnZpZXdzWU5TRG9jVmlld1lOU0JHQ29sb3JdTlNOZXh0S2V5Vmlld4A5gEGA -PIA9gD4QBIA7EQkAgAqAGIA5gApfEBV7ezAsIDIwfSwgezM2MywgMzQ2fX3VAIUADgCGAIcAiACJAIoA -VwCMAI1ZTlNUQ0ZsYWdzWk5TVGV4dFZpZXdXTlNXaWR0aF8QD05TTGF5b3V0TWFuYWdlchABgBaACiNA -drAAAAAAAIAO1QAOAI8AkACRAGMAkgCTAJQAaAArXxAQTlNUZXh0Q29udGFpbmVyc11OU1RleHRTdG9y -YWdlWU5TTE1GbGFnc4AVgBOAD4AA0wAOAJcAYwCYAJkAK1hOU1N0cmluZ4ASgBCAANIADgCcAJ0AnllO -Uy5zdHJpbmeAEVDSADcAOACgAKGjAKEAlwA7XxAPTlNNdXRhYmxlU3RyaW5n0gA3ADgAowCQpACQAKQA -pQA7XxAZTlNNdXRhYmxlQXR0cmlidXRlZFN0cmluZ18QEk5TQXR0cmlidXRlZFN0cmluZ9IADgA+AEYA -qIAUoQBngA3SADcAOACrAKyjAKwArQA7Xk5TTXV0YWJsZUFycmF5V05TQXJyYXnSADcAOACvAIiiAIgA -O9IANwA4ALEAXKIAXAA72AAOALMAtAC1ALYAtwC4ALkAugC7ACsAvQCAAL8AKwDBV05TRmxhZ3NfEBdO -U0RlZmF1bHRQYXJhZ3JhcGhTdHlsZV8QEE5TSW5zZXJ0aW9uQ29sb3JfEBFOU0JhY2tncm91bmRDb2xv -cl8QFE5TU2VsZWN0ZWRBdHRyaWJ1dGVzXxASTlNNYXJrZWRBdHRyaWJ1dGVzXxAQTlNMaW5rQXR0cmli -dXRlc4ApEStlgACAGoAYgBuAAIAl0wAOAMMAxADFAMYAx1xOU0NvbG9yU3BhY2VXTlNXaGl0ZYAZEANC -MQDSADcAOADJAMqiAMoAO1dOU0NvbG9y0wAOAMMAxADFAMYAzYAZQjAA0wAOAM8APgDQANEA1FdOUy5r -ZXlzgCSiANIA04AcgB2iANUA1oAegCLVAA4AygDDANgA2QDFANsAaADcAN1bTlNDb2xvck5hbWVdTlND -YXRhbG9nTmFtZYAZgCGAIIAfVlN5c3RlbV8QG3NlbGVjdGVkVGV4dEJhY2tncm91bmRDb2xvctMADgDD -AMQAxQDGAOKAGUswLjY2NjY2NjY5ANUADgDKAMMA2ADZAMUAvQBoAOYA3YAZgBqAI4AfXxARc2VsZWN0 -ZWRUZXh0Q29sb3LSADcAOADqAOuiAOsAO1xOU0RpY3Rpb25hcnnTAA4AzwA+ANAA7gDxgCSiAO8A04Am -gB2iAPIA84AngChbTlNVbmRlcmxpbmXTAA4AwwD2AMUAiQD4VU5TUkdCgBlGMCAwIDEA0gA3ADgA+gD7 -ogD7ADtfEBROU1RleHRWaWV3U2hhcmVkRGF0YVx7Mzc4LCAxZSswN31ZezgzLCAzNDZ90gA3ADgA/wCG -pQCGAQABAQECADtWTlNUZXh0Vk5TVmlld1tOU1Jlc3BvbmRlclhkZWxlZ2F0ZdIANwA4AQUBBqMBBgEH -ADtfEBROU05pYk91dGxldENvbm5lY3Rvcl5OU05pYkNvbm5lY3RvctQADgBSAFMAVABVAQoAHwEMgC6A -MIACgFDeAQ4ADgEPARABEQESARMBFAEVAGABFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEm -ASdcTlNXaW5kb3dWaWV3XxAWTlNXaW5kb3dDb250ZW50TWF4U2l6ZVxOU1NjcmVlblJlY3RdTlNXaW5k -b3dUaXRsZVlOU1dURmxhZ3NdTlNXaW5kb3dDbGFzc18QFk5TV2luZG93Q29udGVudE1pblNpemVcTlNX -aW5kb3dSZWN0XxAPTlNXaW5kb3dCYWNraW5nXxARTlNXaW5kb3dTdHlsZU1hc2tZTlNNaW5TaXplW05T -Vmlld0NsYXNzgDeAT4A1gEyAMhP/////8HgAAIAzgDaAMYBOEAIQD4BNgDRfEBh7ezE1NSwgNzcyfSwg -ezM3OSwgMzcxfX1fEBtBY3Rpdml0eSBXaW5kb3cgLSBIYW5kQnJha2VXTlNQYW5lbNIADgCcAJ0BLYAR -VFZpZXdfEBp7My40MDI4MmUrMzgsIDMuNDAyODJlKzM4fV57MjE0LjUwMiwgMTA3fdUAWgAOAHMAXwEx -ACsBMwE0ATUBNltOU0ZyYW1lU2l6ZYAAgEuAOBEBAIBK0gAOAD4ARgE5gBShAHeAOdwAWgE8AA4AWwE9 -AHMBPgBfAGIBPwB2AUABGgFCAUMBRAFFAUYBRwFIARoBSgBkAGRbTlNIU2Nyb2xsZXJYTlNzRmxhZ3Nc -TlNTY3JvbGxBbXRzW05TVlNjcm9sbGVyXU5TQ29udGVudFZpZXeAN4BGgEmASBASgDpPEBAAAAAAAAAA -AAAAAAAAAAAAEQESgDeAQoALgAvSAA4APgBGAU+AFKMAZAFKAUKAC4BCgEbSAA4APgBGAVWAFKEAV4AK -XxAUe3sxLCAxfSwgezM2MywgMzcxfX1fEBV7ezAsIDIwfSwgezM2MywgMzcxfX3TAA4BWgFbAVwBXQCJ -WU5TSG90U3BvdFxOU0N1cnNvclR5cGWAQIA/V3s0LCAtNX3SADcAOAFgAHGiAHEAO9IANwA4AWIBY6QB -YwEBAQIAO1pOU0NsaXBWaWV32ABaAWUADgBbAF8BZgBiAWcAdwB3AWoBawE1AWwAdwFuWE5TVGFyZ2V0 -WE5TQWN0aW9uWU5TUGVyY2VudIA5gDmARYBDgESAOSM/4zXZ4AAAAF8QFXt7MzY0LCAxfSwgezE1LCAz -NzF9fVxfZG9TY3JvbGxlcjrSADcAOAFyAXOlAXMBdAEBAQIAO1pOU1Njcm9sbGVyWU5TQ29udHJvbNoA -WgFlAA4AWwE9AF8BZgBiAXYBZwB3AHcBagF6AIkBNQFsAHcBfQF+Wk5TQ3VyVmFsdWWAOYA5gEWAR4BE -gDkjP/AAAAAAAAAjP+5CyGAAAABfEBh7ey0xMDAsIC0xMDB9LCB7ODcsIDE4fX1fEBV7ezAsIC0xfSwg -ezM4MCwgMzczfX3SADcAOAGCAYOkAYMBAQECADtcTlNTY3JvbGxWaWV3WnszNzksIDM3MX3SADcAOAGG -AQGjAQEBAgA7XxAWe3swLCAwfSwgezE5MjAsIDExNzh9fV57MjE0LjUwMiwgMTI5fdIANwA4AYoBi6IB -iwA7XxAQTlNXaW5kb3dUZW1wbGF0ZVZ3aW5kb3fUAA4AUgBTAFQBjgAfAZABkYBegAKAUoBd2AAOAZMB -lAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhV05TVGl0bGVfEBFOU0tleUVxdWl2TW9kTWFza1pOU0tl -eUVxdWl2XU5TTW5lbW9uaWNMb2NZTlNPbkltYWdlXE5TTWl4ZWRJbWFnZVZOU01lbnWAXIBUEgAQAACA -VRJ/////gFaAWoBT1AAOAZMBowGkAaUBpgGdAahWTlNOYW1lW05TTWVudUl0ZW1zgG2AaIBVgGlfEA9D -b3B5IEFsbCBPdXRwdXTTAA4AMgGrAawBrQGuXk5TUmVzb3VyY2VOYW1lgFmAV4BYV05TSW1hZ2VfEA9O -U01lbnVDaGVja21hcmvSADcAOAGyAbOiAbMAO18QEE5TQ3VzdG9tUmVzb3VyY2XTAA4AMgGrAawBrQG3 -gFmAV4BbXxAQTlNNZW51TWl4ZWRTdGF0ZdIANwA4AboBu6IBuwA7Wk5TTWVudUl0ZW1fEBpjb3B5QWxs -T3V0cHV0VG9QYXN0ZWJvYXJkOtIANwA4Ab4Bv6MBvwEHADtfEBVOU05pYkNvbnRyb2xDb25uZWN0b3LU -AA4AUgBTAFQBjgAfAcMBxIBegAKAYIBi2AAOAZMBlAGVAZYBlwGYAZkBmgHHAZwBnQGeAZ8BoAGhgFyA -YYBVgFaAWoBTXU9wZW4gTG9nIEZpbGVfEBRvcGVuQWN0aXZpdHlMb2dGaWxlOtQADgBSAFMAVAGOAB8B -0QHSgF6AAoBkgGbYAA4BkwGUAZUBlgGXAZgBmQGaAdUBnAGdAZ4BnwGgAaGAXIBlgFWAVoBagFNcQ2xl -YXIgT3V0cHV0XGNsZWFyT3V0cHV0OtQADgBSAFMAVABVAaEAVwHggC6AU4AKgG5UTWVuddIADgA+AEYB -5IAUpQGQAdEB5wHDAemAUoBkgGqAYIBr2gAOAZMBlAHrAZUB7AGWAZcBmAGZAZoBnQGcAe8BnQHvAZ4B -nwGgAaFdTlNJc1NlcGFyYXRvclxOU0lzRGlzYWJsZWSAXIBVCYBVCYBWgFqAU9gADgGTAZQBlQGWAZcB -mAGZAZoB9wGcAZ0BngGfAaABoYBcgGyAVYBWgFqAU15DbGVhciBMb2cgRmlsZdIANwA4Af4BmaIBmQA7 -VG1lbnXUAA4AUgBTAFQBjgAfAekCBIBegAKAa4BwXxAVY2xlYXJBY3Rpdml0eUxvZ0ZpbGU61AAOAFIA -UwBUAFUAHwEKAFiALoACgDCALdQADgBSAFMAVABVAFcAHwIPgC6ACoACgHNYdGV4dFZpZXfSAA4APgIS -AhOAd60BkAEKAFcBSgIYAaEB6QB3AdEBQgHDARoB54BSgDCACoBCgHWAU4BrgDmAZIBGgGCAN4Bq0gAO -ADIAMwIjgASAdl1OU0FwcGxpY2F0aW9u0gA3ADgCJgCtogCtADvSAA4APgISAimAd60BoQAfAHcAdwAf -AB8BoQEaAaEAdwGhAQoBoYBTgAKAOYA5gAKAAoBTgDeAU4A5gFOAMIBT0gAOAD4CEgI5gHeuAZABCgBX -AUoCGAGhAekAdwHRAcMAHwFCARoB54BSgDCACoBCgHWAU4BrgDmAZIBggAKARoA3gGrSAA4APgISAkqA -d64CSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYgHuAfIB9gH6Af4CAgIGAgoCDgISAhYCGgIeAiF8Q -G01lbnUgSXRlbSAoQ29weSBBbGwgT3V0cHV0KVtPdXRwdXRQYW5lbFlUZXh0IFZpZXdfEBFWZXJ0aWNh -bCBTY3JvbGxlcltBcHBsaWNhdGlvbltDb250ZXh0TWVudV8QGk1lbnUgSXRlbSAoQ2xlYXIgTG9nIEZp -bGUpW1Njcm9sbCBWaWV3XxAYTWVudSBJdGVtIChDbGVhciBPdXRwdXQpXxAZTWVudSBJdGVtIChPcGVu -IExvZyBGaWxlKVxGaWxlJ3MgT3duZXJfEBNIb3Jpem9udGFsIFNjcm9sbGVyXENvbnRlbnQgVmlld1lT -ZXBhcmF0b3LSAA4APgISAmmAd6DSAA4APgISAmyAd6DSAA4APgISAm+Ad68QFwBLAZAASQBKAE0BCgBQ -AFcBSgIYAaEB6QB3AEwB0QFCAB8BwwEaAecASABOAE+AX4BSgC+AUYBngDCAcoAKgEKAdYBTgGuAOYBj -gGSARoACgGCAN4BqgAmAb4Bx0gAOAD4CEgKJgHevEBcCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKX -ApgCmQKaApsCnAKdAp4CnwKggI2AjoCPgJCAkYCSgJOAlICVgJaAl4CYgJmAmoCbgJyAnYCegJ+AoICh -gKKAoxAiEBgQKRAgEBYQBRAXEBQQJxP//////////RALECMQExAbEAwQKBAqECEQJRAVECQQEdIADgA+ -AEYCuYAUoNIADgA+AhICvIB3oNIADgA+AhICv4B3oNIANwA4AsECwqICwgA7Xk5TSUJPYmplY3REYXRh -AAgAGQAiACcAMQA6AD8ARABSAFQAZgG5Ab8CCgIRAhgCJgI4AlQCYgJuAnoCiAKTAqECvQLLAt4C8AMK -AxQDIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNBA0MDRQNOA1oDXANeA3gDgQOKA5UDmgOp -A7IDxQPOA9kD2wPcA+UD7AP5A/8ECAQKBB0EHwQhBCMEJQQnBCkEKwQtBC8EQAROBFcEXwRhBGMEZQRn -BJQEpgSuBMAEygTXBOAE6gTzBP8FCgUMBQ4FEAUSBRQFFgUZBRsFHQUfBSEFUgVbBWQFbgV5BYMFjQWb -BZ0FnwWhBaMFpQWnBakFrAWuBbAFsgW0BcwF4QXrBfYF/gYQBhIGFAYWBh8GIQY2BkkGVwZhBmMGZQZn -BmkGdgZ/BoEGgwaFBo4GmAaaBpsGpAarBr0GxgbPBusHAAcJBwsHDgcQBxkHIAcvBzcHQAdFB04HUwd0 -B3wHlgepB70H1AfpB/wH/ggBCAMIBQgHCAkICwgNCBoIJwgvCDEIMwg2CD8IRAhMCFkIWwheCGsIcwh1 -CHoIfAh+CIMIhQiHCJwIqAi2CLgIugi8CL4IxQjjCPAI8gj+CRMJFQkXCRkJGwkvCTgJPQlKCVcJWQle -CWAJYglnCWkJawl3CYQJigmMCZMJnAmhCbgJxQnPCdgJ4wnqCfEJ/QoGCg8KFgotCjwKTQpPClEKUwpV -Co4Kmwq0CsEKzwrZCucLAAsNCx8LMws9C0kLSwtNC08LUQtTC1wLXgtgC2ILZAtmC2gLagtsC4cLpQut -C7YLuAu9C9oL6Qv+DAoMDAwODBAMEwwVDB4MIAwjDCUMVgxiDGsMeAyEDJIMlAyWDJgMmgycDJ4MsQy0 -DLYMuAy6DLwMxQzHDM4M0AzSDNQM3QzfDOIM5Az7DRMNIA0qDTcNOQ07DUMNTA1RDVoNYw1uDY8NmA2h -DasNrQ2vDbENsw21DbcNwA3YDeUN7g35DgQODg43DkIORA5GDkgOSg5MDk4OVw5gDnsOkw6cDqUOsg69 -DsYOzQ7mDvUO/g8DDxYPHQ8uDzAPMg80DzYPVw9fD3MPfg+MD5YPow+qD6wPrg+zD7UPug+8D74PwA/R -D9gP5A/mD+gP6g/sD/4QCxAaEBwQHhAgECgQOhBDEEgQWxBoEGoQbBBuEIEQihCPEJoQtxDAEMcQ3xDw -EPIQ9BD2EPgRGREbER0RHxEhESMRJREzEUoRWxFdEV8RYRFjEYQRhhGIEYoRjBGOEZARnRGqEbsRvRG/ -EcERwxHIEdER0xHeEeAR4hHkEeYR6BIREh8SLBIuEjASMRIzEjQSNhI4EjoSWxJdEl8SYRJjEmUSZxJ2 -En8ShBKJEpoSnBKeEqASohK6EssSzRLPEtES0xLkEuYS6BLqEuwS9RL+EwATGxMdEx8TIRMjEyUTJxMp -EysTLRMvEzETMxM1Ez4TQBNCE1ATWRNeE2cTaROEE4YTiBOKE4wTjhOQE5ITlBOWE5gTmhOcE54TpxOp -E8YTyBPKE8wTzhPQE9IT1BPWE9gT2hPcE94T4BPiE+sT7RQKFAwUDhQQFBIUFBQWFBgUGhQcFB4UIBQi -FCQUJhREFFAUWhRuFHoUhhSjFK8UyhTmFPMVCRUWFSAVKRUrFSwVNRU3FTgVQRVDFXQVdhV4FXoVfBV+ -FYAVghWEFYYViBWKFYwVjhWQFZIVlBWWFZgVmhWcFZ4VoBWiFasVrRXeFeAV4hXkFeYV6BXqFewV7hXw -FfIV9BX2FfgV+hX8Ff4WABYCFgQWBhYIFgoWDBYOFhAWEhYUFhYWGBYaFhwWHhYnFikWKxYtFi8WMRYz -FjUWNxY5FjsWPRY/FkgWShZLFlQWVhZXFmAWYhZjFmwWcQAAAAAAAAICAAAAAAAAAsMAAAAAAAAAAAAA -AAAAABaAA</bytes> - </object> </data> </archive> diff --git a/macosx/English.lproj/Preferences.xib b/macosx/English.lproj/Preferences.xib index 4dec6a08d..800d4088c 100644 --- a/macosx/English.lproj/Preferences.xib +++ b/macosx/English.lproj/Preferences.xib @@ -2,15 +2,15 @@ <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9E17</string> + <string key="IBDocument.SystemVersion">9F33</string> <string key="IBDocument.InterfaceBuilderVersion">670</string> - <string key="IBDocument.AppKitVersion">949.33</string> + <string key="IBDocument.AppKitVersion">949.34</string> <string key="IBDocument.HIToolboxVersion">352.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="233"/> - <integer value="234"/> <integer value="236"/> + <integer value="234"/> + <integer value="233"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -49,12 +49,6 @@ <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> </object> <object class="NSUserDefaultsController" id="580534391"> - <object class="NSMutableArray" key="NSDeclaredKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>PixelRatio</string> - <string>Anamorphic</string> - <string>DefAnamorphic</string> - </object> <bool key="NSSharedInstance">YES</bool> </object> <object class="NSCustomView" id="1048779201"> @@ -770,6 +764,27 @@ <reference key="NSTextColor" ref="887152126"/> </object> </object> + <object class="NSButton" id="907177043"> + <reference key="NSNextResponder" ref="23728330"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{83, 108}, {367, 18}}</string> + <reference key="NSSuperview" ref="23728330"/> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="869757541"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">Put individual encode logs in same location as movie</string> + <reference key="NSSupport" ref="964910696"/> + <reference key="NSControlView" ref="907177043"/> + <int key="NSButtonFlags">1211912703</int> + <int key="NSButtonFlags2">2</int> + <reference key="NSAlternateImage" ref="1056213191"/> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">200</int> + <int key="NSPeriodicInterval">25</int> + </object> + </object> </object> <string key="NSFrameSize">{500, 184}</string> <reference key="NSSuperview"/> @@ -994,6 +1009,22 @@ </object> <int key="connectionID">330</int> </object> + <object class="IBConnectionRecord"> + <object class="IBBindingConnection" key="connection"> + <string key="label">value: values.EncodeLogLocation</string> + <reference key="source" ref="907177043"/> + <reference key="destination" ref="580534391"/> + <object class="NSNibBindingConnector" key="connector"> + <reference key="NSSource" ref="907177043"/> + <reference key="NSDestination" ref="580534391"/> + <string key="NSLabel">value: values.EncodeLogLocation</string> + <string key="NSBinding">value</string> + <string key="NSKeyPath">values.EncodeLogLocation</string> + <int key="NSNibBindingConnectorVersion">2</int> + </object> + </object> + <int key="connectionID">349</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> @@ -1195,6 +1226,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <reference ref="882188042"/> <reference ref="759266151"/> + <reference ref="907177043"/> </object> <reference key="parent" ref="510204080"/> <string key="objectName">Advanced</string> @@ -1369,6 +1401,20 @@ <reference key="object" ref="374363387"/> <reference key="parent" ref="539748933"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">347</int> + <reference key="object" ref="907177043"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="869757541"/> + </object> + <reference key="parent" ref="23728330"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">348</int> + <reference key="object" ref="869757541"/> + <reference key="parent" ref="907177043"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> @@ -1437,6 +1483,8 @@ <string>325.IBPluginDependency</string> <string>326.IBPluginDependency</string> <string>327.IBPluginDependency</string> + <string>347.IBPluginDependency</string> + <string>347.ImportedFromIB2</string> <string>5.IBPluginDependency</string> <string>5.ImportedFromIB2</string> <string>5.windowTemplate.hasMaxSize</string> @@ -1462,7 +1510,7 @@ <string>{{0, 726}, {500, 108}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> - <string>{{42, 604}, {500, 184}}</string> + <string>{{110, 672}, {500, 184}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> <string>{{0, 650}, {500, 184}}</string> @@ -1514,6 +1562,8 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <reference ref="9"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <reference ref="9"/> <reference ref="9"/> <reference ref="9"/> <string>{3.40282e+38, 3.40282e+38}</string> @@ -1544,7 +1594,7 @@ </object> </object> <nil key="sourceID"/> - <int key="maxID">340</int> + <int key="maxID">349</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> diff --git a/macosx/HBOutputPanelController.h b/macosx/HBOutputPanelController.h index 97e1d6f29..dc76e2a9c 100644 --- a/macosx/HBOutputPanelController.h +++ b/macosx/HBOutputPanelController.h @@ -21,12 +21,18 @@ /// Path to log text file. NSString *outputLogFile; + /// Path to individual log text file. + NSString *outputLogFileForEncode; + BOOL encodeLogOn; } - (IBAction)showOutputPanel:(id)sender; - (IBAction)clearOutput:(id)sender; - (IBAction)copyAllOutputToPasteboard:(id)sender; - (IBAction)openActivityLogFile:(id)sender; +- (IBAction)openEncodeLogDirectory:(id)sender; - (IBAction)clearActivityLogFile:(id)sender; +- (void) startEncodeLog:(NSString *) logPath; +- (void) endEncodeLog; @end diff --git a/macosx/HBOutputPanelController.m b/macosx/HBOutputPanelController.m index f5af6d49a..13203d3f6 100644 --- a/macosx/HBOutputPanelController.m +++ b/macosx/HBOutputPanelController.m @@ -60,7 +60,6 @@ /* We overwrite the existing output log with the date for starters the output log to start fresh with the new session */ /* Use the current date and time for the new output log header */ NSString *startOutputLogString = [NSString stringWithFormat: @"HandBrake Activity Log for Session (Cleared): %@\n\n", [[NSDate date] descriptionWithCalendarFormat:nil timeZone:nil locale:nil]]; - [startOutputLogString writeToFile:outputLogFile atomically:YES encoding:NSUTF8StringEncoding error:NULL]; [[HBOutputRedirect stderrRedirect] addListener:self]; @@ -70,6 +69,8 @@ [[textView layoutManager] replaceTextStorage:outputTextStorage]; [[textView enclosingScrollView] setLineScroll:10]; [[textView enclosingScrollView] setPageScroll:20]; + + encodeLogOn = NO; } return self; } @@ -96,6 +97,56 @@ [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"OutputPanelIsOpen"]; } +- (void) startEncodeLog:(NSString *) logPath +{ + encodeLogOn = YES; + NSString *outputFileForEncode = logPath ; + /* Since the destination path matches the extension of the output file, replace the + * output movie extension and replace it with ".txt" + */ + NSFileManager * fileManager = [NSFileManager defaultManager]; + /* Establish the log file location to write to */ + /* We are initially using a .txt file as opposed to a .log file since it will open by + * default with the users text editor instead of the .log default Console.app, should + * create less confusion for less experienced users when we ask them to paste the log for support + */ + /* We need to get the current time in YY-MM-DD HH-MM-SS format to put at the beginning of the name of the log file */ + time_t _now = time( NULL ); + struct tm * now = localtime( &_now ); + NSString *dateForLogTitle = [NSString stringWithFormat:@"%02d-%02d-%02d %02d-%02d-%02d",now->tm_year + 1900, now->tm_mon, now->tm_mday,now->tm_hour, now->tm_min, now->tm_sec]; + + /* Assemble the new log file name as YY-MM-DD HH-MM-SS mymoviename.txt */ + NSString *outputDateFileName = [NSString stringWithFormat:@"%@ %@.txt",dateForLogTitle,[[outputFileForEncode lastPathComponent] stringByDeletingPathExtension]]; + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"EncodeLogLocation"]) // if we are putting it in the same directory with the movie + { + + outputLogFileForEncode = [[NSString stringWithFormat:@"%@/%@",[outputFileForEncode stringByDeletingLastPathComponent],outputDateFileName] retain]; + } + else // if we are putting it in the default ~/Libraries/Application Support/HandBrake/EncodeLogs logs directory + { + NSString *libraryDir = [NSSearchPathForDirectoriesInDomains( NSLibraryDirectory, + NSUserDomainMask, + YES ) objectAtIndex:0]; + NSString *encodeLogDirectory = [[[libraryDir stringByAppendingPathComponent:@"Application Support"] stringByAppendingPathComponent:@"HandBrake"] stringByAppendingPathComponent:@"EncodeLogs"]; + if( ![[NSFileManager defaultManager] fileExistsAtPath:encodeLogDirectory] ) + { + [[NSFileManager defaultManager] createDirectoryAtPath:encodeLogDirectory + attributes:nil]; + } + outputLogFileForEncode = [[NSString stringWithFormat:@"%@/%@",encodeLogDirectory,outputDateFileName] retain]; + } + [fileManager createFileAtPath:outputLogFileForEncode contents:nil attributes:nil]; + + /* Similar to the regular activity log, we print a header containing the date and time of the encode as well as what directory it was encoded to */ + NSString *startOutputLogString = [NSString stringWithFormat: @"HandBrake Activity Log for %@: %@\n\n",outputFileForEncode, [[NSDate date] descriptionWithCalendarFormat:nil timeZone:nil locale:nil]]; + [startOutputLogString writeToFile:outputLogFileForEncode atomically:YES encoding:NSUTF8StringEncoding error:NULL]; +} + +- (void) endEncodeLog +{ + encodeLogOn = NO; +} + /** * Displays text received from HBOutputRedirect in the text view. */ @@ -120,7 +171,12 @@ fprintf(f, "%s", [text UTF8String]); fclose(f); - + if (encodeLogOn == YES && outputLogFileForEncode != nil) + { + FILE *e = fopen([outputLogFileForEncode UTF8String], "a"); + fprintf(e, "%s", [text UTF8String]); + fclose(e); + } /* Below uses Objective-C to write to the file, though it is slow and uses * more memory than the c function above. For now, leaving this in here * just in case and commented out. @@ -178,6 +234,27 @@ [myScript release]; } +/** + * Opens the activity log txt file in users default editor. + */ +- (IBAction)openEncodeLogDirectory:(id)sender +{ + /* Opens the activity window log file in the users default text editor */ + NSString *libraryDir = [NSSearchPathForDirectoriesInDomains( NSLibraryDirectory, + NSUserDomainMask, + YES ) objectAtIndex:0]; + NSString *encodeLogDirectory = [[[libraryDir stringByAppendingPathComponent:@"Application Support"] stringByAppendingPathComponent:@"HandBrake"] stringByAppendingPathComponent:@"EncodeLogs"]; + if( ![[NSFileManager defaultManager] fileExistsAtPath:encodeLogDirectory] ) + { + [[NSFileManager defaultManager] createDirectoryAtPath:encodeLogDirectory + attributes:nil]; + } + + NSAppleScript *myScript = [[NSAppleScript alloc] initWithSource: [NSString stringWithFormat: @"%@%@%@", @"tell application \"Finder\" to open (POSIX file \"", encodeLogDirectory, @"\")"]]; + [myScript executeAndReturnError: nil]; + [myScript release]; +} + - (IBAction)clearActivityLogFile:(id)sender { /* We overwrite the existing output log with the new date and time header */ diff --git a/macosx/HBPreferencesController.m b/macosx/HBPreferencesController.m index 88cbfbd18..701b95fed 100644 --- a/macosx/HBPreferencesController.m +++ b/macosx/HBPreferencesController.m @@ -50,6 +50,7 @@ @"Alert Window", @"AlertWhenDone", @"1", @"LoggingLevel", @"4:10:15:9:10:35:9", @"DecombCustomString", + @"NO", @"EncodeLogLocation", nil]]; } |