Hello,

I tried to use crossfading and prepared a simple example-script. The 
problem is, that crossfading is just working once. In the playlist are 3 
songs. When the first transition between security_1.mp3 to 
security_2.mp3 is made there is a crossfade. After that there is no 
crossfade again.

Thank you for your help.

I use the following version of liquidsoap:
--------------------- Version -----------------------
 > liquidsoap --version
Liquidsoap 1.1.1
Copyright (c) 2003-2013 Savonet team
Liquidsoap is open-source software, released under GNU General Public 
License.
See <http://liquidsoap.fm> for more information.
-----------------------------------------------------

Here is the script:
------------------ Script ----------------------------
#!/usr/bin/liquidsoap
# Log dir
set("log.file.path","/tmp/radio/crossfade.log")
# Print log messages to the console,
# can also be done by passing the -v option to liquidsoap.
set("log.stdout", true)
# Use the telnet server for requests
set("server.telnet", true)
# telnet localhost 1234

# Personal smart_crossfading
#
def my_smart_crossfade (s)

   fade_in=3.
   fade_out=3.

   fade.out = fade.out(type="sin",duration=fade_out)
   fade.in  = fade.in(type="sin",duration=fade_in)
   add = fun (a,b) -> add(normalize=false,[b,a])
   log = log(label="smart_crossfade")

   def transition(a,b,ma,mb,sa,sb)

     list.iter(fun(x)->
        log(level=4,"Before: #{x}"),ma)
     list.iter(fun(x)->
        log(level=4,"After : #{x}"),mb)

     log("Transition: crossed, fade-in, fade-out.")
     add(fade.out(sa),fade.in(sb))
   end

     width = 2.
     start_next = 5.
     conservative = false

     smart_cross(width=width, duration=start_next,
               conservative=conservative,
               transition,s)
end

security = audio_to_stereo(playlist(mode="normal", 
"~/tmp/radio/simple/security.m3u"))
radio = my_smart_crossfade(security)

radio = mksafe(radio)

output.pulseaudio(radio)
-----------------------------------------------------

Here is the log-output

