liquidsoap | request.dynamic vs crossfading

ONLY the cross function reads parameters injected by the annotate method, the smart_cross doesn’t. So you should use the standard builtin (or your own tweaked) crossfade function, not smart_crossfade. The correct annotate arguments are liq_start_next, liq_fade_in, liq_fade_out, liq_cue_in, liq_cue_out. The liq_cue_in and liq_cue_out will be recognized and interpreted by the cue_cut function.

liquidsoap | external mplayer crashed

You are unsing the input.mplayer function and it crashes sometimes without being restarted although you have chosen restart_on_error=true? Tune it with a wrapper! def input.mplayer_s16le_eternal(~id=”input.mplayer_s16le”, ~restart=true,~restart_on_error=true, ~buffer=2.,~max=3.,s) = input.external(id=id,restart=restart, restart_on_error=restart_on_error, buffer=buffer,max=max, “xwrapper mplayer -really-quiet \ -format s16le \ -ao pcm:file=/dev/stdout \ -vc null -vo null #{quote(s)} \ 2>/dev/null”) end The xwrapper: #!/bin/bash while true; do […]

LIQUIDSOAP | output.alsa stuttering

Use output.alsa in unbuffered mode. To prevent scratching sounds on start (sound devices buffer is not empty on start) do system(“aplay -d 1 -q silence.wav”) at the beginning of your script. It replaces the buffer remnants witch silence.