[vlc-commits] macosx: Move input time helper to string category
Marvin Scholz
git at videolan.org
Tue Oct 9 13:06:47 CEST 2018
vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Tue Oct 9 12:48:57 2018 +0200| [8f20844d4454b3df0bf2354c985a9d89a01aa680] | committer: Marvin Scholz
macosx: Move input time helper to string category
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8f20844d4454b3df0bf2354c985a9d89a01aa680
---
modules/gui/macosx/NSString+Helpers.h | 12 ++++++++++++
modules/gui/macosx/NSString+Helpers.m | 20 ++++++++++++++++++++
modules/gui/macosx/VLCControlsBarCommon.m | 8 +++++---
modules/gui/macosx/VLCStatusBarIcon.m | 5 +++--
modules/gui/macosx/VLCStringUtility.h | 1 -
modules/gui/macosx/VLCStringUtility.m | 17 -----------------
6 files changed, 40 insertions(+), 23 deletions(-)
diff --git a/modules/gui/macosx/NSString+Helpers.h b/modules/gui/macosx/NSString+Helpers.h
index 4b570bc086..35ea1165cb 100644
--- a/modules/gui/macosx/NSString+Helpers.h
+++ b/modules/gui/macosx/NSString+Helpers.h
@@ -26,10 +26,22 @@
*****************************************************************************/
#import <Foundation/Foundation.h>
+#import <vlc_input.h>
@interface NSString (Helpers)
/**
+ Creates an NSString with the current time of the \c input_thread_t
+
+ This method allocates and initializes an NSString with the current
+ elapsed or remaining time of the given input.
+
+ \param negative If YES, calculate remaining instead of elapsed time
+ */
++ (instancetype)stringWithTimeFromInput:(input_thread_t *)input
+ negative:(BOOL)negative;
+
+/**
Creates an NSString from the given null-terminated C string
buffer encoded as base64
diff --git a/modules/gui/macosx/NSString+Helpers.m b/modules/gui/macosx/NSString+Helpers.m
index ee5499a8f9..36773ec235 100644
--- a/modules/gui/macosx/NSString+Helpers.m
+++ b/modules/gui/macosx/NSString+Helpers.m
@@ -33,6 +33,26 @@
@implementation NSString (Helpers)
++ (instancetype)stringWithTimeFromInput:(input_thread_t *)input
+ negative:(BOOL)negative
+{
+ NSAssert(input != NULL, @"Input may not be NULL!");
+
+ char psz_time[MSTRTIME_MAX_SIZE];
+ vlc_tick_t t = var_GetInteger(input, "time");
+
+ vlc_tick_t dur = input_item_GetDuration(input_GetItem(input));
+ if (negative && dur > 0) {
+ vlc_tick_t remaining = (dur > t) ? (dur - t) : 0;
+
+ return [NSString stringWithFormat:@"-%s",
+ secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(remaining))];
+ } else {
+ return [NSString stringWithUTF8String:
+ secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(t))];
+ }
+}
+
+ (instancetype)base64StringWithCString:(const char *)cstring
{
if (cstring == NULL)
diff --git a/modules/gui/macosx/VLCControlsBarCommon.m b/modules/gui/macosx/VLCControlsBarCommon.m
index 9cc83db12d..2d067d69c1 100644
--- a/modules/gui/macosx/VLCControlsBarCommon.m
+++ b/modules/gui/macosx/VLCControlsBarCommon.m
@@ -28,6 +28,7 @@
#import "VLCMainMenu.h"
#import "VLCPlaylist.h"
#import "CompatibilityFixes.h"
+#import "NSString+Helpers.h"
/*****************************************************************************
* VLCControlsBarCommon
@@ -265,7 +266,8 @@
var_Set(p_input, "position", pos);
[self.timeSlider setFloatValue: f_updated];
- o_time = [[VLCStringUtility sharedInstance] getCurrentTimeAsString: p_input negative:[self.timeField timeRemaining]];
+ o_time = [NSString stringWithTimeFromInput:p_input
+ negative:self.timeField.timeRemaining];
[self.timeField setStringValue: o_time];
vlc_object_release(p_input);
}
@@ -312,8 +314,8 @@
[self.timeSlider setIndefinite:buffering];
}
- NSString *time = [[VLCStringUtility sharedInstance] getCurrentTimeAsString:p_input
- negative:[self.timeField timeRemaining]];
+ NSString *time = [NSString stringWithTimeFromInput:p_input
+ negative:self.timeField.timeRemaining];
[self.timeField setStringValue:time];
[self.timeField setNeedsDisplay:YES];
diff --git a/modules/gui/macosx/VLCStatusBarIcon.m b/modules/gui/macosx/VLCStatusBarIcon.m
index 2fa8529d37..f6f61e50b5 100644
--- a/modules/gui/macosx/VLCStatusBarIcon.m
+++ b/modules/gui/macosx/VLCStatusBarIcon.m
@@ -33,6 +33,7 @@
#import "CompatibilityFixes.h"
#import "VLCCoreInteraction.h"
#import "VLCStringUtility.h"
+#import "NSString+Helpers.h"
#import "VLCApplication.h"
@@ -243,8 +244,8 @@
NSString *totalTime;
/* Get elapsed and remaining time */
- elapsedTime = [[VLCStringUtility sharedInstance] getCurrentTimeAsString:input negative:NO];
- remainingTime = [[VLCStringUtility sharedInstance] getCurrentTimeAsString:input negative:YES];
+ elapsedTime = [NSString stringWithTimeFromInput:input negative:NO];
+ remainingTime = [NSString stringWithTimeFromInput:input negative:YES];
/* Check item duration */
vlc_tick_t dur = input_item_GetDuration(input_GetItem(input));
diff --git a/modules/gui/macosx/VLCStringUtility.h b/modules/gui/macosx/VLCStringUtility.h
index 6b68ff11de..f7f241954c 100644
--- a/modules/gui/macosx/VLCStringUtility.h
+++ b/modules/gui/macosx/VLCStringUtility.h
@@ -58,7 +58,6 @@ NSImage *imageFromRes(NSString *name);
+ (VLCStringUtility *)sharedInstance;
-- (NSString *)getCurrentTimeAsString:(input_thread_t *)p_input negative:(BOOL)b_negative;
- (NSString *)stringForTime:(long long int)time;
- (NSString *)OSXStringKeyToString:(NSString *)theString;
diff --git a/modules/gui/macosx/VLCStringUtility.m b/modules/gui/macosx/VLCStringUtility.m
index 302d817176..bcba2110a6 100644
--- a/modules/gui/macosx/VLCStringUtility.m
+++ b/modules/gui/macosx/VLCStringUtility.m
@@ -68,23 +68,6 @@ NSString *const kVLCMediaUnknown = @"Unknown";
#pragma mark String utility
-- (NSString *)getCurrentTimeAsString:(input_thread_t *)p_input negative:(BOOL)b_negative
-{
- assert(p_input != nil);
-
- char psz_time[MSTRTIME_MAX_SIZE];
- vlc_tick_t t = var_GetInteger(p_input, "time");
-
- vlc_tick_t dur = input_item_GetDuration(input_GetItem(p_input));
- if (b_negative && dur > 0) {
- vlc_tick_t remaining = 0;
- if (dur > t)
- remaining = dur - t;
- return [NSString stringWithFormat: @"-%s", secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(remaining))];
- } else
- return toNSStr(secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(t)));
-}
-
- (NSString *)stringForTime:(long long int)time
{
if (time > 0) {
More information about the vlc-commits
mailing list