---------------- log-output -------------------------
2016/06/14 09:08:41 >>> LOG START
2016/06/14 09:08:40 [protocols.external:3] Found "/usr/bin/wget".
2016/06/14 09:08:40 [main:3] Liquidsoap 1.1.1
2016/06/14 09:08:40 [main:3] Using: graphics=[distributed with Ocaml] 
pcre=7.0.4 dtools=0.3.1 duppy=0.5.1 duppy.syntax=0.5.1 cry=0.2.2 
mm=0.2.1 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.5 vorbis=0.6.1 
opus=0.1.0 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 
dynlink=[distributed with Ocaml] lame=0.3.2 shine=0.2.0 gstreamer=0.2.0 
frei0r=0.1.0 voaacenc=0.1.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.5 
bjack=0.1.4 alsa=0.2.1 ao=0.2.0 samplerate=0.1.2 taglib=0.3.1 
magic=0.7.3 camomile=0.8.4 inotify=1.0 faad=0.3.2 soundtouch=0.1.7 
portaudio=0.2.0 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.1 sdl=0.9.1 
camlimages=4.0.0 lo=0.1.0 yojson=1.1.8 gd=1.0a5
2016/06/14 09:08:40 [dynamic.loader:3] Could not find dynamic module for 
fdkaac encoder.
2016/06/14 09:08:40 [dynamic.loader:3] Could not find dynamic module for 
aacplus encoder.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/lame.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/pulseaudio.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/ogg.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/flac.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/faad.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/mad.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/voaacenc.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/flac_ogg.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/taglib.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/cry.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/alsa.cmxs.
2016/06/14 09:08:40 [dynamic.loader:2] Loaded plugin file 
/usr/lib/liquidsoap/1.1.1/plugins/vorbis.cmxs.
2016/06/14 09:08:41 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz 
master.
2016/06/14 09:08:41 [frame:3] Frame size must be a multiple of 1764 
ticks = 1764 audio samples = 1 video samples.
2016/06/14 09:08:41 [frame:3] Targetting 'frame.duration': 0.04s = 1764 
audio samples = 1764 ticks.
2016/06/14 09:08:41 [frame:3] Frames last 0.04s = 1764 audio samples = 1 
video samples = 1764 ticks.
2016/06/14 09:08:41 [threads:3] Created thread "generic queue #1".
2016/06/14 09:08:41 [threads:3] Created thread "generic queue #2".
2016/06/14 09:08:41 [threads:3] Created thread "non-blocking queue #1".
2016/06/14 09:08:41 [threads:3] Created thread "non-blocking queue #2".
2016/06/14 09:08:41 [security(dot)m3u:3] Loading playlist...
2016/06/14 09:08:41 [security(dot)m3u:3] No mime type specified, trying 
autodetection.
2016/06/14 09:08:41 [security(dot)m3u:3] Playlist treated as format 
application/x-mpegURL
2016/06/14 09:08:41 [security(dot)m3u:3] Successfully loaded a playlist 
of 3 tracks.
2016/06/14 09:08:41 [threads:3] Created thread "wallclock_pulse" (1 total).
2016/06/14 09:08:41 [clock.wallclock_pulse:3] Streaming loop starts, 
synchronized by active sources.
2016/06/14 09:08:41 [decoder:3] Method "MAD" accepted 
"/home/chris/tmp/radio/simple/security_1.mp3".
2016/06/14 09:08:41 [mksafe:3] Switch to safe_blank.
2016/06/14 09:08:41 [decoder:3] Method "MAD" accepted 
"/home/chris/tmp/radio/simple/security_2.mp3".
2016/06/14 09:08:41 [security(dot)m3u:3] Prepared 
"/home/chris/tmp/radio/simple/security_1.mp3" (RID 1).
2016/06/14 09:08:41 [mksafe:3] Switch to smart_cross_4890 with transition.
2016/06/14 09:08:46 [security(dot)m3u:3] Finished with 
"/home/chris/tmp/radio/simple/security_1.mp3".
2016/06/14 09:08:46 [security(dot)m3u:3] Prepared 
"/home/chris/tmp/radio/simple/security_2.mp3" (RID 2).
2016/06/14 09:08:46 [decoder:3] Method "MAD" accepted 
"/home/chris/tmp/radio/simple/security_3.mp3".
2016/06/14 09:08:46 [smart_cross_4890:3] Analysis: -21.767257dB / 
-18.443562dB (5.00s / 2.00s)
2016/06/14 09:08:46 [smart_crossfade:3] Transition: crossed, fade-in, 
fade-out.
2016/06/14 09:08:52 [security(dot)m3u:3] Finished with 
"/home/chris/tmp/radio/simple/security_2.mp3".
2016/06/14 09:08:52 [security(dot)m3u:3] Prepared 
"/home/chris/tmp/radio/simple/security_3.mp3" (RID 3).
2016/06/14 09:08:52 [decoder:3] Method "MAD" accepted 
"/home/chris/tmp/radio/simple/security_1.mp3".
2016/06/14 09:09:01 [security(dot)m3u:3] Finished with 
"/home/chris/tmp/radio/simple/security_3.mp3".
2016/06/14 09:09:01 [security(dot)m3u:3] Prepared 
"/home/chris/tmp/radio/simple/security_1.mp3" (RID 4).
2016/06/14 09:09:01 [decoder:3] Method "MAD" accepted 
"/home/chris/tmp/radio/simple/security_2.mp3".
2016/06/14 09:09:11 [security(dot)m3u:3] Finished with 
"/home/chris/tmp/radio/simple/security_1.mp3".
2016/06/14 09:09:11 [security(dot)m3u:3] Prepared 
"/home/chris/tmp/radio/simple/security_2.mp3" (RID 5).
2016/06/14 09:09:11 [decoder:3] Method "MAD" accepted 
"/home/chris/tmp/radio/simple/security_3.mp3".
-----------------------------------------------------

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to