Fix misleading Playback Speed string on menu.
authorNaohiro KORIYAMA <nkoriyama@gmail.com>
Sat, 14 Jan 2012 05:17:50 +0000 (14:17 +0900)
committerFelix Paul Kühne <fkuehne@videolan.org>
Tue, 20 Mar 2012 15:39:25 +0000 (16:39 +0100)
When increasing speed to 1.50 (command + =), '1.50x' is shown on OSD, but '10x' is shown on menu (Playback -> 'Playback Speed').

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
modules/gui/macosx/MainMenu.m

index a811e11..55cb972 100644 (file)
@@ -544,9 +544,8 @@ static VLCMainMenu *_o_sharedInstance = nil;
     [o_mi_rate_sld setEnabled: b_enabled];
     [o_mi_rate_sld setIntValue: [[VLCCoreInteraction sharedInstance] playbackRate]];
     int i = [[VLCCoreInteraction sharedInstance] playbackRate];
-    if (i == 0)
-        i = 1;
-    [o_mi_rate_fld setStringValue: [NSString stringWithFormat:@"%ix", i]];
+    double speed =  pow( 2, (double)i / 17 );
+    [o_mi_rate_fld setStringValue: [NSString stringWithFormat:@"%.2fx", speed]];
     if (b_enabled) {
         [o_mi_rate_lbl setHidden: NO];
         [o_mi_rate_lbl_gray setHidden: YES];
@@ -598,17 +597,15 @@ static VLCMainMenu *_o_sharedInstance = nil;
 {
     [[VLCCoreInteraction sharedInstance] setPlaybackRate: [o_mi_rate_sld intValue]];
     int i = [[VLCCoreInteraction sharedInstance] playbackRate];
-    if (i == 0)
-        i = 1;
-    [o_mi_rate_fld setStringValue: [NSString stringWithFormat:@"%ix", i]];
+    double speed =  pow( 2, (double)i / 17 );
+    [o_mi_rate_fld setStringValue: [NSString stringWithFormat:@"%.2fx", speed]];
 }
 
 - (void)updatePlaybackRate
 {
     int i = [[VLCCoreInteraction sharedInstance] playbackRate];
-    if (i == 0)
-        i = 1;
-    [o_mi_rate_fld setStringValue: [NSString stringWithFormat:@"%ix", i]];
+    double speed =  pow( 2, (double)i / 17 );
+    [o_mi_rate_fld setStringValue: [NSString stringWithFormat:@"%.2fx", speed]];
     [o_mi_rate_sld setIntValue: i];
 }