summaryrefslogtreecommitdiff
path: root/apps/playback.c
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-01-27 16:25:44 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-01-27 16:25:44 +0000
commita4f8d1c621ee1ad1e9649e2e84dddac3108d73b6 (patch)
treeb68c7e30eccd593e0514061577cb411cfc82707d /apps/playback.c
parentb7c29193f99537e4def128cc2dcf4d36edc5ac26 (diff)
downloadrockbox-a4f8d1c621ee1ad1e9649e2e84dddac3108d73b6.zip
rockbox-a4f8d1c621ee1ad1e9649e2e84dddac3108d73b6.tar.gz
rockbox-a4f8d1c621ee1ad1e9649e2e84dddac3108d73b6.tar.bz2
rockbox-a4f8d1c621ee1ad1e9649e2e84dddac3108d73b6.tar.xz
Don't use crossfader mix mode when skipping tracks manually.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8470 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/playback.c')
-rw-r--r--apps/playback.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/apps/playback.c b/apps/playback.c
index c535e30..3eda695 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1510,14 +1510,14 @@ static void audio_update_trackinfo(void)
/* Manual track change (always crossfade or flush audio). */
if (new_track)
{
- pcmbuf_crossfade_init();
+ pcmbuf_crossfade_init(true);
codec_track_changed();
}
/* Automatic track change with crossfade. */
else if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active())
{
- pcmbuf_crossfade_init();
+ pcmbuf_crossfade_init(false);
codec_track_changed();
}
@@ -1574,7 +1574,7 @@ static int skip_next_track(bool inside_codec_thread)
stop_codec_flush();
}
else if (pcmbuf_is_crossfade_enabled())
- pcmbuf_crossfade_init();
+ pcmbuf_crossfade_init(new_track != 0);
queue_post(&audio_queue, Q_AUDIO_PLAY, 0);
return SKIP_OK_DISK;
@@ -1611,7 +1611,7 @@ static int skip_previous_track(bool inside_codec_thread)
/* Stop playback. */
/* FIXME: Only stop playback if disk is not spinning! */
if (pcmbuf_is_crossfade_enabled())
- pcmbuf_crossfade_init();
+ pcmbuf_crossfade_init(true);
else if (inside_codec_thread)
pcmbuf_play_stop();
else
@@ -1747,7 +1747,7 @@ static void initiate_track_change(int peek_index)
/* Detect if disk is spinning or already loading. */
if (filling || ci.reload_codec || !audio_codec_loaded) {
if (pcmbuf_is_crossfade_enabled())
- pcmbuf_crossfade_init();
+ pcmbuf_crossfade_init(true);
else
pcmbuf_play_stop();
ci.stop_codec = true;
@@ -2158,7 +2158,7 @@ void audio_play(int offset)
{
ci.stop_codec = true;
sleep(1);
- pcmbuf_crossfade_init();
+ pcmbuf_crossfade_init(true);
}
else
{