Another instance of liquidsoap for just another playout.
  • Vote Up0Vote Down snowsnow
    Posts: 6Member
    Hi
    First of all : Big THANKS for a great job !
    Sorry if it was discussed in the past.
    I didn't have much experience with liquidsoap.
    I want to make another playout, other than the Airtime main-out.
    Nothing special ... liquidsoap start from script, to play randomly audio from a folder an jingles from other folder and withd backup file.
    This was works with old liquidsoap but not work with Airtime version of liquidsoap.

    Can someone help me
  • 6 Comments sorted by
  • Your Answer is Here
    http://forum.sourcefabric.org/discussion/16644/creating-one-continuous-playlist

    I Also fixed the Wiki and just look at the  3 last post for the solution


    Good Luck
    VOISSES
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Vote Up0Vote Down snowsnow
    Posts: 6Member
    Thanks Voisses Tech !

    But how can I make this permanent playout (other than Airtime Main-Out) in a different mountpoint of Icecast ?
  • Vote Up0Vote Down Daniel JamesDaniel James
    Posts: 844Member, Sourcefabric Team
    Hi snow, if you want the Liquidsoap rotation script to point to a different mount, it sounds like you want a script running in parallel to Airtime rather than integrated with Airtime. You'll see in http://savonet.sourceforge.net/doc-svn/quick_start.html that the output.icecast operator requires a 'mount' argument, which you can change to whatever mount point you want.

    You can then configure Icecast to fall back between Airtime and your rotation script: http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/icecast-handover/

    Cheers!

    Daniel
  • Vote Up0Vote Down snowsnow
    Posts: 6Member
    I made it from cmd with this :

    liquidsoap /usr/lib/airtime/pypo/bin/liquidsoap_scripts/library/pervasives.liq 'output.icecast(%mp3, host = "localhost", port = 8000, password = "mypass", mount = "another_lsoap_mount.mp3", (smart_crossfade(normalize(mksafe(playlist("/home/air/stream_failure.m3u"))))))'

    but i don't have a mixed tracks ...
    ---
    2014/06/09 08:12:51 [stream_failure(dot)m3u:3] Prepared "/home/air/music/VAN MORRISON - HAVE I TOLD YOU LATELY.mp3" (RID 1).
    2014/06/09 08:12:51 [mksafe:3] Switch to stream_failure(dot)m3u with transition.
    2014/06/09 08:12:51 [smart_cross_7016:3] Analysis: -infdB / -25.782451dB (0.04s / 2.00s)
    2014/06/09 08:12:51 [smart_crossfade:3] new >= old + margin, old <= medium and new <= high.<br />2014/06/09 08:12:51 [smart_crossfade:3] Do not fade if it's already very low.
    2014/06/09 08:12:51 [smart_crossfade:3] Transition: crossed, no fade.
    ---
    Any ideea to have a smooth crossfade (just start-to-mix @ -15db and no fade-in on next)
    also,
    this script works on liquidsoap full installed on other debian system but no with airtime-liquidsoap
    ---
    #!/usr/bin/liquidsoap

    set("log.file.path","/tmp/.log")
    set("log.stdout", true)
    set("server.telnet", true)

    default = single("/home/air/stream_failure.mp3")

    day = playlist("/home/air/day.m3u")
    night = playlist("/homer/air/night.m3u")
    jingles = playlist("/home/air/jingles.m3u")

    clock = single("/home/air/clock.mp3")

    radio = fallback([ request.queue(id="request"),
    switch([({ 6h-22h }, day),
    ({ 22h-6h }, night)]),
    default])
    radio = random(weights=[1,2],[ jingles, radio ])
    radio = add([radio, switch([({0m0s},clock)])])

    set("harbor.bind_addr","0.0.0.0")
    live = input.harbor("live",port=9120,password="mypass")
    harbor =
    fallback(track_sensitive=false,
    [live,radio,default])

    output.icecast(%mp3,
    host="localhost",port=9128,password="mypass",
    mount="radio_nolive",radio)

    output.icecast(%vorbis,
    host="localhost",port=9128,password="mypass",
    mount="radio_live_in.ogg",harbor)
    ---
    How can I made this work on airtime machine ?

  • Vote Up0Vote Down snowsnow
    Posts: 6Member
    actualy, this script it works :
    ---
    #!/usr/bin/liquidsoap

    %include "/usr/lib/airtime/pypo/bin/liquidsoap_scripts/library/pervasives.liq"
    %include "/usr/lib/airtime/pypo/bin/liquidsoap_scripts/library/utils.liq"


    set("log.file.path","/tmp/.log")
    set("log.stdout", true)
    #set("server.telnet", true)

    mksafe = playlist("/home/air/stream_failure.m3u")

    security = single("/home/air/stream_failure.mp3")

    day = playlist("/home/air/day.m3u")
    night = playlist("/homer/air/night.m3u")
    jingles = playlist("/home/air/jingles.m3u")

    clock = single("/home/air/clock.mp3")

    radio = fallback([ request.queue(id="request"),
    switch([({ 6h-22h }, day),
    ({ 22h-6h }, night)]),
    mksafe, security])
    radio = random(weights=[1,2],[ jingles, radio ])
    radio = add([radio, switch([({0m0s},clock)])])

    output.icecast(%mp3,
    host="localhost",port=8000,password="mypass",
    mount="script.mp3",radio)

    output.icecast(%vorbis,
    host="localhost",port=8000,password="mypass",
    mount="script.ogg",radio)
    ----
    only few details remain : smooth crossfade and keep good level (normalize, replay gain or compress and limit)
  • Vote Up0Vote Down Daniel JamesDaniel James
    Posts: 844Member, Sourcefabric Team
    Hi snow, I'm glad you got your script working :-)

    There are some tips on Replay Gain here: http://savonet.sourceforge.net/doc-1.1.1/replay_gain.html

    Cheers!

    Daniel