summaryrefslogtreecommitdiff
path: root/apps/playlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist.c')
-rw-r--r--apps/playlist.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/apps/playlist.c b/apps/playlist.c
index 673b46c950..7c37333bd8 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -167,22 +167,11 @@
167#define PLAYLIST_SKIPPED 0x10000000 167#define PLAYLIST_SKIPPED 0x10000000
168 168
169static struct playlist_info current_playlist; 169static struct playlist_info current_playlist;
170/* REPEAT_ONE support functions */ 170/* REPEAT_ONE support function from playback.c */
171static long last_manual_skip_tick = 0; 171extern bool audio_pending_track_skip_is_auto(void);
172
173static inline bool is_manual_skip(void) 172static inline bool is_manual_skip(void)
174{ 173{
175 return (last_manual_skip_tick + HZ/2 > current_tick); 174 return !audio_pending_track_skip_is_auto();
176}
177
178static void track_change_callback(unsigned short id, void *param)
179{
180 (void)id;
181 unsigned int flags = ((struct track_event *)param)->flags;
182 if ((flags & TEF_AUTO_SKIP) != TEF_AUTO_SKIP)
183 {
184 last_manual_skip_tick = current_tick;
185 }
186} 175}
187 176
188/* Directory Cache*/ 177/* Directory Cache*/
@@ -1985,7 +1974,6 @@ void playlist_init(void)
1985 1974
1986 dc_thread_start(&current_playlist, false); 1975 dc_thread_start(&current_playlist, false);
1987#endif /* HAVE_DIRCACHE */ 1976#endif /* HAVE_DIRCACHE */
1988 add_event(PLAYBACK_EVENT_TRACK_CHANGE, track_change_callback);
1989} 1977}
1990 1978
1991/* 1979/*