Ignore RepeatOne only when manually skipping tracks, not when playing normally.

CQTexperiment
Christopher Snowhill 2017-12-23 23:55:33 -08:00
parent 524e161789
commit 54bd1db745
1 changed files with 22 additions and 2 deletions

View File

@ -593,6 +593,16 @@
- (PlaylistEntry *)getNextEntry:(PlaylistEntry *)pe
{
return [self getNextEntry:pe ignoreRepeatOne:NO];
}
- (PlaylistEntry *)getNextEntry:(PlaylistEntry *)pe ignoreRepeatOne:(BOOL)ignoreRepeatOne
{
if (!ignoreRepeatOne && [self repeat] == RepeatOne)
{
return pe;
}
if ([queueList count] > 0)
{
@ -655,6 +665,16 @@
- (PlaylistEntry *)getPrevEntry:(PlaylistEntry *)pe
{
return [self getPrevEntry:pe ignoreRepeatOne:NO];
}
- (PlaylistEntry *)getPrevEntry:(PlaylistEntry *)pe ignoreRepeatOne:(BOOL)ignoreRepeatOne
{
if (!ignoreRepeatOne && [self repeat] == RepeatOne)
{
return pe;
}
if ([self shuffle] != ShuffleOff)
{
return [self shuffledEntryAtIndex:(pe.shuffleIndex - 1)];
@ -679,7 +699,7 @@
{
PlaylistEntry *pe;
pe = [self getNextEntry:[self currentEntry]];
pe = [self getNextEntry:[self currentEntry] ignoreRepeatOne:YES];
if (pe == nil)
return NO;
@ -693,7 +713,7 @@
{
PlaylistEntry *pe;
pe = [self getPrevEntry:[self currentEntry]];
pe = [self getPrevEntry:[self currentEntry] ignoreRepeatOne:YES];
if (pe == nil)
return NO;