initial pypo commit
This commit is contained in:
parent
e53804f1ed
commit
d6eb1412b7
38 changed files with 4575 additions and 0 deletions
154
3rd_party/pypo/scripts/ls_script.liq
vendored
Normal file
154
3rd_party/pypo/scripts/ls_script.liq
vendored
Normal file
|
@ -0,0 +1,154 @@
|
|||
######################################
|
||||
# main liquidsoap development script #
|
||||
######################################
|
||||
|
||||
# author Jonas Ohrstrom <jonas@digris.ch>
|
||||
|
||||
########################################
|
||||
# include configuration #
|
||||
########################################
|
||||
|
||||
%include "ls_config.liq"
|
||||
%include "library.liq"
|
||||
|
||||
%include "include_dynamic_vars.liq"
|
||||
%include "include_notify.liq"
|
||||
|
||||
|
||||
silence_threshold = -50.
|
||||
silence_time = 3.
|
||||
|
||||
|
||||
# log
|
||||
set("log.file.path",log_file)
|
||||
set("log.stdout", true)
|
||||
set("log.level",log_level)
|
||||
|
||||
# telnet server
|
||||
set("server.telnet", true)
|
||||
|
||||
|
||||
|
||||
######################################
|
||||
# some functions needed #
|
||||
######################################
|
||||
|
||||
def fcross(a,b) =
|
||||
add(normalize=false,[b,a])
|
||||
end
|
||||
|
||||
|
||||
######################################
|
||||
# live recording functions
|
||||
######################################
|
||||
def live_start() =
|
||||
log("got live source")
|
||||
ignore(execute("archives.start"))
|
||||
end
|
||||
|
||||
def live_stop() =
|
||||
log("live source has gone")
|
||||
ignore(execute("archives.stop"))
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#######################################################################
|
||||
# File locations / sources
|
||||
#######################################################################
|
||||
|
||||
silence = single("/storage/pypo/files/basic/silence.mp3")
|
||||
jingles_cc = playlist("/storage/pypo/files/jingles/jcc")
|
||||
fallback_couchcaster = playlist("/storage/pypo/files/fallback_couchcaster")
|
||||
fallback_couchcaster = audio_to_stereo(fallback_couchcaster)
|
||||
|
||||
# default
|
||||
default = silence
|
||||
|
||||
special = request.queue(id="special")
|
||||
|
||||
|
||||
|
||||
#######################################################################
|
||||
# Includeing two A/B Queues, daypart & scheduler
|
||||
# this will give us the sources 'daypart' & 'scheduler'
|
||||
#######################################################################
|
||||
|
||||
%include "include_daypart.liq"
|
||||
|
||||
%include "include_scheduler.liq"
|
||||
|
||||
|
||||
source = fallback(track_sensitive=false,transitions=[dp_to_scheduler],[strip_blank(threshold=silence_threshold,length=silence_time,scheduler),daypart])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%include "include_live_in.liq"
|
||||
|
||||
|
||||
|
||||
live = fallback(track_sensitive=false,[strip_blank(threshold=silence_threshold,length=silence_time,live),fallback_couchcaster])
|
||||
live = switch(track_sensitive=false, [({!live_active},live)])
|
||||
|
||||
source = fallback(track_sensitive=false,transitions=[to_live_s, to_scheduler_s],[live, source])
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# handle the annotate fades
|
||||
faded = fade.in(type="log", fade.out(type="log", source))
|
||||
|
||||
# add up with a crossfade function (defined above)
|
||||
source = cross(fcross,faded)
|
||||
|
||||
|
||||
# track start detection (for notifications)
|
||||
source = on_metadata(notify, source)
|
||||
#source = on_track(notify, source)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# special to mix with final source
|
||||
source = smooth_add(normal=source,special=special)
|
||||
|
||||
|
||||
|
||||
|
||||
#####################################
|
||||
# Stream Output
|
||||
#####################################
|
||||
# finally the output | mp3
|
||||
clock(id="clock_icecast",
|
||||
output.icecast(%mp3,
|
||||
host = icecast_host, port = icecast_port,
|
||||
password = icecast_pass, mount = mount_scheduler,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
buffer(source)))
|
||||
|
||||
|
||||
|
||||
#output.dummy(live_in)
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue