*/
int i = 0;
- NSEnumerator *enumerator = [fJobGroups objectEnumerator];
- id tempObject;
- while (tempObject = [enumerator nextObject])
+ for(id tempObject in fJobGroups)
{
NSDictionary *thisQueueDict = tempObject;
if ([[thisQueueDict objectForKey:@"Status"] intValue] == 0) // Completed
- (IBAction)removeSelectedQueueItem: (id)sender
{
NSIndexSet * selectedRows = [fOutlineView selectedRowIndexes];
- int row = [selectedRows firstIndex];
+ NSUInteger row = [selectedRows firstIndex];
+ if( row == NSNotFound )
+ return;
/* if this is a currently encoding job, we need to be sure to alert the user,
* to let them decide to cancel it first, then if they do, we can come back and
* remove it */
- if ([[[fJobGroups objectAtIndex:row] objectForKey:@"Status"] intValue] == 1)
+ if ([[[fJobGroups objectAtIndex:row] objectForKey:@"Status"] integerValue] == 1)
{
/* We pause the encode here so that it doesn't finish right after and then
* screw up the sync while the window is open
[fHBController Pause:NULL];
NSString * alertTitle = [NSString stringWithFormat:NSLocalizedString(@"Stop This Encode and Remove It ?", nil)];
// Which window to attach the sheet to?
- NSWindow * docWindow;
+ NSWindow * docWindow = nil;
if ([sender respondsToSelector: @selector(window)])
docWindow = [sender window];
- (IBAction)togglePauseResume: (id)sender
{
if (!fQueueEncodeLibhb) return;
-
+
hb_state_t s;
hb_get_state2 (fQueueEncodeLibhb, &s);
-
+
if (s.state == HB_STATE_PAUSED)
+ {
hb_resume (fQueueEncodeLibhb);
+ [self startAnimatingCurrentWorkingEncodeInQueue];
+ }
else if ((s.state == HB_STATE_WORKING) || (s.state == HB_STATE_MUXING))
+ {
hb_pause (fQueueEncodeLibhb);
+ [self stopAnimatingCurrentJobGroupInQueue];
+ }
}
#pragma mark -
NSString * pictureFilters = @"";
BOOL pictureFiltersPresent = NO;
- if( [[item objectForKey:@"VFR"] intValue] == 1)
+
+ if( [[item objectForKey:@"PictureDetelecine"] intValue] == 1)
{
pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - VFR"];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Detelecine (Default)"];
}
-
- if( [[item objectForKey:@"PictureDetelecine"] intValue] == 1 )
+ else if( [[item objectForKey:@"PictureDetelecine"] intValue] == 2)
{
pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Detelecine"];
+ pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Detelecine (%@)",[item objectForKey:@"PictureDetelecineCustom"]]];
}
if( [[item objectForKey:@"PictureDecombDeinterlace"] intValue] == 1)
if( [[item objectForKey:@"PictureDecomb"] intValue] == 1)
{
pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb Default "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb (Default)"];
}
if( [[item objectForKey:@"PictureDecomb"] intValue] == 2)
{
pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString:@" - Decomb Custom "];
+ pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Decomb (%@)",[item objectForKey:@"PictureDecombCustom"]]];
}
}
}
pictureFiltersPresent = YES;
if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 1)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Fast "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Fast)"];
}
else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 2)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Slow "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Slow)"];
}
else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 3)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Slower "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace (Slower)"];
}
else if ([[item objectForKey:@"PictureDeinterlace"] intValue] == 4)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Deinterlace: Custom "];
+ pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Deinterlace (%@)",[item objectForKey:@"PictureDeinterlaceCustom"]]];
}
}
pictureFiltersPresent = YES;
if ([[item objectForKey:@"PictureDenoise"] intValue] == 1)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise: Weak "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise (Weak)"];
}
else if ([[item objectForKey:@"PictureDenoise"] intValue] == 2)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise: Medium "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise (Medium)"];
}
else if ([[item objectForKey:@"PictureDenoise"] intValue] == 3)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise: Strong "];
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise (Strong)"];
}
else if ([[item objectForKey:@"PictureDenoise"] intValue] == 4)
{
- pictureFilters = [pictureFilters stringByAppendingString:@" - Denoise: Custom "];
+ pictureFilters = [pictureFilters stringByAppendingString:[NSString stringWithFormat:@" - Denoise (%@)",[item objectForKey:@"PictureDenoiseCustom"]]];
}
}
if ([[item objectForKey:@"PictureDeblock"] intValue] != 0)
{
pictureFiltersPresent = YES;
- pictureFilters = [pictureFilters stringByAppendingString: [NSString stringWithFormat:@" - Deblock (pp7) (%d) ",[[item objectForKey:@"PictureDeblock"] intValue]]];
+ pictureFilters = [pictureFilters stringByAppendingString: [NSString stringWithFormat:@" - Deblock (pp7) (%d)",[[item objectForKey:@"PictureDeblock"] intValue]]];
+ }
+
+ if ([[item objectForKey:@"VideoGrayScale"] intValue] == 1)
+ {
+ pictureFiltersPresent = YES;
+ pictureFilters = [pictureFilters stringByAppendingString:@" - Grayscale"];
}
+
if (pictureFiltersPresent == YES)
{
[finalString appendString: @"Filters: " withAttributes:detailBoldAttr];
}
else // CRF
{
- videoInfo = [NSString stringWithFormat:@"%@ Constant Quality: %.0f %%", videoInfo ,[[item objectForKey:@"VideoQualitySlider"] floatValue] * 100];
+ videoInfo = [NSString stringWithFormat:@"%@ Constant Quality: %.2f", videoInfo ,[[item objectForKey:@"VideoQualitySlider"] floatValue]];
}
[finalString appendString: @"Video: " withAttributes:detailBoldAttr];
- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard
{
// Dragging is only allowed of the pending items.
- if ([[[fJobGroups objectAtIndex:[outlineView selectedRow]] objectForKey:@"Status"] intValue] != 2) // 2 is pending
+ if ([[[items objectAtIndex:0] objectForKey:@"Status"] integerValue] != 2) // 2 is pending
{
return NO;
}
return NSDragOperationGeneric;
}
-
-
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index
{
- NSMutableIndexSet *moveItems = [NSMutableIndexSet indexSet];
-
- id obj;
- NSEnumerator *enumerator = [fDraggedNodes objectEnumerator];
- while (obj = [enumerator nextObject])
- {
+ NSMutableIndexSet *moveItems = [NSMutableIndexSet indexSet];
+
+ for( id obj in fDraggedNodes )
[moveItems addIndex:[fJobGroups indexOfObject:obj]];
- }
+
// Successful drop, we use moveObjectsInQueueArray:... in fHBController
// to properly rearrange the queue array, save it to plist and then send it back here.
// since Controller.mm is handling all queue array manipulation.