self.selectedPreset = [self createPresetFromCurrentSettings];
}
- self.job = nil;
// Notify anyone interested (audio/subtitles/chapters controller) that there's no title
fPictureController.picture = nil;
fPictureController.filters = nil;
fVideoController.video = nil;
fChapterTitlesController.job = nil;
+ self.job = nil;
+
[self enableUI: NO];
NSError *outError = NULL;
}
/* Picture Size Settings */
- job->width = [[queueToApply objectForKey:@"PictureWidth"] intValue];
- job->height = [[queueToApply objectForKey:@"PictureHeight"] intValue];
-
- job->anamorphic.keep_display_aspect = [[queueToApply objectForKey:@"PictureKeepRatio"] intValue];
- job->anamorphic.mode = [[queueToApply objectForKey:@"PicturePAR"] intValue];
- job->modulus = [[queueToApply objectForKey:@"PictureModulus"] intValue];
job->par.num = [[queueToApply objectForKey:@"PicturePARPixelWidth"] intValue];
job->par.den = [[queueToApply objectForKey:@"PicturePARPixelHeight"] intValue];
- /* Here we use the crop values saved at the time the preset was saved */
- job->crop[0] = [[queueToApply objectForKey:@"PictureTopCrop"] intValue];
- job->crop[1] = [[queueToApply objectForKey:@"PictureBottomCrop"] intValue];
- job->crop[2] = [[queueToApply objectForKey:@"PictureLeftCrop"] intValue];
- job->crop[3] = [[queueToApply objectForKey:@"PictureRightCrop"] intValue];
-
/* Video settings */
/* Framerate */
int fps_mode, fps_num, fps_den;
}
/* Add Crop/Scale filter */
- filter = hb_filter_init( HB_FILTER_CROP_SCALE );
+ filter = hb_filter_init(HB_FILTER_CROP_SCALE);
hb_add_filter( job, filter, [[NSString stringWithFormat:@"%d:%d:%d:%d:%d:%d",
- job->width, job->height,
- job->crop[0], job->crop[1],
- job->crop[2], job->crop[3]] UTF8String] );
+ [queueToApply[@"PictureWidth"] intValue], [queueToApply[@"PictureHeight"] intValue],
+ [queueToApply[@"PictureTopCrop"] intValue], [queueToApply[@"PictureBottomCrop"] intValue],
+ [queueToApply[@"PictureLeftCrop"] intValue], [queueToApply[@"PictureRightCrop"] intValue]] UTF8String] );
/* Add framerate shaping filter */
filter = hb_filter_init(HB_FILTER_VFR);
if (job)
{
- audioArray = job.audioTracks;
+ [audioArray release];
+ audioArray = [job.audioTracks retain];
self.settings = job.audioDefaults;
// Reinitialize the master list of available audio tracks from this title
}
else
{
+ [audioArray release];
+ audioArray = nil;
self.settings = nil;
self.masterTrackArray = nil;
}
withObject:preset.content];
}
+- (void)dealloc
+{
+ [_audioTracks release];
+ [_subtitlesTracks release];
+
+ [_video release];
+ [_picture release];
+ [_filters release];
+
+ [_audioDefaults release];
+ [_subtitlesDefaults release];
+ [_fileURL release];
+
+ [super dealloc];
+}
+
/**
* Prepares a hb_job_t
*/
}
// Picture Size Settings
- job->width = self.picture.width;
- job->height = self.picture.height;
-
- job->anamorphic.keep_display_aspect = self.picture.keepDisplayAspect;
- job->anamorphic.mode = self.picture.anamorphicMode;
- job->modulus = self.picture.modulus;
job->par.num = self.picture.parWidth;
job->par.den = self.picture.parHeight;
- // Here we use the crop values saved at the time the preset was saved
- job->crop[0] = self.picture.cropTop;
- job->crop[1] = self.picture.cropBottom;
- job->crop[2] = self.picture.cropLeft;
- job->crop[3] = self.picture.cropRight;
-
// Video settings
// Framerate
int fps_mode, fps_num, fps_den;
for (NSDictionary *subtitleDict in self.subtitlesTracks)
{
+ if (i == self.subtitlesTracks.count - 1)
+ continue;
+
int subtitle = [subtitleDict[keySubTrackIndex] intValue];
int force = [subtitleDict[keySubTrackForced] intValue];
int burned = [subtitleDict[keySubTrackBurned] intValue];
// Add Crop/Scale filter
filter = hb_filter_init(HB_FILTER_CROP_SCALE);
hb_add_filter( job, filter, [NSString stringWithFormat:@"%d:%d:%d:%d:%d:%d",
- job->width, job->height,
- job->crop[0], job->crop[1],
- job->crop[2], job->crop[3]].UTF8String);
+ self.picture.width, self.picture.height,
+ self.picture.cropTop, self.picture.cropBottom,
+ self.picture.cropLeft, self.picture.cropRight].UTF8String);
// Add framerate shaping filter
filter = hb_filter_init(HB_FILTER_VFR);
@property (assign) IBOutlet NSButton *reloadDefaults;
// Subtitles arrays
-@property (nonatomic, readwrite) NSMutableArray *subtitleArray;
-@property (nonatomic, readwrite) NSMutableArray *subtitleSourceArray;
+@property (nonatomic, readwrite, retain) NSMutableArray *subtitleArray;
+@property (nonatomic, readwrite, retain) NSMutableArray *subtitleSourceArray;
@property (nonatomic, readwrite, retain) NSString *foreignAudioSearchTrackName;
@property (nonatomic, readwrite) int container;
return self;
}
+- (void)dealloc
+{
+ [_name release];
+ [_audioTracks release];
+ [_subtitlesTracks release];
+ [_chapters release];
+
+ [super dealloc];
+}
- (NSString *)name
{
if (!_name)