Mercurial > foo_out_sdl
comparison foosdk/sdk/foobar2000/helpers-mac/fooTimeFormatter.mm @ 1:20d02a178406 default tip
*: check in everything else
yay
| author | Paper <paper@tflc.us> |
|---|---|
| date | Mon, 05 Jan 2026 02:15:46 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:e9bb126753e7 | 1:20d02a178406 |
|---|---|
| 1 // | |
| 2 // fooTimeFormatter.m | |
| 3 // foo_abx | |
| 4 // | |
| 5 // Created by P on 06/09/2023. | |
| 6 // | |
| 7 | |
| 8 #import "stdafx.h" | |
| 9 #import "fooTimeFormatter.h" | |
| 10 | |
| 11 @implementation fooTimeFormatter | |
| 12 | |
| 13 - (NSString *)stringForObjectValue:(id)obj { | |
| 14 double v = 0; | |
| 15 if ( [obj respondsToSelector: @selector(doubleValue)]) v = [obj doubleValue]; | |
| 16 else if ( [obj respondsToSelector: @selector(longValue)]) v = [obj longValue]; | |
| 17 else if ( [obj respondsToSelector: @selector(intValue)]) v = [obj intValue]; | |
| 18 | |
| 19 unsigned digits = 3; | |
| 20 if ( _digits ) digits = _digits.unsignedIntValue; | |
| 21 return [NSString stringWithUTF8String: pfc::format_time_ex(v, digits)]; | |
| 22 } | |
| 23 | |
| 24 - (NSString *)editingStringForObjectValue:(id)obj { | |
| 25 return [self stringForObjectValue: obj]; | |
| 26 } | |
| 27 - (BOOL)getObjectValue:(out id _Nullable __autoreleasing *)obj forString:(NSString *)string errorDescription:(out NSString * _Nullable __autoreleasing *)error { | |
| 28 if ( string == nil ) return NO; | |
| 29 try { | |
| 30 double v = pfc::parse_timecode( string.UTF8String ); | |
| 31 *obj = [NSNumber numberWithDouble: v]; | |
| 32 return YES; | |
| 33 } catch(...) { | |
| 34 return NO; | |
| 35 } | |
| 36 } | |
| 37 @end |
