OSDN Git Service

MacGui: Acivity Logs for individual encodes initial implementation
authordynaflash <dynaflash@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 30 Oct 2008 18:11:58 +0000 (18:11 +0000)
committerdynaflash <dynaflash@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 30 Oct 2008 18:11:58 +0000 (18:11 +0000)
- 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://localhost/HandBrake/trunk@1881 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/Controller.mm
macosx/English.lproj/OutputPanel.xib
macosx/English.lproj/Preferences.xib
macosx/HBOutputPanelController.h
macosx/HBOutputPanelController.m
macosx/HBPreferencesController.m

index 2e7a93c..5901249 100644 (file)
@@ -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;
index f7d7384..6fcd19c 100644 (file)
@@ -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">
                                                                                                        <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>
                                                                                                                </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>
                                                                                                        <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">
                                                                                                <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"/>
                                                                        <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">
                                                                        <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>
                                        <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">
                                <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>
                                </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>
                                        </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">
                                                        <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>
                                                <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">
                                        <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>
                                        <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>
                                </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>
                                </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">
                                                        <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">
                                                <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>
index 4dec6a0..800d408 100644 (file)
@@ -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>
                                <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">
                                                        <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"/>
                                        </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">
                                                        <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>
                                                <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">
                                        <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>
                                        <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>
                                        <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>
                                </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">
index 97e1d6f..dc76e2a 100644 (file)
 
     /// 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
index f5af6d4..13203d3 100644 (file)
@@ -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;
 }
     [[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.
  */
     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.
     [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 */
index 88cbfbd..701b95f 100644 (file)
@@ -50,6 +50,7 @@
         @"Alert Window",    @"AlertWhenDone",
         @"1",               @"LoggingLevel",
         @"4:10:15:9:10:35:9",    @"DecombCustomString",
+        @"NO",    @"EncodeLogLocation",
         nil]];
 }