diff options
| author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2008-02-26 17:15:33 +0000 |
|---|---|---|
| committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2008-02-26 17:15:33 +0000 |
| commit | f730133e0446e2d2fdae3c93fbba09e08be18e26 (patch) | |
| tree | b211866530c8c110b438c8c12e99816af542d3c2 | |
| parent | ea9e02b4428e0fb5e69f17511d809f74dbd3b273 (diff) | |
| download | rockbox-f730133e0446e2d2fdae3c93fbba09e08be18e26.zip rockbox-f730133e0446e2d2fdae3c93fbba09e08be18e26.tar.gz rockbox-f730133e0446e2d2fdae3c93fbba09e08be18e26.tar.bz2 rockbox-f730133e0446e2d2fdae3c93fbba09e08be18e26.tar.xz | |
Factor out duplicate code from audio_prev and audio_next
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16424 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/playback.c | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/apps/playback.c b/apps/playback.c index 0f0f70e..84aa714 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -630,17 +630,17 @@ void audio_resume(void) queue_send(&audio_queue, Q_AUDIO_PAUSE, false); } -void audio_next(void) +static void audio_skip(int direction) { - if (playlist_check(ci.new_track + wps_offset + 1)) + if (playlist_check(ci.new_track + wps_offset + direction)) { if (global_settings.beep) pcmbuf_beep(5000, 100, 2500*global_settings.beep); - LOGFQUEUE("audio > audio Q_AUDIO_SKIP 1"); - queue_post(&audio_queue, Q_AUDIO_SKIP, 1); + LOGFQUEUE("audio > audio Q_AUDIO_SKIP %d", direction); + queue_post(&audio_queue, Q_AUDIO_SKIP, direction); /* Update wps while our message travels inside deep playback queues. */ - wps_offset++; + wps_offset += direction; track_changed = true; } else @@ -651,25 +651,14 @@ void audio_next(void) } } -void audio_prev(void) +void audio_next(void) { - if (playlist_check(ci.new_track + wps_offset - 1)) - { - if (global_settings.beep) - pcmbuf_beep(5000, 100, 2500*global_settings.beep); + audio_skip(1); +} - LOGFQUEUE("audio > audio Q_AUDIO_SKIP -1"); - queue_post(&audio_queue, Q_AUDIO_SKIP, -1); - /* Update wps while our message travels inside deep playback queues. */ - wps_offset--; - track_changed = true; - } - else - { - /* No more tracks. */ - if (global_settings.beep) - pcmbuf_beep(1000, 100, 1000*global_settings.beep); - } +void audio_prev(void) +{ + audio_skip(-1); } void audio_next_dir(void) |