#!/usr/local/bin/liquidsoap set("init.daemon",true) set("log.file.path","/var/log/liquidsoap/liquidsoap.log") set("init.daemon.pidfile.path","/var/run/liquidsoap/liq.pid") jingles = playlist(reload=9000,"/data/air/jingles") #джинглы которые всплывают по времени promo = playlist(reload=9000,"/data/air/promo") #джинглы которые просто вставляет в ротацию music = playlist(reload=9000,"/data/air/music") #основная муз. библиотека music = mksafe(music) music = rotate(weights = [1, 11],[promo, music]) #добавление джинглов в ротацию music = crossfade( fade_out = 4.0, fade_in = 3.0, start_next = 3.0, music ) #кроссфейд треков radio = smooth_add(normal=music,special=switch([({ 00m0s or 30m0s }, jingles)])) #добавление джинглов по времени #выход на icecast2# output.icecast( %mp3, mount="/listen", host="127.0.0.1", port=8000, password="*****", genre="Other", url="http://domain.com", description="Cool Internet Radio", name="Mega Radio", radio )
#постоянная функция, мета-данные def rewrite_metadata(l,~insert_missing=true,s) def map(m) def apply(x) label = fst(x) meta = snd(x) if list.mem_assoc(label,l) then pattern = l[label] (label,pattern % m) else (label,meta) end end m = list.map(apply,m) def add(m,x) label = fst(x) pattern = snd(x) if not list.mem_assoc(label,m) then list.append(m,[(label,pattern % m)]) else m end end list.fold(add,m,l) end map_metadata(map,insert_missing=insert_missing,s) end # добавляем " - (((=SV=)))" def append_title(m) = title = m["title"] [("title","#{title} - (((=SV=)))")] end #и вот map_metadata music5 = map_metadata(append_title, music4)