summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorhandbrake <[email protected]>2006-12-31 21:45:39 +0000
committerhandbrake <[email protected]>2006-12-31 21:45:39 +0000
commit44f5572c384ee89f03965dbcc9d39027258f6f60 (patch)
treee1373b0752b19bc88c99d40fe9e75347b5a2c263 /macosx
parentedb4114e462984a73b6fa2d5a16867f56ed0dd22 (diff)
Fixed HandBrake Scan Panel for Optical Drive
Uses DVD Name instead of drive location Displays DVD Name in Main window h.264 defaults to Baseline Level 3 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@76 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Controller.mm28
-rw-r--r--macosx/ScanController.h6
-rw-r--r--macosx/ScanController.mm74
3 files changed, 82 insertions, 26 deletions
diff --git a/macosx/Controller.mm b/macosx/Controller.mm
index 10b1231c6..351677154 100644
--- a/macosx/Controller.mm
+++ b/macosx/Controller.mm
@@ -254,6 +254,7 @@ static int FormatSettings[3][4] =
- (void) UpdateUI: (NSTimer *) timer
{
+
hb_state_t s;
hb_get_state( fHandle, &s );
@@ -286,7 +287,8 @@ static int FormatSettings[3][4] =
{
title = (hb_title_t *) hb_list_item( list, i );
[fSrcDVD2Field setStringValue: [NSString
- stringWithUTF8String: title->dvd]];
+ stringWithUTF8String: title->name]];
+
[fSrcTitlePopUp addItemWithTitle: [NSString
stringWithFormat: @"%d - %02dh%02dm%02ds",
title->index, title->hours, title->minutes,
@@ -556,18 +558,12 @@ static int FormatSettings[3][4] =
}
if( job->vcodec & HB_VCODEC_X264 )
{
- switch([fVidEncoderPopUp indexOfSelectedItem]) {
- case 1:
- /* Baseline Level 1.3
- For iPods pre firmware 1.2 */
- job->h264_level = 13;
- break;
- case 2:
- /* Baseline Level 3.0
- For iPods w/ fimware 1.2 */
- job->h264_level = 30;
- job->mux = HB_MUX_IPOD;
- break;
+ if ([fVidEncoderPopUp indexOfSelectedItem] < 1 )
+ {
+ /* Just use new Baseline Level 3.0
+ Lets Deprecate Baseline Level 1.3*/
+ job->h264_level = 30;
+ job->mux = HB_MUX_IPOD;
}
job->h264_13 = [fVidEncoderPopUp indexOfSelectedItem];
}
@@ -893,9 +889,9 @@ static int FormatSettings[3][4] =
{
/* MPEG-4 -> H.264 */
[fVidEncoderPopUp removeAllItems];
- [fVidEncoderPopUp addItemWithTitle: @"x264 (Main profile)"];
- [fVidEncoderPopUp addItemWithTitle: @"x264 (Baseline profile level 1.3)"];
- [fVidEncoderPopUp addItemWithTitle: @"x264 (Baseline profile level 3.0)"];
+ [fVidEncoderPopUp addItemWithTitle: @"x264 (h.264 Baseline iPod)"];
+ [fVidEncoderPopUp addItemWithTitle: @"x264 (h.264 Main)"];
+
}
else if( ( FormatSettings[format][codecs] & HB_VCODEC_FFMPEG ) )
{
diff --git a/macosx/ScanController.h b/macosx/ScanController.h
index c5a8de7e0..47a7f6132 100644
--- a/macosx/ScanController.h
+++ b/macosx/ScanController.h
@@ -7,10 +7,11 @@
#include <Cocoa/Cocoa.h>
#include "hb.h"
-
+@class DriveDetector;
@interface ScanController : NSObject
{
hb_handle_t * fHandle;
+ hb_list_t * fList;
IBOutlet NSWindow * fWindow;
IBOutlet NSPanel * fPanel;
@@ -25,6 +26,9 @@
IBOutlet NSProgressIndicator * fIndicator;
IBOutlet NSButton * fCancelButton;
IBOutlet NSButton * fOpenButton;
+
+ DriveDetector * fDriveDetector;
+ NSDictionary * fDrives;
}
- (void) TranslateStrings;
diff --git a/macosx/ScanController.mm b/macosx/ScanController.mm
index e5fe2e70a..92621056b 100644
--- a/macosx/ScanController.mm
+++ b/macosx/ScanController.mm
@@ -3,17 +3,19 @@
This file is part of the HandBrake source code.
Homepage: <http://handbrake.m0k.org/>.
It may be used under the terms of the GNU General Public License. */
-
+/* These are now called in DriveDetector.h
#include <paths.h>
#include <IOKit/IOKitLib.h>
#include <IOKit/IOBSD.h>
#include <IOKit/storage/IOMedia.h>
#include <IOKit/storage/IODVDMedia.h>
+*/
#include "ScanController.h"
#include "DriveDetector.h"
#define _(a) NSLocalizedString(a,nil)
+#define INSERT_STRING @"Insert a DVD"
@implementation ScanController
@@ -38,28 +40,70 @@
- (void) Show
{
+
+ /* rev63 Drive Detector
DriveDetector * driveDetector;
driveDetector = [[DriveDetector alloc] initWithCallback: self
selector: @selector( UpdatePopup: )];
[driveDetector run];
-
+ */
+ // Taken From IHB for Post rev 63 drive detector
+ fDriveDetector = [[DriveDetector alloc] initWithCallback: self
+ selector: @selector( openUpdateDrives: )];
+ [fDriveDetector run];
+
+ // Here down continue with existing HB
[NSApp beginSheet: fPanel modalForWindow: fWindow
modalDelegate: nil didEndSelector: nil contextInfo: nil];
[NSApp runModalForWindow: fPanel];
[NSApp endSheet: fPanel];
[fPanel orderOut: self];
- [driveDetector stop];
- [driveDetector release];
+ //driveDetector stop/release not needed
+ //[driveDetector stop];
+ //[driveDetector release];
}
+- (void) openUpdateDrives: (NSDictionary *) drives
+{
+ if( fDrives )
+ {
+ [fDrives release];
+ }
+ fDrives = [[NSDictionary alloc] initWithDictionary: drives];
+
+ NSString * device;
+ NSEnumerator * enumerator = [fDrives keyEnumerator];
+ [fDetectedPopUp removeAllItems];
+ while( ( device = [enumerator nextObject] ) )
+ {
+ [fDetectedPopUp addItemWithTitle: device];
+ }
+
+ if( ![fDetectedPopUp numberOfItems] )
+ {
+ [fDetectedPopUp addItemWithTitle: INSERT_STRING];
+ }
+ [fDetectedPopUp selectItemAtIndex: 0];
+ /* May not have any bearing on anything
+ here as this is from IHB. Need to test
+
+ if( [fMatrix isEnabled] )
+ {
+ [self openEnable: YES];
+ */
+}
+
+
+// UpdatePopup Not used for post rev 63 dd
+/*
- (void) UpdatePopup: (NSArray *) drives
{
[fDetectedPopUp removeAllItems];
[fDetectedPopUp addItemsWithTitles: drives];
[self MatrixChanged: self];
}
-
+*/
- (void) EnableUI: (bool) b
{
[fMatrix setEnabled: b];
@@ -182,14 +226,26 @@
- (IBAction) Open: (id) sender
{
- NSString * path;
+ // NSString * path;
[self EnableUI: NO];
[fStatusField setStringValue: _( @"Opening..." )];
- path = [fMatrix selectedRow] ? [fFolderField stringValue] :
- [fDetectedPopUp titleOfSelectedItem];
- hb_scan( fHandle, [path UTF8String], 0 );
+ // From IHB
+ [fDriveDetector stop];
+
+ if( [fMatrix selectedRow] )
+ {
+ hb_scan( fHandle, [[fFolderField stringValue] UTF8String], 0 );
+ }
+ else
+ {
+ hb_scan( fHandle, [[fDrives objectForKey: [fDetectedPopUp
+ titleOfSelectedItem]] UTF8String], 0 );
+ }
+
+
+
}
- (IBAction) Cancel: (id) sender