#!/usr/local/bin/liquidsoap set("log.file.path","/home/soap/log/soap.log") set("tag.encodings",["UTF-8"]) # Live Settings set("harbor.bind_addr","0.0.0.0") #Rewrite tags def live_tag(j) rewrite_metadata([("title","xxxxx")], update=false, strip=true, j) end def live_rep_tag(j) rewrite_metadata([("title","xxxx")], update=false, strip=true, j) end def my_rec_tag(j) rewrite_metadata([("title","xxxx")], update=false, strip=true, j) end def morning_tag(j) rewrite_metadata([("title","xxxx")], update=false, strip=true, j) end def day_tag(j) rewrite_metadata([("title","xxxx")], update=false, strip=true, j) end def evening_tag(j) rewrite_metadata([("title","xxxx")], update=false, strip=true, j) end def night_tag(j) rewrite_metadata([("title","xxxx)], update=false, strip=true, j) end def jin_tag(j) rewrite_metadata([("title","xxxx")], update=false, strip=true, j) end #Live input live = audio_to_stereo(live_tag(input.harbor(id="LIVE", port=8010, password="mystationpassword", "live"))) liveover = audio_to_stereo(input.harbor(port=8010, password="mystationpassword2", "liveover")) #Talking clock clock00 = audio_to_stereo(playlist("/home/soap/audio/clock/00/")) clock12 = audio_to_stereo(playlist("/home/soap/audio/clock/12/")) #Records play live_rep = audio_to_stereo(live_rep_tag(request.queue(id="LIVE_REP", timeout=120.))) my_rec_program = audio_to_stereo(my_rec_tag(request.queue(id="MY_REC_PROGRAM", timeout=120.))) #Music playlists morning = audio_to_stereo(morning_tag(playlist("/home/soap/playlists/morning/"))) day = audio_to_stereo(day_tag(playlist("/home/soap/playlists/day/"))) evening = audio_to_stereo(evening_tag(playlist("/home/soap/playlists/evening/"))) night = audio_to_stereo(night_tag(playlist("/home/soap/playlists/night/"))) #Jingle playlist jin = audio_to_stereo(jin_tag(playlist("/home/soap/audio/jingle/"))) morning = random(weights=[1,3],[jin,morning]) day = random(weights=[1,3],[jin,day]) evening = random(weights=[1,3],[jin,evening]) night = random(weights=[1,5],[jin,night]) clocksay = switch([({00h00m00s},clock00),({12h00m00s},clock12)]) music = switch(track_sensitive = true, [({6h00m00s-11h59m59s},morning),({12h00m00s-17h59m59s},day),({18h00m00s-23h59m59s},evening),({00h00m00s-5h59m59s},night)]) record = fallback(id="REC", track_sensitive = false, ([my_rec_program,live_rep])) ready_air = fallback(id="STREAM", track_sensitive = false, ([ fallback.skip(input=live, nrj(fallback.skip(input=record,music))), blank() ])) ready_air = add([ready_air, amplify(1.,clocksay)]) ready_air = add([ready_air, amplify(1.,liveover)]) radio = smart_crossfade(ready_air) radio = crossfade(start_next=5.,fade_out=3.,fade_in=3.,radio) clock.assign_new(id="My Radio",[radio]) output.icecast(%mp3 (stereo=true, id3v2=true, samplerate=44100, bitrate=128), mount="/play", host="localhost", password="xxxxxxxx", genre="xxx", url="http://xxxxxx.xx", description="xxxxx", name="xxxxx", encoding = "UTF-8", icy_metadata = "true", radio)