summaryrefslogtreecommitdiff
path: root/apps/pcmbuf.c
diff options
context:
space:
mode:
authorJeffrey Goode <jeffg7@gmail.com>2009-11-09 19:34:01 +0000
committerJeffrey Goode <jeffg7@gmail.com>2009-11-09 19:34:01 +0000
commitcc4d92c27058fca4e8f9817e1d06d8c75574d6f4 (patch)
treeaa03a144bf166cae82fbc1b83581efcc99038343 /apps/pcmbuf.c
parent874c91146402df8a47718e327558e8ceab0b482c (diff)
downloadrockbox-cc4d92c27058fca4e8f9817e1d06d8c75574d6f4.tar.gz
rockbox-cc4d92c27058fca4e8f9817e1d06d8c75574d6f4.zip
pcmbuf: simplify crossfade logic
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23593 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/pcmbuf.c')
-rw-r--r--apps/pcmbuf.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 02c307df72..975d254424 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -502,9 +502,10 @@ static void start_crossfade_track_change(bool auto_skip)
502 502
503void pcmbuf_start_track_change(bool auto_skip) 503void pcmbuf_start_track_change(bool auto_skip)
504{ 504{
505 bool crossfade = false;
505 /* Manual track change (always crossfade or flush audio). */ 506 /* Manual track change (always crossfade or flush audio). */
506 if (!auto_skip) 507 if (!auto_skip)
507 start_crossfade_track_change(false); 508 crossfade = true;
508 509
509 /* Automatic track change w/crossfade, if not in "Track Skip Only" mode. */ 510 /* Automatic track change w/crossfade, if not in "Track Skip Only" mode. */
510 else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active() 511 else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active()
@@ -513,16 +514,15 @@ void pcmbuf_start_track_change(bool auto_skip)
513 if (global_settings.crossfade == CROSSFADE_ENABLE_SHUFFLE_AND_TRACKSKIP) 514 if (global_settings.crossfade == CROSSFADE_ENABLE_SHUFFLE_AND_TRACKSKIP)
514 { 515 {
515 if (global_settings.playlist_shuffle) 516 if (global_settings.playlist_shuffle)
516 /* shuffle mode is on, so crossfade: */ 517 crossfade = true;
517 start_crossfade_track_change(true);
518 else
519 /* shuffle mode is off, so normal gapless playback */
520 start_gapless_track_change();
521 } 518 }
522 else 519 else
523 /* normal crossfade: */ 520 crossfade = true;
524 start_crossfade_track_change(true);
525 } 521 }
522
523 if (crossfade)
524 /* crossfade to next track */
525 start_crossfade_track_change(auto_skip);
526 else 526 else
527 /* normal gapless playback. */ 527 /* normal gapless playback. */
528 start_gapless_track_change(); 528 start_gapless_track_change();