summaryrefslogtreecommitdiff
path: root/apps/pcmbuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/pcmbuf.c')
-rw-r--r--apps/pcmbuf.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index e21f735bbb..f184672bd1 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -233,7 +233,7 @@ bool pcmbuf_is_lowdata(void)
233 return false; 233 return false;
234} 234}
235 235
236bool pcmbuf_crossfade_init(void) 236bool pcmbuf_crossfade_init(bool manual_skip)
237{ 237{
238 if (pcmbuf_size - audiobuffer_free < CHUNK_SIZE * 8 238 if (pcmbuf_size - audiobuffer_free < CHUNK_SIZE * 8
239 || !pcmbuf_is_crossfade_enabled() 239 || !pcmbuf_is_crossfade_enabled()
@@ -244,8 +244,12 @@ bool pcmbuf_crossfade_init(void)
244 logf("pcmbuf_crossfade_init"); 244 logf("pcmbuf_crossfade_init");
245 pcmbuf_boost(true); 245 pcmbuf_boost(true);
246 246
247 crossfade_mode = global_settings.crossfade_fade_out_mixmode 247 /* Don't enable mix mode when skipping tracks manually. */
248 ? CFM_MIX : CFM_CROSSFADE; 248 if (manual_skip)
249 crossfade_mode = CFM_CROSSFADE;
250 else
251 crossfade_mode = global_settings.crossfade_fade_out_mixmode
252 ? CFM_MIX : CFM_CROSSFADE;
249 crossfade_init = true; 253 crossfade_init = true;
250 254
251 return true; 255 return true;