Przeglądaj źródła

add extra option for audio playback continuity (closes #14590)

Felix Paul Kühne 9 lat temu
rodzic
commit
d9d22f399e

+ 1 - 1
NEWS

@@ -9,7 +9,7 @@
 * Added support for system-wide search "CoreSpotlight"
 * Added improved UI support for Right-to-Left languages
 * Added support for the split-screen appearance in iOS 9 (#14840)
-* Added option to configure playback continuation (#14340)
+* Added option to configure playback continuation (#14340, #14590)
 * Added option to configure gestures (#15449) 
 * Added support for music albums with more than 1 disk (#14650)
 * Display chapter duration in playback UI (#14718)

+ 23 - 1
Resources/Settings.bundle/Root.inApp.plist

@@ -83,6 +83,28 @@
 			</array>
 		</dict>
 		<dict>
+			<key>Type</key>
+			<string>PSMultiValueSpecifier</string>
+			<key>Title</key>
+			<string>SETTINGS_CONTINUE_AUDIO_PLAYBACK</string>
+			<key>Key</key>
+			<string>ContinueAudioPlayback</string>
+			<key>DefaultValue</key>
+			<integer>-1</integer>
+			<key>Titles</key>
+			<array>
+				<string>SETTINGS_CONTINUE_PLAYBACK_NEVER</string>
+				<string>SETTINGS_CONTINUE_PLAYBACK_ASK</string>
+				<string>SETTINGS_CONTINUE_PLAYBACK_ALWAYS</string>
+			</array>
+			<key>Values</key>
+			<array>
+				<integer>-1</integer>
+				<integer>0</integer>
+				<integer>1</integer>
+			</array>
+		</dict>
+		<dict>
 			<key>DefaultValue</key>
 			<true/>
 			<key>Key</key>
@@ -96,7 +118,7 @@
 			<key>Type</key>
 			<string>PSMultiValueSpecifier</string>
 			<key>Title</key>
-			<string>SETTINGS_CONTINUE_PLAYBACK</string>
+			<string>SETTINGS_CONTINUE_VIDEO_PLAYBACK</string>
 			<key>Key</key>
 			<string>ContinuePlayback</string>
 			<key>DefaultValue</key>

+ 23 - 1
Resources/Settings.bundle/Root.plist

@@ -86,7 +86,29 @@
 			<key>Type</key>
 			<string>PSMultiValueSpecifier</string>
 			<key>Title</key>
-			<string>SETTINGS_CONTINUE_PLAYBACK</string>
+			<string>SETTINGS_CONTINUE_AUDIO_PLAYBACK</string>
+			<key>Key</key>
+			<string>ContinueAudioPlayback</string>
+			<key>DefaultValue</key>
+			<integer>-1</integer>
+			<key>Titles</key>
+			<array>
+				<string>SETTINGS_CONTINUE_PLAYBACK_NEVER</string>
+				<string>SETTINGS_CONTINUE_PLAYBACK_ASK</string>
+				<string>SETTINGS_CONTINUE_PLAYBACK_ALWAYS</string>
+			</array>
+			<key>Values</key>
+			<array>
+				<integer>-1</integer>
+				<integer>0</integer>
+				<integer>1</integer>
+			</array>
+		</dict>
+		<dict>
+			<key>Type</key>
+			<string>PSMultiValueSpecifier</string>
+			<key>Title</key>
+			<string>SETTINGS_CONTINUE_VIDEO_PLAYBACK</string>
 			<key>Key</key>
 			<string>ContinuePlayback</string>
 			<key>DefaultValue</key>

BIN
Resources/Settings.bundle/en.lproj/Root.strings


+ 1 - 0
Sources/VLCAppDelegate.m

@@ -80,6 +80,7 @@ NSString *const VLCDropboxSessionWasAuthorized = @"VLCDropboxSessionWasAuthorize
                                   kVLCSettingVariableJumpDuration : @(NO),
                                   kVLCSettingVideoFullscreenPlayback : @(YES),
                                   kVLCSettingContinuePlayback : @(1),
+                                  kVLCSettingContinueAudioPlayback : @(1),
                                   kVLCSettingFTPTextEncoding : kVLCSettingFTPTextEncodingDefaultValue,
                                   kVLCSettingWiFiSharingIPv6 : kVLCSettingWiFiSharingIPv6DefaultValue,
                                   kVLCSettingEqualizerProfile : kVLCSettingEqualizerProfileDefaultValue,

+ 1 - 0
Sources/VLCConstants.h

@@ -50,6 +50,7 @@
 #define kVLCSettingVariableJumpDuration @"EnableVariableJumpDuration"
 #define kVLCSettingVideoFullscreenPlayback @"AlwaysUseFullscreenForVideo"
 #define kVLCSettingContinuePlayback @"ContinuePlayback"
+#define kVLCSettingContinueAudioPlayback @"ContinueAudioPlayback"
 #define kVLCSettingFTPTextEncoding @"ftp-text-encoding"
 #define kVLCSettingFTPTextEncodingDefaultValue @(5) // ISO Latin 1
 #define kVLCSettingPlaybackSpeedDefaultValue @"playback-speed"

+ 7 - 2
Sources/VLCPlaybackController.m

@@ -934,8 +934,13 @@ setstuff:
             lastPosition = item.lastPosition.floatValue;
         duration = item.duration.intValue;
 
-        if (lastPosition < .95 && _mediaPlayer.position < lastPosition && (duration * lastPosition - duration) < -60000) {
-            NSInteger continuePlayback = [[[NSUserDefaults standardUserDefaults] objectForKey:kVLCSettingContinuePlayback] integerValue];
+        if (lastPosition < .95 && _mediaPlayer.position < lastPosition && (duration * lastPosition - duration) < -50000) {
+            NSInteger continuePlayback;
+            if (!_mediaPlayer.hasVideoOut)
+                continuePlayback = [[[NSUserDefaults standardUserDefaults] objectForKey:kVLCSettingContinueAudioPlayback] integerValue];
+            else
+                continuePlayback = [[[NSUserDefaults standardUserDefaults] objectForKey:kVLCSettingContinuePlayback] integerValue];
+
             if (continuePlayback == 1) {
                 _mediaPlayer.position = lastPosition;
             } else if (continuePlayback == 0) {