[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