diff --git a/Application/AppController.m b/Application/AppController.m
index 23aa976a0..d630eb4e6 100644
--- a/Application/AppController.m
+++ b/Application/AppController.m
@@ -657,6 +657,8 @@ static BOOL consentLastEnabled = NO;
[userDefaultsValuesDict setObject:@(2) forKey:@"synthDefaultLoopCount"];
[userDefaultsValuesDict setObject:@(44100) forKey:@"synthSampleRate"];
+ [userDefaultsValuesDict setObject:@NO forKey:@"alwaysStopAfterCurrent"];
+
// Register and sync defaults
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];
[[NSUserDefaults standardUserDefaults] synchronize];
diff --git a/Base.lproj/MainMenu.xib b/Base.lproj/MainMenu.xib
index da61cc836..e3b9f9dc6 100644
--- a/Base.lproj/MainMenu.xib
+++ b/Base.lproj/MainMenu.xib
@@ -1882,6 +1882,12 @@
+
diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m
index ce909e0e1..1ddb4cfcd 100644
--- a/Playlist/PlaylistController.m
+++ b/Playlist/PlaylistController.m
@@ -1288,6 +1288,10 @@ static void *playlistControllerContext = &playlistControllerContext;
}
- (PlaylistEntry *)getNextEntry:(PlaylistEntry *)pe ignoreRepeatOne:(BOOL)ignoreRepeatOne {
+ if(!ignoreRepeatOne && [[NSUserDefaults standardUserDefaults] boolForKey:@"alwaysStopAfterCurrent"]) {
+ return nil;
+ }
+
if(!ignoreRepeatOne && [self repeat] == RepeatModeRepeatOne) {
return pe;
}
@@ -1357,6 +1361,10 @@ static void *playlistControllerContext = &playlistControllerContext;
}
- (PlaylistEntry *)getPrevEntry:(PlaylistEntry *)pe ignoreRepeatOne:(BOOL)ignoreRepeatOne {
+ if(!ignoreRepeatOne && [[NSUserDefaults standardUserDefaults] boolForKey:@"alwaysStopAfterCurrent"]) {
+ return nil;
+ }
+
if(!ignoreRepeatOne && [self repeat] == RepeatModeRepeatOne) {
return pe;
}
diff --git a/en.lproj/MainMenu.strings b/en.lproj/MainMenu.strings
index 8a59ef0bf..e25767503 100644
--- a/en.lproj/MainMenu.strings
+++ b/en.lproj/MainMenu.strings
@@ -461,6 +461,9 @@
/* Class = "NSMenuItem"; title = "Stop After Current"; ObjectID = "1895"; */
"1895.title" = "Stop After Current";
+/* Class = "NSMenuItem"; title = "Always Stop After Current"; ObjectID = "y8c-n8-5Uh"; */
+"y8c-n8-5Uh.title" = "Always Stop After Current";
+
/* Class = "CocoaBindingsConnection"; ibShadowedIsNilPlaceholder = "Cog"; ObjectID = "1903"; */
"1903.ibShadowedIsNilPlaceholder" = "Cog";
diff --git a/es.lproj/MainMenu.strings b/es.lproj/MainMenu.strings
index 0690bd1ca..6f1d5b50b 100644
--- a/es.lproj/MainMenu.strings
+++ b/es.lproj/MainMenu.strings
@@ -461,6 +461,9 @@
/* Class = "NSMenuItem"; title = "Stop After Current"; ObjectID = "1895"; */
"1895.title" = "Detener después de la pista actual";
+/* Class = "NSMenuItem"; title = "Always Stop After Current"; ObjectID = "y8c-n8-5Uh"; */
+"y8c-n8-5Uh.title" = "Detener siempre al finalizar";
+
/* Class = "CocoaBindingsConnection"; ibShadowedIsNilPlaceholder = "Cog"; ObjectID = "1903"; */
"1903.ibShadowedIsNilPlaceholder" = "Cog";