diff --git a/Application/AppController.m b/Application/AppController.m index 2f781769a..b2d54fb09 100644 --- a/Application/AppController.m +++ b/Application/AppController.m @@ -217,7 +217,9 @@ BOOL kAppControllerShuttingDown = NO; [playbackController playEntryAtIndex:pe.index startPaused:(lastStatus == CogStatusPaused) andSeekTo:@(pe.currentPosition)]; } else { pe.current = NO; + pe.stopAfter = NO; pe.currentPosition = 0.0; + pe.countAdded = NO; [playlistController commitPersistentStore]; } } diff --git a/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents b/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents index 0ba1e36ce..5d003293b 100644 --- a/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents +++ b/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents @@ -23,6 +23,7 @@ + @@ -67,7 +68,7 @@ - + \ No newline at end of file diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index 68d7576e3..84cb48547 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -246,6 +246,9 @@ static void *playlistControllerContext = &playlistControllerContext; } - (void)updatePlayCountForTrack:(PlaylistEntry *)pe { + if(pe.countAdded) return; + pe.countAdded = YES; + PlayCount *pc = pe.playCountItem; if(pc) { @@ -1393,6 +1396,7 @@ static void *playlistControllerContext = &playlistControllerContext; currentEntry.current = NO; currentEntry.stopAfter = NO; currentEntry.currentPosition = 0.0; + currentEntry.countAdded = NO; } if(pe) {