Fixing iTunesRemote's time functions, they now return a properly
authorJoseph Spiros <joseph.spiros@ithinksw.com>
Wed, 1 Oct 2003 12:05:59 +0000 (12:05 +0000)
committerJoseph Spiros <joseph.spiros@ithinksw.com>
Wed, 1 Oct 2003 12:05:59 +0000 (12:05 +0000)
formatted string :)

iTunesRemote.m
libValidate.a

index cb976a6..5c63183 100755 (executable)
 {
     long duration;
     long current;
+    long final;
+    NSString *finalString;
     
     ITDebugLog(@"Getting current song remaining time.");
     
                         sendTwoTierAEWithRequestedKeyForNumber:@"pDur" fromObjectByKey:@"pTrk" eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
     current = [[ITAppleEventCenter sharedCenter]
                         sendAEWithRequestedKeyForNumber:@"pPos" eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
+                        
+    final = duration - current;
+    if (final > 60) {
+        if (final > 3600) {
+            if (final > 216000) {
+                finalString = [NSString stringWithFormat:@"%i:%i:%i:%i",(final / 216000),((final % 216000) / 3600),(((final / 216000) % 3600) / 60),(((final / 216000) % 3600) % 60)];
+            } else {
+                finalString = [NSString stringWithFormat:@"%i:%i:%i",(final / 3600),((final % 3600) / 60),((final % 3600) % 60)];
+            }
+        } else {
+            finalString = [NSString stringWithFormat:@"%i:%i",(final / 60),(final % 60)];
+        }
+    } else {
+        finalString = [[NSNumber numberWithLong:final] stringValue];
+    }
+    
     ITDebugLog(@"Getting current song remaining time done.");
-    return [[NSNumber numberWithLong:duration - current] stringValue];
+    
+    return finalString;
 }
 
 - (NSString *)currentSongElapsed
 {
-    long current;
+    long final;
+    NSString *finalString;
     
     ITDebugLog(@"Getting current song elapsed time.");
     
-    current = [[ITAppleEventCenter sharedCenter]
+    final = [[ITAppleEventCenter sharedCenter]
                         sendAEWithRequestedKeyForNumber:@"pPos" eventClass:@"core" eventID:@"getd" appPSN:savedPSN];
+                        
+    if (final > 60) {
+        if (final > 3600) {
+            if (final > 216000) {
+                finalString = [NSString stringWithFormat:@"%i:%i:%i:%i",(final / 216000),((final % 216000) / 3600),(((final / 216000) % 3600) / 60),(((final / 216000) % 3600) % 60)];
+            } else {
+                finalString = [NSString stringWithFormat:@"%i:%i:%i",(final / 3600),((final % 3600) / 60),((final % 3600) % 60)];
+            }
+        } else {
+            finalString = [NSString stringWithFormat:@"%i:%i",(final / 60),(final % 60)];
+        }
+    } else {
+        finalString = [[NSNumber numberWithLong:final] stringValue];
+    }
     ITDebugLog(@"Getting current song elapsed time done.");
-    return [[NSNumber numberWithLong:current] stringValue];
+    return finalString;
 }
 
 - (float)currentSongRating
     } else {
         final = NO;
     }
-    NSLog(@"shuffleEnabled: final = %i", final);
     ITDebugLog(@"Getting shuffle enabled status done.");
     return final;
 }
index 2b0cd4b..b63df5e 100755 (executable)
Binary files a/libValidate.a and b/libValidate.a differ