summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
Diffstat (limited to 'macosx')
-rw-r--r--macosx/Controller.mm2
-rw-r--r--macosx/English.lproj/MainMenu.nib/info.nib3
-rw-r--r--macosx/English.lproj/MainMenu.nib/keyedobjects.nibbin124049 -> 124054 bytes
-rw-r--r--macosx/QueueController.h10
-rw-r--r--macosx/QueueController.mm216
5 files changed, 204 insertions, 27 deletions
diff --git a/macosx/Controller.mm b/macosx/Controller.mm
index 12035d7e6..5ad5a854e 100644
--- a/macosx/Controller.mm
+++ b/macosx/Controller.mm
@@ -905,7 +905,7 @@ return registrationDictionary;
if ([fVidEncoderPopUp indexOfSelectedItem] > 0 )
{
/* Just use new Baseline Level 3.0
- Lets Deprecate Baseline Level 1.3*/
+ Lets Deprecate Baseline Level 1.3h264_level*/
job->h264_level = 30;
job->mux = HB_MUX_IPOD;
/* move sanity check for iPod Encoding here */
diff --git a/macosx/English.lproj/MainMenu.nib/info.nib b/macosx/English.lproj/MainMenu.nib/info.nib
index 79e22dcbb..fe3ea1c92 100644
--- a/macosx/English.lproj/MainMenu.nib/info.nib
+++ b/macosx/English.lproj/MainMenu.nib/info.nib
@@ -19,9 +19,8 @@
</array>
<key>IBOpenObjects</key>
<array>
+ <integer>1348</integer>
<integer>29</integer>
- <integer>21</integer>
- <integer>1162</integer>
</array>
<key>IBSystem Version</key>
<string>8R2218</string>
diff --git a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib
index 30456fee3..02b83790f 100644
--- a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib
+++ b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib
Binary files differ
diff --git a/macosx/QueueController.h b/macosx/QueueController.h
index 635adc7b8..c86ffd4ec 100644
--- a/macosx/QueueController.h
+++ b/macosx/QueueController.h
@@ -9,6 +9,16 @@
hb_handle_t * fHandle;
IBOutlet NSScrollView * fScrollView;
IBOutlet NSView * fTaskView;
+
+ /*Display variables for each job in view*/
+ NSString * jobFormat;
+ NSString * jobPictureDetail;
+ NSString * jobVideoDetail;
+ NSString * jobVideoCodec;
+ NSString * jobVideoQuality;
+
+ NSString * jobAudioDetail;
+ NSString * jobAudioCodec;
}
- (void) SetHandle: (hb_handle_t *) handle;
diff --git a/macosx/QueueController.mm b/macosx/QueueController.mm
index e775bb33d..7a8f7dda9 100644
--- a/macosx/QueueController.mm
+++ b/macosx/QueueController.mm
@@ -11,18 +11,20 @@
{
NSTextField * textField;
- rect->origin.x = 10;
- rect->origin.y -= 17;
- rect->size.height = 17;
+ rect->origin.x = 0;
+ rect->origin.y -= 15;
+ rect->size.width = 700;
+ rect->size.height = 15;
textField = [[NSTextField alloc] initWithFrame: *rect];
-
[textField setEditable: NO];
[textField setSelectable: NO];
[textField setDrawsBackground: NO];
- [textField setBordered: NO];
+ [textField setBordered: NO];
+ [textField setFont: [NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
[textField setStringValue: string];
[fTaskView addSubview: textField];
+
}
- (void) removeTask: (id) sender
@@ -35,19 +37,20 @@
- (void) AddButton: (NSRect *) rect tag: (int) tag
{
NSButton * button;
-
- rect->origin.x = rect->size.width - 90;
+
+ rect->origin.x = rect->size.width - 60;
rect->origin.y -= 20;
- rect->size.width = 100;
+ rect->size.width = 60;
rect->size.height = 20;
+
button = [[NSButton alloc] initWithFrame: *rect];
rect->size.width = rect->origin.x + 90;
[button setTitle: @"Remove"];
[button setBezelStyle: NSRoundedBezelStyle];
[button setFont: [NSFont systemFontOfSize:
- [NSFont systemFontSizeForControlSize: NSSmallControlSize]]];
- [[button cell] setControlSize: NSSmallControlSize];
+ [NSFont systemFontSizeForControlSize: NSMiniControlSize]]];
+ [[button cell] setControlSize: NSMiniControlSize];
[button setTag: tag];
[button setTarget: self];
@@ -64,7 +67,7 @@
box = [[NSBox alloc] initWithFrame: *rect];
[box setBoxType: NSBoxSeparator];
rect->origin.y -= 10;
- rect->size.width += 10;
+ rect->size.width -= 30;
[fTaskView addSubview: box];
}
@@ -92,24 +95,189 @@
{
j = hb_job( fHandle, i );
title = j->title;
-
- [self AddTextField: [NSString stringWithFormat:
- @"DVD: %s", title->dvd] rect: &rect];
- [self AddTextField: [NSString stringWithFormat:
- @"Title: %d", title->index] rect: &rect];
- [self AddTextField: [NSString stringWithFormat:
- @"Chapters: %d to %d", j->chapter_start, j->chapter_end]
- rect: &rect];
- [self AddTextField: [NSString stringWithFormat:
- @"Pass: %d of %d", MAX( 1, j->pass ), MIN( 2, j->pass + 1 )]
- rect: &rect];
+ /* show the name of the source Note: use title->name instead of
+ title->dvd since name is just the chosen folder, instead of dvd which is the full path*/
[self AddTextField: [NSString stringWithFormat:
- @"Destination: %s", j->file] rect: &rect];
- [self AddButton: &rect tag: i];
+ @"Task: %d Source: %s Title: %d Chapters: %d to %d Pass: %d of %d",i, title->name, title->index , j->chapter_start, j->chapter_end,MAX( 1, j->pass ), MIN( 2, j->pass + 1 )] rect: &rect];
+ /* Muxer settings (File Format in the gui) */
+ if (j->mux == 65536 || j->mux == 131072 || j->mux == 1048576)
+ {
+ jobFormat = @"MP4"; // HB_MUX_MP4,HB_MUX_PSP,HB_MUX_IPOD
+ }
+ if (j->mux == 262144)
+ {
+ jobFormat = @"AVI"; // HB_MUX_AVI
+ }
+ if (j->mux == 524288)
+ {
+ jobFormat = @"OGM"; // HB_MUX_OGM
+ }
+ /* Video Codec settings (Encoder in the gui) */
+ if (j->vcodec == 1)
+ {
+ jobVideoCodec = @"FFmpeg"; // HB_VCODEC_FFMPEG
+ }
+ if (j->vcodec == 2)
+ {
+ jobVideoCodec = @"XviD"; // HB_VCODEC_XVID
+ }
+ if (j->vcodec == 4)
+ {
+ /* Deterimine for sure how we are now setting iPod uuid atom */
+ if (j->h264_level) // We are encoding for iPod
+ {
+ jobVideoCodec = @"x264 (H.264 iPod)"; // HB_VCODEC_X264
+ }
+ else
+ {
+ jobVideoCodec = @"x264 (H.264 Main)"; // HB_VCODEC_X264
+ }
+ }
+ /* Audio Codecs (Second half of Codecs in the gui) */
+ if (j->acodec == 256)
+ {
+ jobAudioCodec = @"AAC"; // HB_ACODEC_FAAC
+ }
+ if (j->acodec == 512)
+ {
+ jobAudioCodec = @"MP3"; // HB_ACODEC_LAME
+ }
+ if (j->acodec == 1024)
+ {
+ jobAudioCodec = @"Vorbis"; // HB_ACODEC_VORBIS
+ }
+ if (j->acodec == 2048)
+ {
+ jobAudioCodec = @"AC3"; // HB_ACODEC_AC3
+ }
+ /* Show Basic File info */
+ if (j->chapter_markers == 1)
+ {
+ [self AddTextField: [NSString stringWithFormat: @"Format: %@ Codecs: %@ Video / %@ Audio Chapter Markers", jobFormat, jobVideoCodec, jobAudioCodec]
+ rect: &rect];
+ }
+ else
+ {
+ [self AddTextField: [NSString stringWithFormat: @"Format: %@ Codecs: %@ Video / %@ Audio", jobFormat, jobVideoCodec, jobAudioCodec]
+ rect: &rect];
+ }
+
+ /*Picture info*/
+ /*integers for picture values deinterlace, crop[4], keep_ratio, grayscale, pixel_ratio, pixel_aspect_width, pixel_aspect_height,
+ maxWidth, maxHeight */
+ if (j->pixel_ratio == 1)
+ {
+ int titlewidth = title->width - j->crop[2] - j->crop[3];
+ int displayparwidth = titlewidth * j->pixel_aspect_width / j->pixel_aspect_height;
+ int displayparheight = title->height - j->crop[0] - j->crop[1];
+ jobPictureDetail = [NSString stringWithFormat: @"Picture: %d x %d Anamorphic", displayparwidth, displayparheight];
+ }
+ else
+ {
+ jobPictureDetail = [NSString stringWithFormat: @"Picture: %d x %d", j->width, j->height];
+ }
+ if (j->keep_ratio == 1)
+ {
+ jobPictureDetail = [jobPictureDetail stringByAppendingString: @" Keep Aspect Ratio"];
+ }
+
+ if (j->grayscale == 1)
+ {
+ jobPictureDetail = [jobPictureDetail stringByAppendingString: @" ,Grayscale"];
+ }
+
+ if (j->deinterlace == 1)
+ {
+ jobPictureDetail = [jobPictureDetail stringByAppendingString: @" ,Deinterlace"];
+ }
+ /* Show Picture info */
+ [self AddTextField: [NSString stringWithFormat: @"%@", jobPictureDetail]rect: &rect];
+
+ /* Detailed Video info */
+ if (j->vquality <= 0 || j->vquality >= 1)
+ {
+ jobVideoQuality =[NSString stringWithFormat: @"%d (kbps)", j->vbitrate];
+ }
+ else
+ {
+ NSNumber * vidQuality;
+ vidQuality = [NSNumber numberWithInt: j->vquality * 100];
+ /* this is screwed up kind of. Needs to be formatted properly */
+ if (j->crf == 1)
+ {
+ jobVideoQuality =[NSString stringWithFormat: @"%@ %% (crf)", vidQuality];
+ }
+ else
+ {
+ jobVideoQuality =[NSString stringWithFormat: @"%@ %% (cqp)", vidQuality];
+ }
+ }
+
+
+ jobVideoDetail = [NSString stringWithFormat:@"Video: %@ %@ FPS: %d", jobVideoCodec, jobVideoQuality, j->vrate / j->vrate_base];
+
+
+ /* Add the video detail string to the job filed in the window */
+ [self AddTextField: [NSString stringWithFormat:@"%@", jobVideoDetail] rect: &rect];
+
+ /* if there is an x264 option string, lets add it here*/
+ /*NOTE: Due to size, lets get this in a tool tip*/
+
+ if (j->x264opts)
+ {
+ [self AddTextField: [NSString stringWithFormat:@"x264 Options: %@", [NSString stringWithUTF8String:j->x264opts]] rect: &rect];
+ }
+
+ /* Audio Detail abitrate arate*/
+ if ([jobAudioCodec isEqualToString: @"AC3"])
+ {
+ jobAudioDetail = [NSString stringWithFormat:@"Audio: %@ Pass-Through", jobAudioCodec];
+ }
+ else
+ {
+ jobAudioDetail = [NSString stringWithFormat:@"Audio: %@ Bitrate:%d (kbps) Sample Rate:%d (khz)", jobAudioCodec, j->abitrate, j->arate];
+ }
+
+ /* we now get the audio mixdown info for each of the two gui audio tracks */
+ /* lets do it the long way here to get a handle on things.
+ Hardcoded for two tracks for gui: audio_mixdowns[i] audio_mixdowns[i] */
+ int ai; // counter for each audios [] , macgui only allows for two audio tracks currently
+ for( ai = 0; ai < 2; ai++ )
+ {
+ if (j->audio_mixdowns[ai] == HB_AMIXDOWN_MONO)
+ {
+ jobAudioDetail = [jobAudioDetail stringByAppendingString: [NSString stringWithFormat:@" ,Track %d: Mono",ai + 1]];
+ }
+ if (j->audio_mixdowns[ai] == HB_AMIXDOWN_STEREO)
+ {
+ jobAudioDetail = [jobAudioDetail stringByAppendingString: [NSString stringWithFormat:@" ,Track %d: Stero",ai + 1]];
+ }
+ if (j->audio_mixdowns[ai] == HB_AMIXDOWN_DOLBY)
+ {
+ jobAudioDetail = [jobAudioDetail stringByAppendingString: [NSString stringWithFormat:@" ,Track %d: Dolby Surround",ai + 1]];
+ }
+ if (j->audio_mixdowns[ai] == HB_AMIXDOWN_DOLBYPLII)
+ {
+ jobAudioDetail = [jobAudioDetail stringByAppendingString: [NSString stringWithFormat:@" ,Track %d: DPL2",ai + 1]];
+ }
+ if (j->audio_mixdowns[ai] == HB_AMIXDOWN_6CH)
+ {
+ jobAudioDetail = [jobAudioDetail stringByAppendingString: [NSString stringWithFormat:@" ,Track %d: 6 Channel Discreet",ai + 1]];
+ }
+ }
+ //jobAudioDetail = [jobAudioDetail stringByAppendingString: [NSString stringWithFormat:@" ,MixDown: %d",j->audio_mixdowns]];
+ /* Add the Audio detail string to the job filed in the window */
+ [self AddTextField: [NSString stringWithFormat:@"%@", jobAudioDetail] rect: &rect];
+
+ /*Destination Field */
+ [self AddTextField: [NSString stringWithFormat: @"Destination: %s", j->file] rect: &rect];
+ /* Show remove button */
+ [self AddButton: &rect tag: i];
}
[fTaskView scrollPoint: NSMakePoint(0,height)];
[fTaskView setNeedsDisplay: YES];
+
}
- (IBAction) ClosePanel: (id) sender