Commit 50866382 authored by David Fuhrmann's avatar David Fuhrmann

macosx: CAS: introduce functionality for keep checkboxes (close #8601)

parent 0bfa1a60
...@@ -711,7 +711,9 @@ static VLCConvertAndSave *_o_sharedInstance = nil; ...@@ -711,7 +711,9 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
NSArray * tempArray = [_videoCodecs objectAtIndex:1]; NSArray * tempArray = [_videoCodecs objectAtIndex:1];
NSUInteger count = [tempArray count]; NSUInteger count = [tempArray count];
NSString * searchString = [components objectAtIndex:4]; NSString * searchString = [components objectAtIndex:4];
if ([searchString isEqualToString:@"none"] || [searchString isEqualToString:@"0"]) { int videoKeep = [searchString isEqualToString:@"copy"];
[_customize_vid_keep_ckb setState:videoKeep];
if ([searchString isEqualToString:@"none"] || [searchString isEqualToString:@"0"] || videoKeep) {
[_customize_vid_codec_pop selectItemAtIndex:-1]; [_customize_vid_codec_pop selectItemAtIndex:-1];
} else { } else {
for (NSUInteger x = 0; x < count; x++) { for (NSUInteger x = 0; x < count; x++) {
...@@ -725,7 +727,9 @@ static VLCConvertAndSave *_o_sharedInstance = nil; ...@@ -725,7 +727,9 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
tempArray = [_audioCodecs objectAtIndex:1]; tempArray = [_audioCodecs objectAtIndex:1];
count = [tempArray count]; count = [tempArray count];
searchString = [components objectAtIndex:10]; searchString = [components objectAtIndex:10];
if ([searchString isEqualToString:@"none"] || [searchString isEqualToString:@"0"]) { int audioKeep = [searchString isEqualToString:@"copy"];
[_customize_aud_keep_ckb setState:audioKeep];
if ([searchString isEqualToString:@"none"] || [searchString isEqualToString:@"0"] || audioKeep) {
[_customize_aud_codec_pop selectItemAtIndex:-1]; [_customize_aud_codec_pop selectItemAtIndex:-1];
} else { } else {
for (NSUInteger x = 0; x < count; x++) { for (NSUInteger x = 0; x < count; x++) {
...@@ -862,10 +866,11 @@ static VLCConvertAndSave *_o_sharedInstance = nil; ...@@ -862,10 +866,11 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
- (NSString *)composedOptions - (NSString *)composedOptions
{ {
NSMutableString *composedOptions = [[NSMutableString alloc] initWithString:@":sout=#transcode{"]; NSMutableString *composedOptions = [[NSMutableString alloc] initWithString:@":sout=#transcode{"];
BOOL haveVideo = YES;
if ([[self.currentProfile objectAtIndex:1] intValue]) { if ([[self.currentProfile objectAtIndex:1] intValue]) {
// video is enabled // video is enabled
if (![[self.currentProfile objectAtIndex:4] isEqualToString:@"copy"]) {
[composedOptions appendFormat:@"vcodec=%@", [self.currentProfile objectAtIndex:4]]; [composedOptions appendFormat:@"vcodec=%@", [self.currentProfile objectAtIndex:4]];
if (![[self.currentProfile objectAtIndex:4] isEqualToString:@"none"]) {
if ([[self.currentProfile objectAtIndex:5] intValue] > 0) // bitrate if ([[self.currentProfile objectAtIndex:5] intValue] > 0) // bitrate
[composedOptions appendFormat:@",vb=%@", [self.currentProfile objectAtIndex:5]]; [composedOptions appendFormat:@",vb=%@", [self.currentProfile objectAtIndex:5]];
if ([[self.currentProfile objectAtIndex:6] floatValue] > 0.) // scale if ([[self.currentProfile objectAtIndex:6] floatValue] > 0.) // scale
...@@ -876,28 +881,40 @@ static VLCConvertAndSave *_o_sharedInstance = nil; ...@@ -876,28 +881,40 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
[composedOptions appendFormat:@",width=%@", [self.currentProfile objectAtIndex:8]]; [composedOptions appendFormat:@",width=%@", [self.currentProfile objectAtIndex:8]];
if ([[self.currentProfile objectAtIndex:9] intValue] > 0) // height if ([[self.currentProfile objectAtIndex:9] intValue] > 0) // height
[composedOptions appendFormat:@",height=%@", [self.currentProfile objectAtIndex:9]]; [composedOptions appendFormat:@",height=%@", [self.currentProfile objectAtIndex:9]];
} else {
haveVideo = NO;
} }
} else { } else {
[composedOptions appendString:@"vcodec=none"]; [composedOptions appendString:@"vcodec=none"];
} }
[composedOptions appendString:@","]; BOOL haveAudio = YES;
if ([[self.currentProfile objectAtIndex:2] intValue]) { if ([[self.currentProfile objectAtIndex:2] intValue]) {
// audio is enabled // audio is enabled
if (![[self.currentProfile objectAtIndex:10] isEqualToString:@"copy"]) {
if(haveVideo)
[composedOptions appendString:@","];
[composedOptions appendFormat:@"acodec=%@", [self.currentProfile objectAtIndex:10]];
[composedOptions appendFormat:@"acodec=%@", [self.currentProfile objectAtIndex:10]]; [composedOptions appendFormat:@"acodec=%@", [self.currentProfile objectAtIndex:10]];
if (![[self.currentProfile objectAtIndex:10] isEqualToString:@"none"]) {
[composedOptions appendFormat:@",ab=%@", [self.currentProfile objectAtIndex:11]]; // bitrate [composedOptions appendFormat:@",ab=%@", [self.currentProfile objectAtIndex:11]]; // bitrate
[composedOptions appendFormat:@",channels=%@", [self.currentProfile objectAtIndex:12]]; // channel number [composedOptions appendFormat:@",channels=%@", [self.currentProfile objectAtIndex:12]]; // channel number
[composedOptions appendFormat:@",samplerate=%@", [self.currentProfile objectAtIndex:13]]; // sample rate [composedOptions appendFormat:@",samplerate=%@", [self.currentProfile objectAtIndex:13]]; // sample rate
} else {
haveAudio = NO;
} }
} else { } else {
if(haveVideo)
[composedOptions appendString:@","];
[composedOptions appendString:@"acodec=none"]; [composedOptions appendString:@"acodec=none"];
} }
if ([self.currentProfile objectAtIndex:3]) { if ([self.currentProfile objectAtIndex:3]) {
if(haveVideo || haveAudio)
[composedOptions appendString:@","];
// subtitles enabled // subtitles enabled
[composedOptions appendFormat:@",scodec=%@", [self.currentProfile objectAtIndex:14]]; [composedOptions appendFormat:@"scodec=%@", [self.currentProfile objectAtIndex:14]];
if ([[self.currentProfile objectAtIndex:15] intValue]) if ([[self.currentProfile objectAtIndex:15] intValue])
[composedOptions appendFormat:@",soverlay"]; [composedOptions appendFormat:@",soverlay"];
} }
...@@ -956,21 +973,37 @@ static VLCConvertAndSave *_o_sharedInstance = nil; ...@@ -956,21 +973,37 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
[self.currentProfile addObject: [NSString stringWithFormat:@"%li", [_customize_vid_ckb state]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%li", [_customize_vid_ckb state]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%li", [_customize_aud_ckb state]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%li", [_customize_aud_ckb state]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%li", [_customize_subs_ckb state]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%li", [_customize_subs_ckb state]]];
i = [_customize_vid_codec_pop indexOfSelectedItem];
if (i >= 0) NSString *videoCodec;
[self.currentProfile addObject: [[_videoCodecs objectAtIndex:1] objectAtIndex:i]]; if([_customize_vid_keep_ckb state] == NSOnState)
else videoCodec = @"copy";
[self.currentProfile addObject: @"none"]; else {
i = [_customize_vid_codec_pop indexOfSelectedItem];
if (i >= 0)
videoCodec = [[_videoCodecs objectAtIndex:1] objectAtIndex:i];
else
videoCodec = @"none";
}
[self.currentProfile addObject: videoCodec];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self vidBitrate]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self vidBitrate]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [[[_customize_vid_scale_pop selectedItem] title] intValue]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [[[_customize_vid_scale_pop selectedItem] title] intValue]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self vidFramerate]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self vidFramerate]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [_customize_vid_width_fld intValue]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [_customize_vid_width_fld intValue]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [_customize_vid_height_fld intValue]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [_customize_vid_height_fld intValue]]];
i = [_customize_aud_codec_pop indexOfSelectedItem];
if (i >= 0) NSString *audioCodec;
[self.currentProfile addObject: [[_audioCodecs objectAtIndex:1] objectAtIndex:i]]; if([_customize_aud_keep_ckb state] == NSOnState)
else audioCodec = @"copy";
[self.currentProfile addObject: @"none"]; else {
i = [_customize_aud_codec_pop indexOfSelectedItem];
if (i >= 0)
audioCodec = [[_audioCodecs objectAtIndex:1] objectAtIndex:i];
else
audioCodec = @"none";
}
[self.currentProfile addObject: audioCodec];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self audBitrate]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self audBitrate]]];
[self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self audChannels]]]; [self.currentProfile addObject: [NSString stringWithFormat:@"%i", [self audChannels]]];
[self.currentProfile addObject: [[_customize_aud_samplerate_pop selectedItem] title]]; [self.currentProfile addObject: [[_customize_aud_samplerate_pop selectedItem] title]];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment