[vlc-commits] macosx/wizard: allow partial extract values to be entered in a sane manner (close #4991)
Felix Paul Kühne
git at videolan.org
Fri Sep 7 16:13:45 CEST 2012
vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Fri Sep 7 16:13:32 2012 +0200| [38faa0be67f7df1fa4eca218aa63782e66d7806c] | committer: Felix Paul Kühne
macosx/wizard: allow partial extract values to be entered in a sane manner (close #4991)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=38faa0be67f7df1fa4eca218aa63782e66d7806c
---
modules/gui/macosx/wizard.m | 41 ++++++++++++++++++++++++++++-------------
1 file changed, 28 insertions(+), 13 deletions(-)
diff --git a/modules/gui/macosx/wizard.m b/modules/gui/macosx/wizard.m
index 4946b16..a06ae67 100644
--- a/modules/gui/macosx/wizard.m
+++ b/modules/gui/macosx/wizard.m
@@ -1217,21 +1217,36 @@ static VLCWizard *_o_sharedInstance = nil;
input_item_AddOption( p_input, [[o_t8_fld_mrl stringValue] UTF8String], VLC_INPUT_OPTION_TRUSTED );
if(! [[o_userSelections objectForKey:@"partExtractFrom"]
- isEqualToString:@""] )
- {
- input_item_AddOption( p_input, [[NSString
- stringWithFormat: @"start-time=%@", [o_userSelections
- objectForKey: @"partExtractFrom"]] UTF8String],
- VLC_INPUT_OPTION_TRUSTED );
+ isEqualToString:@""]) {
+ NSArray * components = [o_userSelections objectForKey: @"partExtractFrom"] componentsSeparatedByString:@":"];
+ NSUInteger componentCount = [components count];
+ NSUInteger time = 0;
+ if (componentCount == 1)
+ time = 1000000 * ([[components objectAtIndex:0] intValue]);
+ else if (componentCount == 2)
+ time = 1000000 * ([[components objectAtIndex:0] intValue] * 60 + [[components objectAtIndex:1] intValue]);
+ else if (componentCount == 3)
+ time = 1000000 * ([[components objectAtIndex:0] intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 + [[components objectAtIndex:2] intValue]);
+ else
+ msg_Err(VLCIntf, "Invalid string format for time");
+ input_item_AddOption(p_input, [[NSString stringWithFormat: @"start-time=%lu", time] UTF8String], VLC_INPUT_OPTION_TRUSTED);
}
if(! [[o_userSelections objectForKey:@"partExtractTo"]
- isEqualToString:@""] )
- {
- input_item_AddOption( p_input, [[NSString
- stringWithFormat: @"stop-time=%@", [o_userSelections
- objectForKey: @"partExtractTo"]] UTF8String],
- VLC_INPUT_OPTION_TRUSTED );
+ isEqualToString:@""]) {
+ NSArray * components = [[o_userSelections
+ objectForKey: @"partExtractTo"] componentsSeparatedByString:@":"];
+ NSUInteger componentCount = [components count];
+ NSUInteger time = 0;
+ if (componentCount == 1)
+ time = 1000000 * ([[components objectAtIndex:0] intValue]);
+ else if (componentCount == 2)
+ time = 1000000 * ([[components objectAtIndex:0] intValue] * 60 + [[components objectAtIndex:1] intValue]);
+ else if (componentCount == 3)
+ time = 1000000 * ([[components objectAtIndex:0] intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 + [[components objectAtIndex:2] intValue]);
+ else
+ msg_Err(VLCIntf, "Invalid string format for time");
+ input_item_AddOption(p_input, [[NSString stringWithFormat: @"stop-time=%lu", time] UTF8String], VLC_INPUT_OPTION_TRUSTED);
}
input_item_AddOption( p_input, [[NSString stringWithFormat:
@@ -1311,7 +1326,7 @@ static VLCWizard *_o_sharedInstance = nil;
if ([[o_userSelections objectForKey:@"partExtract"] isEqualToString: @"YES"])
{
[o_t8_fld_partExtract setStringValue: [NSString stringWithFormat:
- _NS("yes: from %@ to %@ secs"),
+ _NS("yes: from %@ to %@"),
[o_userSelections objectForKey:@"partExtractFrom"],
[o_userSelections objectForKey:@"partExtractTo"]]];
} else {
More information about the vlc-commits
mailing list