diff --git a/.gitignore b/.gitignore
index 1dee62c21a02bb437262c74620777032a46d36bc..23da2e726f5cfe677f2cfe41358d3e3109bd8f35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,7 @@ scripts/.engine.install-db.lock
 .engine.install-db.lock
 config/systemd/dev/
 env.list
-audio/source
+audio
 config/docker/engine.ini
 src/liquidsoap/engine.sock
 python
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f2dd755f087d438f2fb9e1e7bab9afe6312d8cb8..6db85619f2f365f21441a48037b824184fa871b7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,17 +5,10 @@ stages:
 
 before_script:
   - apt-get -qq update 
-  - apt-cache search libmariadb
-  - apt-get install -y python3-virtualenv virtualenv opam libev4 libev-dev libsndfile1 quelcom # mariadb-server libmariadbclient-dev
-  - /usr/bin/virtualenv venv
-  - . venv/bin/activate
-  - python3 -V
+  - apt-get install -y python3-virtualenv virtualenv
+  - /usr/bin/virtualenv python
+  - . python/bin/activate
   - pip3 install -r requirements.txt
-  - mkdir /etc/aura
-  - mkdir /var/log/aura
-  - mkdir -p /opt/aura/engine/src/liquidsoap
-  - mkdir -p /opt/aura/engine/logs
-  - pwd
   - cp config/sample-production.engine.ini config/engine.ini
 
 run_test_cases:
diff --git a/config/blank.flac b/config/blank.flac
deleted file mode 100644
index a9129964141c1060143080fef369eea781233b70..0000000000000000000000000000000000000000
Binary files a/config/blank.flac and /dev/null differ
diff --git a/requirements.txt b/requirements.txt
index 06a4cda53f61117020297f699b6b37df4fc7bca3..540c26ce44a52626854a3fb5fca9bd6c1cb75a46 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,5 +4,4 @@ Flask==1.1.2
 Flask_SQLAlchemy==2.4.3
 mysqlclient==1.3.12
 validators==0.12.1
-accessify==0.3.1
 http-parser==0.9.0
\ No newline at end of file
diff --git a/scripts/install-opam-packages.sh b/scripts/install-opam-packages.sh
deleted file mode 100755
index e0341fe15aab40c1f42bbeba84411d06bb3be813..0000000000000000000000000000000000000000
--- a/scripts/install-opam-packages.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-opam update -y
-opam init -y
-opam switch create 4.08.0
-opam install depext -y
-opam depext taglib mad lame vorbis flac opus cry samplerate pulseaudio bjack alsa ssl liquidsoap -y
-opam install taglib mad lame vorbis flac opus cry samplerate pulseaudio bjack alsa ssl liquidsoap -y
-eval $(opam env)
diff --git a/src/liquidsoap/__init__.py b/src/liquidsoap/__init__.py
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/src/liquidsoap/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/liquidsoap/archive/unused_fallback.liq b/src/liquidsoap/archive/unused_fallback.liq
deleted file mode 100644
index 1e531b2f04dcb01b5f0514ad87019e037bf7374d..0000000000000000000000000000000000000000
--- a/src/liquidsoap/archive/unused_fallback.liq
+++ /dev/null
@@ -1,248 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-
-# Crossfade between tracks, 
-# taking the respective volume levels 
-# into account in the choice of the 
-# transition.
-# @category Source / Track Processing
-# @param ~start_next   Crossing duration, if any.
-# @param ~fade_in      Fade-in duration, if any.
-# @param ~fade_out     Fade-out duration, if any.
-# @param ~width        Width of the volume analysis window.
-# @param ~conservative Always prepare for
-#                      a premature end-of-track.
-# @param s             The input source.
-def crossfade (~start_next=5.,~fade_in=3.,
-               ~fade_out=3., ~width=2.,
-               ~conservative=false,s)
-  high   = -20.
-  medium = -32.
-  margin = 4.
-  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="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)
-
-    if
-      # If A and B and not too loud and close, 
-      # fully cross-fade them.
-      a <= medium and 
-      b <= medium and 
-      abs(a - b) <= margin
-    then
-      log("Transition: crossed, fade-in, fade-out.")
-      add(fade.out(sa),fade.in(sb))
-
-    elsif
-      # If B is significantly louder than A, 
-      # only fade-out A.
-      # We don't want to fade almost silent things, 
-      # ask for >medium.
-      b >= a + margin and a >= medium and b <= high
-    then
-      log("Transition: crossed, fade-out.")
-      add(fade.out(sa),sb)
-
-    elsif
-      # Do not fade if it's already very low.
-      b >= a + margin and a <= medium and b <= high
-    then
-      log("Transition: crossed, no fade-out.")
-      add(sa,sb)
-
-    elsif
-      # Opposite as the previous one.
-      a >= b + margin and b >= medium and a <= high
-    then
-      log("Transition: crossed, fade-in.")
-      add(sa,fade.in(sb))
-
-    # What to do with a loud end and 
-    # a quiet beginning ?
-    # A good idea is to use a jingle to separate 
-    # the two tracks, but that's another story.
-
-    else
-      # Otherwise, A and B are just too loud 
-      # to overlap nicely, or the difference 
-      # between them is too large and 
-      # overlapping would completely mask one 
-      # of them.
-      log("No transition: just sequencing.")
-      sequence([sa, sb])
-    end
-  end
-
-  cross(width=width, duration=start_next, 
-        conservative=conservative,
-        transition,s)
-end
-
-# Custom crossfade to deal with jingles.
-# def smarter_crossfade (~start_next=5.,~fade_in=3.,~fade_out=3.,
-#                      ~default=(fun (a,b) -> sequence([a, b])),
-#                      ~high=-15., ~medium=-32., ~margin=4.,
-#                      ~width=2.,~conservative=false,s)
-#   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="smarter_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)
-
-#     if ma["type"] == "jingles" or mb["type"] == "jingles" then
-#       log("Old or new file is a jingle: sequenced transition.")
-#       sequence([sa, sb])
-#     elsif
-#       # If A and B are not too loud and close, fully cross-fade them.
-#       a <= medium and b <= medium and abs(a - b) <= margin
-#     then
-#       log("Old <= medium, new <= medium and |old-new| <= margin.")
-#       log("Old and new source are not too loud and close.")
-#       log("Transition: crossed, fade-in, fade-out.")
-#       add(fade.out(sa),fade.in(sb))
-
-#     elsif
-#       # If B is significantly louder than A, only fade-out A.
-#       # We don't want to fade almost silent things, ask for >medium.
-#       b >= a + margin and a >= medium and b <= high
-#     then
-#       log("new >= old + margin, old >= medium and new <= high.")
-#       log("New source is significantly louder than old one.")
-#       log("Transition: crossed, fade-out.")
-#       add(fade.out(sa),sb)
-
-#     elsif
-#       # Opposite as the previous one.
-#       a >= b + margin and b >= medium and a <= high
-#     then
-#       log("old >= new + margin, new >= medium and old <= high")
-#       log("Old source is significantly louder than new one.")
-#       log("Transition: crossed, fade-in.")
-#       add(sa,fade.in(sb))
-
-#     elsif
-#       # Do not fade if it's already very low.
-#       b >= a + margin and a <= medium and b <= high
-#     then
-#       log("new >= old + margin, old <= medium and new <= high.")
-#       log("Do not fade if it's already very low.")
-#       log("Transition: crossed, no fade.")
-#       add(sa,sb)
-
-#     # What to do with a loud end and a quiet beginning ?
-#     # A good idea is to use a jingle to separate the two tracks,
-#     # but that's another story.
-
-#     else
-#       # Otherwise, A and B are just too loud to overlap nicely,
-#       # or the difference between them is too large and overlapping would
-#       # completely mask one of them.
-#       log("No transition: using default.")
-#       default(sa, sb)
-#     end
-#   end
-
-#   #smart_cross(width=width, duration=start_next, conservative=conservative, transition, s)
-#   smart_crossfade(duration=start_next, fade_in=fade_in, fade_out=fade_out, width=width, conservative=conservative, transition, s)
-# end
-
-# create a pool
-def fallback_create(~skip=true, name, requestor)
-  log("Creating channel #{name}")
-
-  # Create the request.dynamic source
-  # Set conservative to true to queue several songs in advance
-  #source = request.dynamic(conservative=true, length=50., id="pool_"^name, requestor, timeout=60.)
-  source = request.dynamic(length=50., id="pool_"^name, requestor, timeout=60.)
-
-  # Apply normalization using replaygain information
-  source = amplify(1., override="replay_gain", source)
-
-  # Skip blank when asked to
-  source =
-    if skip then
-      skip_blank(max_blank=fallback_max_blank, min_noise=fallback_min_noise, threshold=fallback_threshold, source)
-    else
-      source
-    end
-
-  # Tell the system when a new track is played
-  def do_meta(meta) =
-    filename = meta["filename"]
-    # artist = meta["artist"]
-    # title = meta["title"]
-    system('#{list.assoc(default="", "install_dir", ini)}/guru.py --on_play "#{filename}"')
-  end
-  source = on_metadata(do_meta, source)
-  
-
-  log("channel created")
-
-  # Finally apply a smart crossfading
-  #smarter_crossfade(source)
-  crossfade(source)
-end
-
-def create_dynamic_playlist(next)
-  request.create(list.hd(default="", next))
-end
-
-def create_playlist() =
-  log("requesting next song for PLAYLIST")
-  result = get_process_lines('#{list.assoc(default="", "install_dir", ini)}/guru.py --get-next-file-for "playlist" --quiet')
-  create_dynamic_playlist(result)
-end
-
-def create_station_fallback() =
-  result = get_process_lines('#{list.assoc(default="", "install_dir", ini)}/guru.py --get-next-file-for station --quiet')
-  log("next song for STATION fallback is: #{result}")
-  create_dynamic_playlist(result)
-end
-
-def create_show_fallback() =
-  result = get_process_lines('#{list.assoc(default="", "install_dir", ini)}/guru.py --get-next-file-for show --quiet')
-  log("next song for SHOW fallback is: #{result}")
-  create_dynamic_playlist(result)
-end
-
-def create_timeslot_fallback() =
-  result = get_process_lines('#{list.assoc(default="", "install_dir", ini)}/guru.py --get-next-file-for timeslot --quiet')
-  log("next song for TIMESLOT fallback is: #{result}")
-  create_dynamic_playlist(result)
-end
-
-# create fallbacks
-timeslot_fallback = fallback_create(skip=true, "timeslot_fallback", create_timeslot_fallback)
-station_fallback  = fallback_create(skip=true, "station_fallback", create_station_fallback)
-show_fallback     = fallback_create(skip=true, "show_fallback", create_show_fallback)
\ No newline at end of file
diff --git a/src/liquidsoap/archive/unused_out_filesystem.liq b/src/liquidsoap/archive/unused_out_filesystem.liq
deleted file mode 100644
index 28b055ef3adcb848f8004342ddca3b098f3c8505..0000000000000000000000000000000000000000
--- a/src/liquidsoap/archive/unused_out_filesystem.liq
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-r0_enable = list.assoc(default="", "rec_0", ini) == "y"
-r1_enable = list.assoc(default="", "rec_1", ini) == "y"
-r2_enable = list.assoc(default="", "rec_2", ini) == "y"
-r3_enable = list.assoc(default="", "rec_3", ini) == "y"
-r4_enable = list.assoc(default="", "rec_4", ini) == "y"
-
-r0_folder = list.assoc(default="", "rec_0_folder", ini)
-r0_duration = int_of_string(list.assoc(default="", "rec_0_duration", ini))
-r0_encoding = list.assoc(default="", "rec_0_encoding", ini)
-r0_bitrate = int_of_string(list.assoc(default="", "rec_0_bitrate", ini))
-r0_channels = list.assoc(default="", "rec_0_channels", ini)
-r0_filenamepattern = r0_folder^"/%Y-%m-%d/%Y-%m-%d-%H-%M."^r0_encoding
-
-r1_folder = list.assoc(default="", "rec_1_folder", ini)
-r1_duration = int_of_string(list.assoc(default="", "rec_1_duration", ini))
-r1_encoding = list.assoc(default="", "rec_1_encoding", ini)
-r1_bitrate = int_of_string(list.assoc(default="", "rec_1_bitrate", ini))
-r1_channels = list.assoc(default="", "rec_1_channels", ini)
-r1_filenamepattern = r1_folder^"/%Y-%m-%d/%Y-%m-%d-%H-%M."^r1_encoding
-
-r2_folder = list.assoc(default="", "rec_2_folder", ini)
-r2_duration = int_of_string(list.assoc(default="", "rec_2_duration", ini))
-r2_encoding = list.assoc(default="", "rec_2_encoding", ini)
-r2_bitrate = int_of_string(list.assoc(default="", "rec_2_bitrate", ini))
-r2_channels = list.assoc(default="", "rec_2_channels", ini)
-r2_filenamepattern = r2_folder^"/%Y-%m-%d/%Y-%m-%d-%H-%M."^r2_encoding
-
-r3_folder = list.assoc(default="", "rec_3_folder", ini)
-r3_duration = int_of_string(list.assoc(default="", "rec_3_duration", ini))
-r3_encoding = list.assoc(default="", "rec_3_encoding", ini)
-r3_bitrate = int_of_string(list.assoc(default="", "rec_3_bitrate", ini))
-r3_channels = list.assoc(default="", "rec_3_channels", ini)
-r3_filenamepattern = r3_folder^"/%Y-%m-%d/%Y-%m-%d-%H-%M."^r3_encoding
-
-r4_folder = list.assoc(default="", "rec_4_folder", ini)
-r4_duration = int_of_string(list.assoc(default="", "rec_4_duration", ini))
-r4_encoding = list.assoc(default="", "rec_4_encoding", ini)
-r4_bitrate = int_of_string(list.assoc(default="", "rec_4_bitrate", ini))
-r4_channels = list.assoc(default="", "rec_4_channels", ini)
-r4_filenamepattern = r4_folder^"/%Y-%m-%d/%Y-%m-%d-%H-%M."^r4_encoding
-
-r0_is_recording = ref false
-r1_is_recording = ref false
-r2_is_recording = ref false
-r3_is_recording = ref false
-r4_is_recording = ref false
-
-if r0_enable == true then
-    # enable recording status for that recorder
-    server.register(namespace="out_filesystem_0", "recording", fun (s) -> begin if !r0_is_recording == false then "false" else "true" end end)
-
-    # start the recorder
-    start_recorder(r0_folder, r0_duration, r0_encoding, r0_bitrate, r0_channels, r0_filenamepattern, r0_is_recording, output_source, "0")
-end
-
-if r1_enable == true then
-    server.register(namespace="out_filesystem_1", "recording", fun (s) -> begin if !r1_is_recording == false then "false" else "true" end  end)
-    start_recorder(r1_folder, r1_duration, r1_encoding, r1_bitrate, r1_channels, r1_filenamepattern, r1_is_recording, output_source, "1")
-end
-
-if r2_enable == true then
-    server.register(namespace="out_filesystem_2", "recording", fun (s) -> begin if !r2_is_recording == false then "false" else "true" end  end)
-    start_recorder(r2_folder, r2_duration, r2_encoding, r2_bitrate, r2_channels, r2_filenamepattern, r2_is_recording, output_source, "2")
-end
-
-if r3_enable == true then
-    server.register(namespace="out_filesystem_3", "recording", fun (s) -> begin if !r3_is_recording == false then "false" else "true" end  end)
-    start_recorder(r3_folder, r3_duration, r3_encoding, r3_bitrate, r3_channels, r3_filenamepattern, r3_is_recording, output_source, "3")
-end
-
-if r4_enable == true then
-    server.register(namespace="out_filesystem_4", "recording", fun (s) -> begin if !r4_is_recording == false then "false" else "true" end  end)
-    start_recorder(r4_folder, r4_duration, r4_encoding, r4_bitrate, r4_channels, r4_filenamepattern, r4_is_recording, output_source, "4")
-end
\ No newline at end of file
diff --git a/src/liquidsoap/archive/unused_record.liq b/src/liquidsoap/archive/unused_record.liq
deleted file mode 100644
index b9cd1a08c67b32a7c6a3e7c904f5e41684820449..0000000000000000000000000000000000000000
--- a/src/liquidsoap/archive/unused_record.liq
+++ /dev/null
@@ -1,178 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# %include "readini.liq"
-# ini = read_ini("/etc/aura/engine.ini")
-
-# %include "settings.liq"
-
-# TELNET SETTINGS
-# set("server.telnet", true)
-# set("server.telnet.bind_addr", "0.0.0.0")
-# set("server.telnet.port", 2345)
-
-inst = if argv(1) != "" then string_of(argv(1)) else 'record' end
-instance = ref inst
-
-audiobase = if !instance == 'record' then list.assoc(default="", "audiobase", ini) else list.assoc(default="", "altaudiobase", ini)  end
-rec_filetype = list.assoc(default="", "rec_filetype", ini)
-
-filenamepattern = ref audiobase^"/%Y-%m-%d/%Y-%m-%d-%H-%M.flac"
-
-# Der aktuelle Dateiname für die Aufnahme
-recordingfile = ref ""
-
-# wir definieren eine Referenz für die Stop-Funktion, die aber bisher noch nichts tun kann
-stop_f = ref (fun () -> ())
-
-# bewahre uns davor, dass zweimal gleichzeitig die gleiche Date aufgenommen wird
-is_record_active = ref false
-
-# Stop dump - wir definieren die Funktion, die stop_f ausführt
-def stop_dump() =
-  f = !stop_f
-  f ()
-end
-
-def on_start()
-    recordingfile := list.hd(default="", get_process_lines("date +#{!filenamepattern}"))
-end
-
-# Wav header fixen und ggf. die Aufzeichnung beenden
-def on_close(filename)
-    # es darf wieder aufgenommen werden
-    is_record_active := false
-
-    # if list.assoc(default="", "rec_filetype", ini) == 'wav'
-    #     # Korrekten WAV-Header schreiben
-    #     system("qwavheaderdump -F #{filename}")
-
-    # Naechsten Dateinamen vormerken
-    recordingfile := list.hd(default="", get_process_lines("date +#{!filenamepattern}"))
-end
-
-# Der input wie oben definiert
-def get_input()
-    output_source
-    # input.alsa()
-end
-
-def get_output()
-    input = get_input()
-    d = int_of_string(list.assoc(default="", "rec_duration", ini))
-    if rec_filetype == 'flac' then
-        log("output file type is FLAC")
-        output.file(
-            id="recorder",
-            %flac(samplerate=44100, channels=2, compression=5, bits_per_sample=16),
-            perm = 0o664,
-            on_start=on_start,
-            !filenamepattern,
-            on_close=on_close,
-            reopen_when={ if !instance == 'record' then int_of_float(gettimeofday()/60.) mod 30 == 0  else false end },
-            input
-        )
-    else
-        # record in WAV
-        log("output file type is WAV")
-        output.file(
-            id="recorder",
-            %wav(stereo=true, channels=2, samplesize=16, header=true),
-            perm = 0o664,
-            on_start=on_start,
-            !filenamepattern,
-            on_close=on_close,
-            reopen_when={ if !instance == 'record' then int_of_float(gettimeofday()/60.) mod d == 0  else false end },
-            input
-        )
-    end
-end
-
-# Funktion gibt Auskunft welches File aktuell ist und wieviel Prozent bereits aufgenommen werden
-def currecording()
-    curfile = !recordingfile
-    if curfile != "" then
-        percent_done = default="", get_process_lines("echo $(($(stat -c%s "^curfile^")/3174777))"))
-        "#{curfile}, #{percent_done}%"
-    else
-        "Nothing is being recorded now"
-    end
-end
-
-#Funktion zum Start der Aufzeichnung
-def start_dump() =
-    log('start dump')
-
-    # don't record twice is_record_active
-    if !is_record_active == false then
-        is_record_active := true
-        
-        log('starting to record')
-
-        record = get_output()
-        
-        log('record defined')
-        # Die Stopfunkton zeigt nun auf die Shutdown-Funktion der aktuellen Source
-        stop_f := fun () -> begin
-                                log('stop recording')
-                                # Aufnahme sauber beenden
-                                ignore(server.execute('recorder.stop'))
-                                # Source zerstören
-                                source.shutdown(record)
-                                # Variable zurücksetzen
-                                recordingfile := ""
-                            end
-    else 
-        log("recorder already active")
-    end
-end
-
-
-# Der Server wird durch 3 Funktionen bereichert
-# Der User darf die Aufzeichnung manuell starten
-server.register(namespace="record",
-                description="Start recording.",
-                usage="start",
-                "start",
-                fun (s) ->  begin start_dump() "OK" end)
-
-# Der User darf die Aufzeichnung manuell stoppen
-server.register(namespace="record",
-                description="Stop recording.",
-                usage="stop",
-                "stop",
-                fun (s) -> begin stop_dump() "OK" end)
-
-if !instance != 'record' then
-    # Der User darf einen Dateinamen für die Aufnahme definieren
-    server.register(namespace="record",
-                    description="Define filename for output.",
-                    usage="setfilename",
-                    "setfilename",
-                    fun (s) -> begin filenamepattern := audiobase^"/"^string_of(s)  "OK" end)
-end
-
-# Der User kann sich über den Fortschritt der Aufnahme informieren
-server.register(namespace="record",
-                description="Show current file.",
-                usage="curfile",
-                "curfile",
-                fun (s) -> currecording() )
-
-output.dummy(blank(id="serve"))
diff --git a/src/liquidsoap/archive/unused_recorder.liq b/src/liquidsoap/archive/unused_recorder.liq
deleted file mode 100644
index b62ca5c448f21359248ff73adabe4688fd72153d..0000000000000000000000000000000000000000
--- a/src/liquidsoap/archive/unused_recorder.liq
+++ /dev/null
@@ -1,244 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# define file name pattern
-filenamepattern = ref audiobase^"/%Y-%m-%d/%Y-%m-%d-%H-%M.flac"
-
-# Der aktuelle Dateiname für die Aufnahme
-recordingfile = ref ""
-
-# bewahre uns davor, dass zweimal gleichzeitig die gleiche Date aufgenommen wird
-is_record_active = ref false
-
-#wir definieren eine Referenz für die Stop-Funktion, die aber bisher noch nichts tun kann
-stop_f = ref (fun () -> ())
-
-
-
-def start_wav_output(recfile, filenamepattern, recorder_number)
-    duration   = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_duration",     ini))
-    channels   = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_channels",     ini))
-    samplesize = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_samplesize",     ini))
-
-    ignore(duration)
-    ignore(channels)
-    ignore(samplesize)
-
-#    def on_start()
-#        recfile := list.hd(default="", get_process_lines("date +#{!filenamepattern}"))
-#    end
-#    def on_close(filename)
-#        recordingfile := list.hd(default="", get_process_lines("date +#{!filenamepattern}"))
-#    end
-
-    print(channels)
-    print(samplesize)
-    #out_wav = output.file(id="recorder", perm = 0o664, on_start=on_start, on_close=on_close, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 })
-    #out_wav(%wav(stereo=true, channels=2, samplesize=8, header=true, !filenamepattern, output_source)
-    #ignore(out_wav)
-
-    output.dummy(id="wav_dummy_recording", blank())
-
-#    if channels == 2 then
-#        output.file(id="recorder", %wav(stereo=true, channels=2, samplesize=8, header=true), perm = 0o664, on_start=on_start, on_close=on_close, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 }, !filenamepattern, audio_to_stereo(output_source))
-##        out_wav(output_source)
-#    else
-#        output.file(id="recorder", %wav(stereo=true, channels=1, samplesize=8, header=true), perm = 0o664, on_start=on_start, on_close=on_close, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 }, !filenamepattern, output_source)
-    #    out_wav(output_source)
-#    end
-
-    #if channels == 2 then
-    #    if samplesize < 12 then
-    #        ignore(out_wav(%wav(stereo=true, channels=2, samplesize=8, header=true), !filenamepattern, output_source))
-    #    else
-    #        ignore(out_wav(%wav(stereo=true, channels=2, samplesize=16, header=true), !filenamepattern, output_source))
-    #    end
-    #else
-    #    if samplesize < 12 then
-    #        ignore(out_wav(%wav(stereo=true, channels=1, samplesize=8, header=true), !filenamepattern, output_source))
-    #    else
-    #        ignore(out_wav(%wav(stereo=true, channels=1, samplesize=16, header=true), !filenamepattern, output_source))
-    #    end
-    #end
-end
-
-def start_flac_output(recorder_number, filenamepattern, duration)
-#    duration        = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_samplerate",     ini))
-#    samplerate      = list.assoc(default="", "rec_"^recorder_number^"_samplerate",      ini)
-    channels        = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_channels",        ini))
-#    compression     = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_compression",     ini))
-#    bits_per_sample = int_of_string(list.assoc(default="", "rec_"^recorder_number^"_bits_per_sample", ini))
-    #output.file(id="recorder", %flac(samplerate=44100, channels=1, compression=7, bits_per_sample=32), perm = 0o664, on_start=on_start, !filenamepattern, on_close=on_close, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 }, output_source)
-
-    recfile = ref ''
-
-    def on_start()
-        recfile := list.hd(default="", get_process_lines("date +#{filenamepattern}"))
-    end
-    def on_close(filename)
-        recfile := list.hd(default="", get_process_lines("date +#{filenamepattern}"))
-    end
-
-    # dumbass liquidsoap cannot handle one output definition for mono and stereo
-    output_filesystem_mono   = output.file(id="recorder", perm = 0o664, on_start=on_start, on_close=on_close, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 })
-    output_filesystem_stereo = output.file(id="recorder", perm = 0o664, on_start=on_start, on_close=on_close, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 })
-
-    ignore(output_filesystem_mono)
-    ignore(output_filesystem_stereo)
-
-    if channels == 2 then
-        output.dummy(id="flac_dummy_recording_stereo", blank())
-#        output_stereof(%flac(samplerate=44100, channels=1, compression=1, bits_per_sample=16), !filenamepattern, output_source)
-    else
-        output.dummy(id="flac_dummy_recording_mono", blank())
-#        output_icecast_monof(%flac(samplerate=44100, channels=1, compression=1, bits_per_sample=16), !filenamepattern, output_source)
-    end
-
-
-end
-
-
-
-
-
-def enable_stop_function(record)
-    # Die Stopfunkton zeigt nun auf die Shutdown-Funktion der aktuellen Source
-    stop_f := fun () -> begin
-                            log('stop recording')
-                            # Aufnahme sauber beenden
-                            ignore(server.execute('recorder.stop'))
-                            # Source zerstören
-                            source.shutdown(record)
-                            # Variable zurücksetzen
-                            recordingfile := ""
-                        end
-end
-
-def set_recorder_output(rec_filetype, recorder_number)
-    # flac output
-    if rec_filetype == 'flac' then
-        log("output file type is FLAC")
-        record = start_flac_output(recorder_number)
-        enable_stop_function(record)
-
-    # WAV output
-    else
-        log("output file type is WAV")
-        record = start_wav_output(recorder_number)
-        enable_stop_function(record)
-    end
-end
-
-# shows current file and how many bytes were written so far
-def currecording()
-    curfile = !recordingfile
-    if curfile != "" then
-        bytes_written = list.hd(default="", get_process_lines("echo $(($(stat -c%s "^curfile^")))"))
-        "#{curfile}, #{bytes_written}B"
-    else
-        ""
-    end
-end
-
-
-
-### LIBRARY ###
-
-
-########################
-# record to filesystem #
-########################
-
-# shows current file and how many bytes were written so far
-def currecording(recfile)
-    if recfile != "" then
-        bytes_written = list.hd(default="", get_process_lines("echo $(($(stat -c%s "^recfile^")))"))
-        "#{recfile}, #{bytes_written}B"
-    else
-        ""
-    end
-end
-
-def start_recorder(folder, duration, encoding, bitrate, channels, filenamepattern, is_recording, stream, recorder_number) =
-    source = ref stream
-    stereo = (int_of_string(channels) >= 2)
-
-    # define on_start, on_close (good case) and on_stop (error case)
-    recfile = ref ''
-    def on_start()
-        is_recording := true
-        recfile := list.hd(default="", get_process_lines("date +#{filenamepattern}"))
-    end
-    def on_close(filename)
-        is_recording := false
-        recfile := list.hd(default="", get_process_lines("date +#{filenamepattern}"))
-    end
-    def on_stop()
-        is_recording := false
-    end
-
-    # register server function
-    server.register(namespace="recorder_"^recorder_number, description="Show current file.", usage="curfile", "curfile", fun (s) -> currecording(!recfile) )
-
-    # dumbass liquidsoap cannot handle one output definition for mono and stereo
-    output_filesystem_mono   = output.file(id="recorder_"^recorder_number, perm = 0o664, on_start=on_start, on_close=on_close, on_stop=on_stop, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 })
-    output_filesystem_stereo = output.file(id="recorder_"^recorder_number, perm = 0o664, on_start=on_start, on_close=on_close, on_stop=on_stop, reopen_when={ int_of_float(gettimeofday()/60.) mod duration == 0 })
-
-#    %ifencoder %aac
-    # if encoding == "aac" then
-    #     log("ENABLING aac recorder to filesystem")
-    #     %include "outgoing_recordings/aac.liq"
-    # end
-#    %endif
-
-#    %ifencoder %flac
-    if encoding == "flac" then
-        log("ENABLING flac recorder to filesystem")
-        %include "outgoing_recordings/flac.liq"
-    end
-#    %endif
-
-#    %ifencoder %mp3
-    if encoding == "mp3" then
-        log("ENABLING mp3 recorder to filesystem")
-        %include "outgoing_recordings/mp3.liq"
-    end
-#    %endif
-
-#    %ifencoder %vorbis
-    if encoding == "ogg" then
-        log("ENABLING ogg recorder to filesystem")
-        %include "outgoing_recordings/ogg.liq"
-    end
-#    %endif
-
-#    %ifencoder %opus
-    if encoding == "opus" then
-        log("ENABLING opus recorder to filesystem")
-        %include "outgoing_recordings/opus.liq"
-    end
-#    %endif
-
-#    %ifencoder %wav
-    if encoding == "wav" then
-        log("ENABLING wav recorder to filesystem")
-        %include "outgoing_recordings/wav.liq"
-    end
-#    %endif
-end
diff --git a/src/liquidsoap/archive/unused_stream.liq b/src/liquidsoap/archive/unused_stream.liq
deleted file mode 100644
index 5440446a6434250d229d043fd7f681ce7bd4361b..0000000000000000000000000000000000000000
--- a/src/liquidsoap/archive/unused_stream.liq
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-def get_icecast_mp3_stream(number)
-    stream_bitrate = int_of_string(list.assoc(default="", "stream_#{number}_bitrate", ini))
-    stream_mountpoint = list.assoc(default="", "stream_#{number}_mountpoint", ini)
-    stream_host = list.assoc(default="", "stream_#{number}_host", ini)
-    stream_port = int_of_string(list.assoc(default="", "stream_#{number}_port", ini))
-    stream_name = list.assoc(default="", "stream_#{number}_name", ini)
-    stream_url = list.assoc(default="", "stream_#{number}_url", ini)
-    stream_genre = list.assoc(default="", "stream_#{number}_genre", ini)
-    stream_description = list.assoc(default="", "stream_#{number}_description", ini)
-    stream_user = list.assoc(default="", "stream_#{number}_user", ini)
-    stream_password = list.assoc(default="", "stream_#{number}_password", ini)
-
-
-
-    if stream_bitrate == 24 then
-        icecast_stream = output.icecast(%mp3(bitrate = 24, samplerate = 22050), mount=stream_mountpoint, host=stream_host, port=stream_port, name=stream_name, url=stream_url, genre=stream_genre, description=stream_description, user=stream_user, password=stream_password, icy_metadata="true", fallible=true, buffer(output_source))
-        clock.assign_new(id="stream_#{number}",
-            [icecast_stream]
-        )
-        icecast_stream
-    else
-        icecast_stream = output.icecast(%mp3(samplerate = 44100), mount=stream_mountpoint, host=stream_host, port=stream_port, name=stream_name, url=stream_url, genre=stream_genre, description=stream_description, user=stream_user, password=stream_password, icy_metadata="true", fallible=true, buffer(output_source))
-        clock.assign_new(id="stream_#{number}",
-            [icecast_stream]
-        )
-        icecast_stream
-    end
-end
-
-def get_icecast_ogg_stream(number)
-    stream_quality = float_of_string(list.assoc(default="", "stream_#{number}_quality", ini))
-
-    stream_mountpoint = list.assoc(default="", "stream_#{number}_mountpoint", ini)
-    stream_host = list.assoc(default="", "stream_#{number}_host", ini)
-    stream_port = int_of_string(default="", list.assoc("stream_#{number}_port", ini))
-    stream_name = list.assoc(default="", "stream_#{number}_name", ini)
-    stream_url = list.assoc(default="", "stream_#{number}_url", ini)
-    stream_genre = list.assoc(default="", "stream_#{number}_genre", ini)
-    stream_description = list.assoc(default="", "stream_#{number}_description", ini)
-    stream_user = list.assoc(default="", "stream_#{number}_user", ini)
-    stream_password = list.assoc(default="", "stream_#{number}_password", ini)
-
-    if stream_quality >= 0.5 then
-        icecast_stream = output.icecast(%vorbis(quality = 1.0), mount=stream_mountpoint, host=stream_host, port=stream_port, name=stream_name, url=stream_url, genre=stream_genre, description=stream_description, user=stream_user, password=stream_password, icy_metadata="true", fallible=true, buffer(output_source))
-        clock.assign_new(id="stream_#{number}",
-            [icecast_stream]
-        )
-        icecast_stream
-    else
-        icecast_stream = output.icecast(%vorbis(quality = 0.1), mount=stream_mountpoint, host=stream_host, port=stream_port, name=stream_name, url=stream_url, genre=stream_genre, description=stream_description, user=stream_user, password=stream_password, icy_metadata="true", fallible=true, buffer(output_source))
-        clock.assign_new(id="stream_#{number}",
-            [icecast_stream]
-        )
-        icecast_stream
-    end
-end
-
-def get_harbour_mp3_stream(number)
-
-    stream_bitrate = int_of_string(list.assoc(default="", "stream_#{number}_bitrate", ini))
-    stream_user = list.assoc(default="", "stream_#{number}_user", ini)
-    stream_password =  list.assoc(default="", "stream_#{number}_password", ini)
-    stream_port = int_of_string(list.assoc(default="", "stream_#{number}_port", ini))
-    stream_url = list.assoc(default="", "stream_#{number}_url", ini)
-    stream_mountpoint = list.assoc(default="", "stream_#{number}_mountpoint", ini)
-
-    if stream_bitrate == 24 then
-        harbourstream = output.harbor(%mp3(bitrate = 24, samplerate = 22050), user=stream_user, password=stream_password, id="stream", port=stream_port, url=stream_url, mount=stream_mountpoint, icy_metadata="true", fallible=true, buffer(output_source))
-        clock.assign_new(id="stream_#{number}",
-            [harbourstream]
-        )
-        harbourstream
-    else
-        harbourstream = output.harbor(%mp3, user=stream_user, password=stream_password, id="stream", port=stream_port, url=stream_url, mount=stream_mountpoint, icy_metadata="true", fallible=true, buffer(output_source))
-        clock.assign_new(id="stream_#{number}",
-            [harbourstream]
-        )
-        harbourstream
-    end
-end
-
-def get_stream(number)
-    stream = list.assoc(default="", "stream_#{number}", ini)
-    stream_type = list.assoc(default="", "stream_#{number}_type", ini)
-    stream_format = list.assoc(default="", "stream_#{number}_format", ini)
-
-    # is stream enabled?
-    if stream == "y" then
-        log("activating stream #{number}")
-        if stream_type == "icecast" then
-            log("its an icecast stream")
-            if stream_format == "mp3" then
-                log("filled with mp3")
-                get_icecast_mp3_stream(number)
-            elsif stream_format == "vorbis" then
-                log("filled with ogg")
-                get_icecast_ogg_stream(number)
-            else
-                output.dummy(id="no_valid_stream_format_DUMMY_ICECAST", blank())
-            end
-
-        elsif stream_type == "harbor" then
-            log("its an harbor stream")
-            if stream_format == "mp3" then
-                get_harbour_mp3_stream(number)
-            else
-                output.dummy(id="no_valid_stream_format_DUMMY_HARBOUR", blank())
-            end
-        else
-            output.dummy(id="no_valid_stream_type_DUMMY", blank())
-        end
-    else
-        output.dummy(id="no_stream_enabled_DUMMY", blank())
-    end
-end
-
-def set_streams()
-    stream_0 = get_stream(0)
-    #stream_1 = get_stream(1)
-    #stream_2 = get_stream(2)
-    #stream_3 = get_stream(3)
-    #stream_4 = get_stream(4)
-end
-
diff --git a/src/liquidsoap/engine.liq b/src/liquidsoap/engine.liq
deleted file mode 100644
index d628869fec23c8b369d231910983dea4cbd7af57..0000000000000000000000000000000000000000
--- a/src/liquidsoap/engine.liq
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/usr/bin/liquidsoap
-
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-icecast_vorbis_metadata = false
-inputs = ref []
-
-# Load settings from ini file
-%include "settings.liq"
-
-# Include some functions
-%include "library.liq"
-
-#####################################
-#              EVENTS               #
-#####################################
-
-# Called when some new metadata info is available
-def on_metadata_notification(meta) =
-    filename = meta["filename"]
-    track_duration = request.duration(filename)
-    json_data = json_of(meta)
-    json_data = '{ "action": "on_metadata", "data": #{json_data}, "track_duration": "#{track_duration}" }'
-    # There's currently an issue with Liquidsoap http.post requests:
-    # headers = [("Content-Type","application/json; charset=utf-8")]
-    # ignore(http.post(headers=headers, data="#{json_data}", "http://localhost:1337"))
-    ignore(system("curl -X POST -H 'Content-Type: application/json' --data '#{json_data}' localhost:1337"))
-end
-
-#####################################
-#              INPUTS               #
-#####################################
-
-# Enable queue sources
-%include "in_queue.liq"
-
-# Enable fallback sources
-%include "in_fallback.liq"
-
-# Enable stream overtakes
-%include "in_stream.liq"
-
-# Enabled line in from soundcard
-%include "in_soundcard.liq"
-
-
-#####################################
-#             ROUTING               #
-#####################################
-
-
-# When some regular playout is happening and it is returned to the fallback,
-# we don't want to resume the previous fallback track:
-def on_track_change(s) = 
-    source.skip(station_playlist)
-    source.skip(station_folder)
-end
-
-
-mixer = mix(id="mixer", 
-        list.append(
-            [
-                input_filesystem_0, 
-                input_filesystem_1, 
-                input_http_0, 
-                input_http_1, 
-                input_https_0, 
-                input_https_1
-            ], 
-            !inputs
-        )
-    )
-
-stripped_stream = strip_blank(
-        id="strip_blank", 
-        track_sensitive=false, 
-        max_blank=fallback_max_blank, 
-        min_noise=fallback_min_noise, 
-        threshold=fallback_threshold, 
-        mixer
-    )
-
-stripped_stream = on_track(on_track_change, stripped_stream)
-
-fallback_one = fallback(
-    id="fallback-scheduled", 
-    track_sensitive=false,
-    replay_metadata=true,
-    [ stripped_stream, stripped_fallback_mixer])
-
-fallback_one = on_track(on_track_change, fallback_one)
-
-fallback_two = fallback(
-    id="fallback-station-playlist", 
-    track_sensitive=false,
-    replay_metadata=true,
-    [ fallback_one, station_playlist])
-
-fallback_three = fallback(
-    id="fallback-station-folder", 
-    track_sensitive=false,
-    replay_metadata=true,
-    [ fallback_two, station_folder])
-
-output_source = fallback_three
-
-#####################################
-#             OUTPUTS               #
-#####################################
-
-# create soundcard output
-%include "out_soundcard.liq"
-
-# stream output
-%include "out_stream.liq"
-
-# enable socket functions
-%include "serverfunctions.liq"
-
diff --git a/src/liquidsoap/helpers/__init__.py b/src/liquidsoap/helpers/__init__.py
deleted file mode 100644
index 9df7513dceb652132e543a42460edae0571c19ec..0000000000000000000000000000000000000000
--- a/src/liquidsoap/helpers/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-
-import os
-import sys
diff --git a/src/liquidsoap/helpers/silence.sh b/src/liquidsoap/helpers/silence.sh
deleted file mode 100755
index 9d6ef4209f1d9a90cc14fea82e6704a36e08f24b..0000000000000000000000000000000000000000
--- a/src/liquidsoap/helpers/silence.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-pack_int(){ printf "%08X\n" $1 | sed 's/\([0-9A-F]\{2\}\)\([0-9A-F]\{2\}\)\([0-9A-F]\{2\}\)\([0-9A-F]\{2\}\)/\\\\\\x\4\\\\\\x\3\\\\\\x\2\\\\\\x\1/I' | xargs printf; }
-
-pack_short(){ printf "%04X\n" $1 | sed 's/\([0-9A-F]\{2\}\)\([0-9A-F]\{2\}\)/\\\\\\x\2\\\\\\x\1/I' | xargs printf; }
-
-duration=1800
-if [[ $# -eq 1 ]]; then
-    duration=$1
-fi
-
-channels=2
-bps=16
-sample=44100
-Subchunk1Size=18
-Subchunk2Size=$(echo "$duration*$sample*$channels*$bps/8" | bc)
-ChunkSize=$((20 + $Subchunk1Size + $Subchunk2Size))
-
-echo -n RIFF
-pack_int $ChunkSize
-echo -n "WAVEfmt "
-pack_int $Subchunk1Size
-pack_short 1
-pack_short $channels
-pack_int $sample
-pack_int $((bps/8 * channels * sample))
-pack_short $((bps/8 * channels))
-pack_short $bps
-pack_short 0
-echo -n data
-pack_int $Subchunk2Size
-
-dd if=/dev/zero bs=1 count=$Subchunk2Size 2>/dev/null
diff --git a/src/liquidsoap/in_fallback.liq b/src/liquidsoap/in_fallback.liq
deleted file mode 100644
index 4d9e31b89c1ef6c94da434140daaddf2725eb6ed..0000000000000000000000000000000000000000
--- a/src/liquidsoap/in_fallback.liq
+++ /dev/null
@@ -1,139 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-fallback_inputs = ref []
-
-#####################################
-#         FALLBACK SOURCES          #
-#####################################
-
-
-# Create Sources
-input_fallback_scheduled_0 = request.equeue(id="in_fallback_scheduled_0")
-input_fallback_scheduled_1 = request.equeue(id="in_fallback_scheduled_1")
-
-station_playlist = playlist(
-    id="station_playlist", 
-    fallback_station_playlist_path, 
-    mode="randomize",    
-    reload_mode="watch",
-    reload=0)
-
-station_folder = mksafe(
-    playlist(id="station_folder", 
-    fallback_station_dir, 
-    mode="randomize", 
-    reload=fallback_station_dir_reload, 
-    reload_mode="seconds"))
-
-# Apply ReplayGain Normalization
-input_fallback_scheduled_0 = amplify(id="in_fallback_scheduled_0", 1., override="replay_gain", input_fallback_scheduled_0)
-input_fallback_scheduled_1 = amplify(id="in_fallback_scheduled_1", 1., override="replay_gain", input_fallback_scheduled_1)
-station_playlist = amplify(id="station_playlist", 1., override="replay_gain", station_playlist)
-station_folder = amplify(id="station_folder", 1., override="replay_gain", station_folder)
-
-# Add Event Handlers
-input_fallback_scheduled_0 = on_metadata(id="in_fallback_scheduled_0", on_metadata_notification, input_fallback_scheduled_0)
-input_fallback_scheduled_1 = on_metadata(id="in_fallback_scheduled_1", on_metadata_notification, input_fallback_scheduled_1)
-station_playlist = on_metadata(id="station_playlist", on_metadata_notification, station_playlist)
-station_folder = on_metadata(id="station_folder", on_metadata_notification, station_folder)
-
-# Mixer for more control of scheduled fallbacks
-fallback_mixer = mix(id="mixer_fallback", 
-        list.append(
-            [
-                input_fallback_scheduled_0, 
-                input_fallback_scheduled_1
-            ], 
-            !fallback_inputs
-        )
-    )
-
-stripped_fallback_mixer = strip_blank(
-        id="fallback_strip_blank", 
-        track_sensitive=false, 
-        max_blank=fallback_max_blank, 
-        min_noise=fallback_min_noise, 
-        threshold=fallback_threshold, 
-        fallback_mixer
-    )
-
-#####################################
-#          SERVER FUNCTIONS         #
-#####################################
-
-
-
-# Clear Fallback Queue A
-server.register(namespace=source.id(input_fallback_scheduled_0),
-        description="Clear all items of the scheduled fallback queue A.",
-        usage="clear",
-        "clear",
-
-    fun (s) -> 
-        begin
-            source.skip(input_fallback_scheduled_0)
-            clear_queue(input_fallback_scheduled_0) 
-            "Clearing done."     
-        end
-    )
-
-# Clear Fallback Queue B
-server.register(namespace=source.id(input_fallback_scheduled_1),
-        description="Clear all items of the scheduled fallback queue B.",
-        usage="clear",
-        "clear",
-
-    fun (s) -> 
-        begin
-            source.skip(input_fallback_scheduled_1)
-            clear_queue(input_fallback_scheduled_1) 
-            "Clearing done." 
-        end
-    )
-
-# Seek Fallback Queue A
-server.register(namespace = source.id(input_fallback_scheduled_0),
-    description="Seek to relative position in #{source.id(input_fallback_scheduled_0)}",
-    usage = "seek <duration in seconds>",
-    "seek",
-
-    fun (t) -> 
-        begin
-            log("Seeking #{t} sec")
-            t = float_of_string(default=0.,t)
-            ret = source.seek(input_fallback_scheduled_0, t)
-            "Seeked #{ret} seconds."
-        end
-    )
-
-# Seek Fallback Queue B
-server.register(namespace = source.id(input_fallback_scheduled_1),
-    description="Seek to relative position in #{source.id(input_fallback_scheduled_1)}",
-    usage = "seek <duration in seconds>",
-    "seek",
-
-    fun (t) -> 
-        begin
-            log("Seeking #{t} sec")
-            t = float_of_string(default=0.,t)
-            ret = source.seek(input_fallback_scheduled_1, t)
-            "Seeked #{ret} seconds."
-        end
-    )    
\ No newline at end of file
diff --git a/src/liquidsoap/in_queue.liq b/src/liquidsoap/in_queue.liq
deleted file mode 100644
index 6181080b0376f0eac09be39dad01a7702e10c061..0000000000000000000000000000000000000000
--- a/src/liquidsoap/in_queue.liq
+++ /dev/null
@@ -1,97 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-#####################################
-#           QUEUE SOURCES           #
-#####################################
-
-# Create Sources
-input_filesystem_0 = request.equeue(id="in_filesystem_0")
-input_filesystem_1 = request.equeue(id="in_filesystem_1")
-
-# Apply ReplayGain Normalization
-input_filesystem_0 = amplify(id="in_filesystem_0", 1., override="replay_gain", input_filesystem_0)
-input_filesystem_1 = amplify(id="in_filesystem_1", 1., override="replay_gain", input_filesystem_1)
-
-# Add Event Handlers
-input_filesystem_0 = on_metadata(id="in_filesystem_0", on_metadata_notification, input_filesystem_0)
-input_filesystem_1 = on_metadata(id="in_filesystem_1", on_metadata_notification, input_filesystem_1)
-
-
-#####################################
-#          SERVER FUNCTIONS         #
-#####################################
-
-
-# Clear Default Queue A
-server.register(namespace=source.id(input_filesystem_0),
-        description="Clear all items of the default queue A.",
-        usage="clear",
-        "clear",
-
-    fun (s) -> 
-        begin 
-            clear_queue(input_filesystem_0) 
-            "Clearing done."     
-        end
-    )
-
-# Clear Default Queue B
-server.register(namespace=source.id(input_filesystem_1),
-        description="Clear all items of the default queue B.",
-        usage="clear",
-        "clear",
-
-    fun (s) -> 
-        begin 
-            clear_queue(input_filesystem_1) 
-            "Clearing done." 
-        end
-    )
-
-# Seek Filesystem Queue A
-server.register(namespace = source.id(input_filesystem_0),
-    description="Seek to relative position in #{source.id(input_filesystem_0)}",
-    usage = "seek <duration in seconds>",
-    "seek",
-
-    fun (t) -> 
-        begin
-            log("Seeking #{t} sec")
-            t = float_of_string(default=0.,t)
-            ret = source.seek(input_filesystem_0, t)
-            "Seeked #{ret} seconds."
-        end
-    )
-
-# Seek Filesystem Queue B
-server.register(namespace = source.id(input_filesystem_1),
-    description="Seek to relative position in #{source.id(input_filesystem_1)}",
-    usage = "seek <duration in seconds>",
-    "seek",
-
-    fun (t) -> 
-        begin
-            log("Seeking #{t} sec")
-            t = float_of_string(default=0.,t)
-            ret = source.seek(input_filesystem_1, t)
-            "Seeked #{ret} seconds."
-        end
-    )
diff --git a/src/liquidsoap/in_soundcard.liq b/src/liquidsoap/in_soundcard.liq
deleted file mode 100644
index cf98414216676389dc8c55f0fefa6fc6d21e4701..0000000000000000000000000000000000000000
--- a/src/liquidsoap/in_soundcard.liq
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-if a0_in != "" then
-    # we can ignore the result, since it is stored in the list 'inputs'
-    set_input(a0_in, "linein_0")
-end
-
-if a1_in != "" then
-    ignore(set_input(a1_in, "linein_1"))
-end
-
-if a2_in != "" then
-    ignore(set_input(a2_in, "linein_2"))
-end
-
-if a3_in != "" then
-    ignore(set_input(a3_in, "linein_3"))
-end
-
-if a4_in != "" then
-    ignore(set_input(a4_in, "linein_4"))
-
-#    input_4 = ref output.dummy(blank())
-#    set_input(input_4, a4_in, "linein_4")
-#    inputs := list.append([!input_4], !inputs)
-end
\ No newline at end of file
diff --git a/src/liquidsoap/in_stream.liq b/src/liquidsoap/in_stream.liq
deleted file mode 100644
index 129510607d1417e39577440dd3414557a2ad5712..0000000000000000000000000000000000000000
--- a/src/liquidsoap/in_stream.liq
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-# Pre-population of stream input sources, as Liquidsoap needs it to initialize this input.
-# This is overwritten as soon as some other Stream is scheduled.
-
-# http_starturl = "http://stream01.kapper.net:8001/live.mp3"
-# http_starturl = "http://stream.fro.at/fro-128.ogg"
-http_starturl = "http://trance.out.airtime.pro:8000/trance_a"
-# http_starturl = "http://chill.out.airtime.pro:8000/chill_a"
-# http_starturl = "http://212.89.182.114:8008/frf"
-
-https_starturl = "https://securestream.o94.at/live.mp3"
-# https_starturl = "https://live.helsinki.at:8088/live160.ogg"
-# https_starturl = "https://stream.fro.at/fro-128.ogg"
-
-
-
-input_http_0 = input.http(id="in_http_0", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, http_starturl)
-input_http_1 = input.http(id="in_http_1", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, http_starturl)
-input_https_0 = input.https(id="in_https_0", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, https_starturl)
-input_https_1 = input.https(id="in_https_1", buffer=input_stream_buffer, max=60.0, timeout=60.0, autostart=false, https_starturl)
-
-# Route input stream to an dummy output to avoid buffer-overrun messages
-# output.dummy(id="SPAM_HTTP_OUTPUT_0", fallible=true, input_http_0)
-# output.dummy(id="SPAM_HTTP_OUTPUT_1", fallible=true, input_http_1)
-# output.dummy(id="SPAM_HTTPS_OUTPUT_0", fallible=true, input_https_0)
-# output.dummy(id="SPAM_HTTPS_OUTPUT_1", fallible=true, input_https_1)
-# output.dummy(blank())
\ No newline at end of file
diff --git a/src/liquidsoap/library.liq b/src/liquidsoap/library.liq
deleted file mode 100644
index 8791b53f036d9be3650c225c67816f92e2eb706c..0000000000000000000000000000000000000000
--- a/src/liquidsoap/library.liq
+++ /dev/null
@@ -1,161 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-#####################################
-#         CLEAR SOURCE              #
-#####################################
-
-def clear_items(ns) =
-    ret = server.execute("#{source.id(ns)}.primary_queue")
-    ret = list.hd(default="", ret)
-    if ret == "" then
-        log("Queue cleared.")
-        (-1.)
-    else
-        log("There are still items in the queue, trying skip ...")
-        source.skip(ns)
-        (0.1)
-    end
-end
-
-def clear_queue(ns) =
-    add_timeout(fast=false, 0.5, {clear_items(ns)})
-end
-
-
-#####################################
-#         DYNAMIC SOURCES           #
-#####################################
-
-def create_dynamic_source(~skip=true, name)
-    log("Creating dynamic source '#{name}'")
-    track = get_process_lines("cat "^string.quote("next-track.txt"))
-    track = list.hd(default="", track)
-    dyn_source = request.dynamic.list(
-      { [request.create(track)] })
-    dyn_source
-end
-
-
-#####################
-# stream to icecast #
-#####################
-
-def stream_to_icecast(id, encoding, bitrate, host, port, pass, mount_point, url, description, genre, user, stream, streamnumber, connected, name, channels) =
-    source = ref stream
-
-    def on_error(msg)
-        connected := "false"
-        log(msg)
-        5.
-    end
-    def on_connect()
-        connected := "true"
-        log("Successfully connected to stream_#{streamnumber}")
-    end
-
-    stereo = (int_of_string(channels) >= 2)
-
-    user_ref = ref user
-    if user == "" then
-        user_ref := "source"
-    end
-
-    # Liquidsoap cannot handle one output definition for mono and stereo
-    output_icecast_mono   = output.icecast(id = id, host = host, port = port, password = pass, mount = mount_point, fallible = true, url = url, description = description, name = name, genre = genre, user = !user_ref, on_error = on_error, on_connect = on_connect, icy_metadata = "true")
-    output_icecast_stereo = output.icecast(id = id, host = host, port = port, password = pass, mount = mount_point, fallible = true, url = url, description = description, name = name, genre = genre, user = !user_ref, on_error = on_error, on_connect = on_connect, icy_metadata = "true")
-
-#    %ifencoder %aac
-#    if encoding == "aac" then
-#        log("ENABLING AAC to ICECAST")
-#        %include "outgoing_streams/aac.liq"
-#    end
-#    %endif
-#
-#    %ifencoder %flac
-#    if encoding == "flac" then
-#        log("ENABLING FLAC to ICECAST")
-#        %include "outgoing_streams/flac.liq"
-#    end
-#    %endif
-
-    if encoding == "mp3" then
-        log("ENABLING Mp3 to ICECAST")
-        %include "outgoing_streams/mp3.liq"
-    end
-
-    if encoding == "ogg" then
-        log("ENABLING OGG to ICECAST")
-        %include "outgoing_streams/ogg.liq"
-    end
-
-#    %ifencoder %opus
-#    if encoding == "opus" then
-#        log("ENABLING OPUS to ICECAST")
-#        %include "outgoing_streams/opus.liq"
-#    end
-#    %endif
-end
-
-###########
-# line in #
-###########
-
-def set_input(device, name) =
-    if use_alsa == true then
-        alsa_in = input.alsa(id=name, device=a0_in, clock_safe=false, bufferize = false)
-        inputs := list.append([alsa_in], !inputs)
-
-    elsif use_jack == true then
-        jack_in = input.jack(id=name, clock_safe=false)
-        inputs := list.append([jack_in], !inputs)
-
-    else
-        pulse_in = input.pulseaudio(id=name, client="AuraEngine Line IN")
-        inputs := list.append([pulse_in], !inputs)
-    end
-end
-
-############
-# line out #
-############
-
-def get_output(source, device, name) =
-    if device != "" then
-        if use_alsa == true then
-            log("--- Set ALSA Output ---")
-            if device == "default" then
-                output.alsa(id="lineout", bufferize = false, source)
-            else
-                output.alsa(id=name, device=device, bufferize = false, source)
-            end
-        elsif use_jack == true then
-            log("--- Set JACK AUDIO Output ---")
-            output.jack(id=name, source)
-        else
-            log("--- Set PULSE AUDIO Output ---")
-            output.pulseaudio(id=name, client="AuraEngine Line OUT", source)
-        end
-    else
-        log("OUTPUT DUMMY")
-        output.dummy(id=name^"_DUMMY", blank())
-    end
-end
diff --git a/src/liquidsoap/out_soundcard.liq b/src/liquidsoap/out_soundcard.liq
deleted file mode 100644
index 5e073cb35eb7e211aaabedc83ebb785f219ed16d..0000000000000000000000000000000000000000
--- a/src/liquidsoap/out_soundcard.liq
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-if a0_out != "" then
-    ignore(get_output(output_source, a0_out, "lineout_0"))
-end
-
-if a1_out != "" then
-    ignore(get_output(output_source, a1_out, "lineout_1"))
-end
-
-if a2_out != "" then
-    ignore(get_output(output_source, a2_out, "lineout_2"))
-end
-
-if a3_out != "" then
-    ignore(get_output(output_source, a3_out, "lineout_3"))
-end
-
-if a4_out != "" then
-    ignore(get_output(output_source, a4_out, "lineout_4"))
-
-    #output_4 = ref output.dummy(blank())
-    #get_output(output_4, output_source, a4_out, "lineout_4")
-
-    #output_4 := get_output(output_source, a4_out, "lineout_4")
-    #get_output(output_source, a4_out, "aura_lineout_4")
-end
diff --git a/src/liquidsoap/out_stream.liq b/src/liquidsoap/out_stream.liq
deleted file mode 100644
index f5ca38e22c67d69273a90bfafcd7816596763b90..0000000000000000000000000000000000000000
--- a/src/liquidsoap/out_stream.liq
+++ /dev/null
@@ -1,126 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-# Output streaming settings
-# What a mess...
-s0_enable = list.assoc(default="", "stream_0", ini) == "y"
-s1_enable = list.assoc(default="", "stream_1", ini) == "y"
-s2_enable = list.assoc(default="", "stream_2", ini) == "y"
-s3_enable = list.assoc(default="", "stream_3", ini) == "y"
-s4_enable = list.assoc(default="", "stream_4", ini) == "y"
-
-s0_encoding = list.assoc(default="", "stream_0_encoding", ini)
-s0_bitrate = int_of_string(list.assoc(default="", "stream_0_bitrate", ini))
-s0_host = list.assoc(default="", "stream_0_host", ini)
-s0_port = int_of_string(list.assoc(default="", "stream_0_port", ini))
-s0_user = list.assoc(default="", "stream_0_user", ini)
-s0_pass = list.assoc(default="", "stream_0_password", ini)
-s0_mount = list.assoc(default="", "stream_0_mountpoint", ini)
-s0_url = list.assoc(default="", "stream_0_displayurl", ini)
-s0_desc = list.assoc(default="", "stream_0_description", ini)
-s0_genre = list.assoc(default="", "stream_0_genre", ini)
-s0_name = list.assoc(default="", "stream_0_name", ini)
-s0_channels = list.assoc(default="", "stream_0_channels", ini)
-
-s1_encoding = list.assoc(default="", "stream_1_encoding", ini)
-s1_bitrate = int_of_string(list.assoc(default="", "stream_1_bitrate", ini))
-s1_host = list.assoc(default="", "stream_1_host", ini)
-s1_port = int_of_string(list.assoc(default="", "stream_1_port", ini))
-s1_user = list.assoc(default="", "stream_1_user", ini)
-s1_pass = list.assoc(default="", "stream_1_password", ini)
-s1_mount = list.assoc(default="", "stream_1_mountpoint", ini)
-s1_url = list.assoc(default="", "stream_1_displayurl", ini)
-s1_desc = list.assoc(default="", "stream_1_description", ini)
-s1_genre = list.assoc(default="", "stream_1_genre", ini)
-s1_name = list.assoc(default="", "stream_1_name", ini)
-s1_channels = list.assoc(default="", "stream_1_channels", ini)
-
-s2_encoding = list.assoc(default="", "stream_2_encoding", ini)
-s2_bitrate = int_of_string(list.assoc(default="", "stream_2_bitrate", ini))
-s2_host = list.assoc(default="", "stream_2_host", ini)
-s2_port = int_of_string(list.assoc(default="", "stream_2_port", ini))
-s2_user = list.assoc(default="", "stream_2_user", ini)
-s2_pass = list.assoc(default="", "stream_2_password", ini)
-s2_mount = list.assoc(default="", "stream_2_mountpoint", ini)
-s2_url = list.assoc(default="", "stream_2_displayurl", ini)
-s2_desc = list.assoc(default="", "stream_2_description", ini)
-s2_genre = list.assoc(default="", "stream_2_genre", ini)
-s2_name = list.assoc(default="", "stream_2_name", ini)
-s2_channels = list.assoc(default="", "stream_2_channels", ini)
-
-s3_encoding = list.assoc(default="", "stream_3_encoding", ini)
-s3_bitrate = int_of_string(list.assoc(default="", "stream_3_bitrate", ini))
-s3_host = list.assoc(default="", "stream_3_host", ini)
-s3_port = int_of_string(list.assoc(default="", "stream_3_port", ini))
-s3_user = list.assoc(default="", "stream_3_user", ini)
-s3_pass = list.assoc(default="", "stream_3_password", ini)
-s3_mount = list.assoc(default="", "stream_3_mountpoint", ini)
-s3_url = list.assoc(default="", "stream_3_displayurl", ini)
-s3_desc = list.assoc(default="", "stream_3_description", ini)
-s3_genre = list.assoc(default="", "stream_3_genre", ini)
-s3_name = list.assoc(default="", "stream_3_name", ini)
-s3_channels = list.assoc(default="", "stream_3_channels", ini)
-
-s4_encoding = list.assoc(default="", "stream_4_encoding", ini)
-s4_bitrate = int_of_string(list.assoc(default="", "stream_4_bitrate", ini))
-s4_host = list.assoc(default="", "stream_4_host", ini)
-s4_port = int_of_string(list.assoc(default="", "stream_4_port", ini))
-s4_user = list.assoc(default="", "stream_4_user", ini)
-s4_pass = list.assoc(default="", "stream_4_password", ini)
-s4_mount = list.assoc(default="", "stream_4_mountpoint", ini)
-s4_url = list.assoc(default="", "stream_4_displayurl", ini)
-s4_desc = list.assoc(default="", "stream_4_description", ini)
-s4_genre = list.assoc(default="", "stream_4_genre", ini)
-s4_name = list.assoc(default="", "stream_4_name", ini)
-s4_channels = list.assoc(default="", "stream_4_channels", ini)
-
-s0_connected = ref ''
-s1_connected = ref ''
-s2_connected = ref ''
-s3_connected = ref ''
-s4_connected = ref ''
-
-if s0_enable == true then
-    # enable connection status for that stream
-    server.register(namespace="out_http_0", "connected", fun (s) -> begin !s0_connected end)
-
-    # aaand stream
-    stream_to_icecast("out_http_0", s0_encoding, s0_bitrate, s0_host, s0_port, s0_pass, s0_mount, s0_url, s0_desc, s0_genre, s0_user, output_source, "0", s0_connected, s0_name, s0_channels)
-end
-
-if s1_enable == true then
-    server.register(namespace="out_http_1", "connected", fun (s) -> begin !s1_connected end)
-    stream_to_icecast("out_http_1", s1_encoding, s1_bitrate, s1_host, s1_port, s1_pass, s1_mount, s1_url, s1_desc, s1_genre, s1_user, output_source, "1", s1_connected, s1_name, s1_channels)
-end
-
-if s2_enable == true then
-    server.register(namespace="out_http_2", "connected", fun (s) -> begin !s2_connected end)
-    stream_to_icecast("out_http_2", s2_encoding, s2_bitrate, s2_host, s2_port, s2_pass, s2_mount, s2_url, s2_desc, s2_genre, s2_user, output_source, "2", s2_connected, s2_name, s2_channels)
-end
-
-if s3_enable == true then
-    server.register(namespace="out_http_3", "connected", fun (s) -> begin !s3_connected end)
-    stream_to_icecast("out_http_3", s3_encoding, s3_bitrate, s3_host, s3_port, s3_pass, s3_mount, s3_url, s3_desc, s3_genre, s3_user, output_source, "3", s3_connected, s3_name, s3_channels)
-end
-
-if s4_enable == true then
-    server.register(namespace="out_http_4", "connected", fun (s) -> begin !s4_connected end)
-    stream_to_icecast("out_http_4", s4_encoding, s4_bitrate, s4_host, s4_port, s4_pass, s4_mount, s4_url, s4_desc, s4_genre, s4_user, output_source, "4", s4_connected, s4_name, s4_channels)
-end
diff --git a/src/liquidsoap/outgoing_recordings/aac.liq b/src/liquidsoap/outgoing_recordings/aac.liq
deleted file mode 100644
index 428af918ae341d89d95bbbe41dfec2f8b3d26882..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_recordings/aac.liq
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 then 
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 24, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 24, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 32 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 32, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 32, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 48 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 48, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 48, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 64 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 64, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 64, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 96 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 96, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 96, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 128 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 128, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 128, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 160 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 160, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 160, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 192 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 192, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 192, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 224 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 224, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 224, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 256 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 256, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 256, channels = 1), filenamepattern, mean(!source)))
-#    end
-elsif bitrate == 320 then
-#    if stereo then
-        ignore(output_filesystem_stereo(%fdkaac(bitrate = 320, channels = 2), filenamepattern, !source))
-#    else
-#        ignore(output_filesystem_mono(%fdkaac(bitrate = 320, channels = 1), filenamepattern, mean(!source)))
-#    end
-end
-
diff --git a/src/liquidsoap/outgoing_recordings/flac.liq b/src/liquidsoap/outgoing_recordings/flac.liq
deleted file mode 100644
index ac497c7ef56dec596c48322085c07d08119257b9..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_recordings/flac.liq
+++ /dev/null
@@ -1,75 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 or bitrate == 32 or bitrate == 48 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 7, bits_per_sample=8), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 7, bits_per_sample=8), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 7, bits_per_sample=8), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 7, bits_per_sample=8), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 7, bits_per_sample=8), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 7, bits_per_sample=8), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 6, bits_per_sample=16), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 6, bits_per_sample=16), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 5, bits_per_sample=16), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 5, bits_per_sample=16), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 4, bits_per_sample=16), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 4, bits_per_sample=16), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 3, bits_per_sample=32), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 3, bits_per_sample=32), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 2, bits_per_sample=32), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 2, bits_per_sample=32), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_filesystem_stereo(%flac(samplerate=44100, channels = 2, compression = 1, bits_per_sample=32), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%flac(samplerate=44100, channels = 1, compression = 1, bits_per_sample=32), filenamepattern, mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_recordings/mp3.liq b/src/liquidsoap/outgoing_recordings/mp3.liq
deleted file mode 100644
index 3c315a0a0f6a087b2d647ade7e5fe8c07e5d1c41..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_recordings/mp3.liq
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 24, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 24, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 32 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 32, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 32, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 48 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 48, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 48, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 64, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 64, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 96, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 96, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 128, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 128, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 160, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 160, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 192, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 192, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 224, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 224, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 256, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 256, stereo = false), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_filesystem_stereo(%mp3(bitrate = 320, stereo = true), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%mp3(bitrate = 320, stereo = false), filenamepattern, mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_recordings/ogg.liq b/src/liquidsoap/outgoing_recordings/ogg.liq
deleted file mode 100644
index 2d39bb4ba70947a33cfa364a1771ea373c7fbf83..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_recordings/ogg.liq
+++ /dev/null
@@ -1,75 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 or bitrate == 32 or bitrate == 48 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=-0.1, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=-0.1, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.2, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.2, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.4, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.4, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.5, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.5, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.6, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.6, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.7, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.7, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.8, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.8, channels = 1), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_filesystem_stereo(%vorbis(quality=0.9, channels = 2), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%vorbis(quality=0.9, channels = 1), filenamepattern, mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_recordings/opus.liq b/src/liquidsoap/outgoing_recordings/opus.liq
deleted file mode 100644
index 799e8d1f0c45fa2f733bae5ace3dead73610daee..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_recordings/opus.liq
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 then 
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 24, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 24, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 32 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 32, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 32, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 48 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 48, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 48, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 64, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 64, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 96, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 96, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 128, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 128, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 160, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 160, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 192, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 192, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 224, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 224, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 256, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 256, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_filesystem_stereo(%opus(bitrate = 320, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%opus(bitrate = 320, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), filenamepattern, mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_recordings/wav.liq b/src/liquidsoap/outgoing_recordings/wav.liq
deleted file mode 100644
index 39e86002fb5d9b3361a714b924eed137d49da614..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_recordings/wav.liq
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate <= 128 then
-    if stereo then
-        ignore(output_filesystem_stereo(%wav(stereo=true, channels=2, samplesize=8, header=true, duration=30.), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%wav(stereo=false, channels=1, samplesize=8, header=true, duration=30.), filenamepattern, mean(!source)))
-    end
-else
-    if stereo then
-        ignore(output_filesystem_stereo(%wav(stereo=true, channels=2, samplesize=16, header=true, duration=30.), filenamepattern, !source))
-    else
-        ignore(output_filesystem_mono(%wav(stereo=false, channels=1, samplesize=16, header=true, duration=30.), filenamepattern, mean(!source)))
-    end
-end
\ No newline at end of file
diff --git a/src/liquidsoap/outgoing_streams/aac.liq b/src/liquidsoap/outgoing_streams/aac.liq
deleted file mode 100644
index 20df42397b0d8761a9a767ac9ab9b64065c2b2d4..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_streams/aac.liq
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 then 
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 24, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 24, channels = 1), mean(!source)))
-    end
-elsif bitrate == 32 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 32, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 32, channels = 1), mean(!source)))
-    end
-elsif bitrate == 48 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 48, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 48, channels = 1), mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 64, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 64, channels = 1), mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 96, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 96, channels = 1), mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 128, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 128, channels = 1), mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 160, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 160, channels = 1), mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 192, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 192, channels = 1), mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 224, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 224, channels = 1), mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 256, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 256, channels = 1), mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_icecast_stereo(%aac(bitrate = 320, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%aac(bitrate = 320, channels = 1), mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_streams/flac.liq b/src/liquidsoap/outgoing_streams/flac.liq
deleted file mode 100644
index 2ddd248d887dd427bad4d9d29425d9c70b80d113..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_streams/flac.liq
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if not icecast_vorbis_metadata then
-    source := add(normalize=false, [amplify(0.00001, noise()), !source])
-end
-
-if bitrate == 24 or bitrate == 32 or bitrate == 48 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 7, bits_per_sample=8), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 7, bits_per_sample=8), mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 7, bits_per_sample=8), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 7, bits_per_sample=8), mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 7, bits_per_sample=8), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 7, bits_per_sample=8), mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 6, bits_per_sample=16), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 6, bits_per_sample=16), mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 5, bits_per_sample=16), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 5, bits_per_sample=16), mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 4, bits_per_sample=16), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 4, bits_per_sample=16), mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 3, bits_per_sample=32), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 3, bits_per_sample=32), mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 2, bits_per_sample=32), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 2, bits_per_sample=32), mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_icecast_stereo(%flac(samplerate=44100, channels = 2, compression = 1, bits_per_sample=32), !source))
-    else
-        ignore(output_icecast_mono(%flac(samplerate=44100, channels = 1, compression = 1, bits_per_sample=32), mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_streams/mp3.liq b/src/liquidsoap/outgoing_streams/mp3.liq
deleted file mode 100644
index 70218feb23b94ce3dd6bf6615353864656e5e96a..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_streams/mp3.liq
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 24, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 24, stereo = false), mean(!source)))
-    end
-elsif bitrate == 32 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 32, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 32, stereo = false), mean(!source)))
-    end
-elsif bitrate == 48 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 48, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 48, stereo = false), mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 64, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 64, stereo = false), mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 96, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 96, stereo = false), mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 128, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 128, stereo = false), mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 160, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 160, stereo = false), mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 192, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 192, stereo = false), mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 224, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 224, stereo = false), mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 256, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 256, stereo = false), mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_icecast_stereo(%mp3(bitrate = 320, stereo = true), !source))
-    else
-        ignore(output_icecast_mono(%mp3(bitrate = 320, stereo = false), mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_streams/ogg.liq b/src/liquidsoap/outgoing_streams/ogg.liq
deleted file mode 100644
index a8a6e624ef82c7c7be5018b2482ebe5014c2c948..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_streams/ogg.liq
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if not icecast_vorbis_metadata then
-    source := add(normalize=false, [amplify(0.00001, noise()), !source])
-end
-
-if bitrate == 24 or bitrate == 32 or bitrate == 48 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=-0.1, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=-0.1, channels = 1), mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0, channels = 1), mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.2, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.2, channels = 1), mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.4, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.4, channels = 1), mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.5, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.5, channels = 1), mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.6, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.6, channels = 1), mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.7, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.7, channels = 1), mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.8, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.8, channels = 1), mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_icecast_stereo(%vorbis(quality=0.9, channels = 2), !source))
-    else
-        ignore(output_icecast_mono(%vorbis(quality=0.9, channels = 1), mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/outgoing_streams/opus.liq b/src/liquidsoap/outgoing_streams/opus.liq
deleted file mode 100644
index 0787671dc43701d10507f6e3ed1c114ad5907877..0000000000000000000000000000000000000000
--- a/src/liquidsoap/outgoing_streams/opus.liq
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-if bitrate == 24 then 
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 24, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 24, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 32 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 32, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 32, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 48 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 48, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 48, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 64 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 64, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 64, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 96 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 96, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 96, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 128 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 128, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 128, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 160 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 160, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 160, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 192 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 192, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 192, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 224 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 224, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 224, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 256 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 256, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 256, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-elsif bitrate == 320 then
-    if stereo then
-        ignore(output_icecast_stereo(%opus(bitrate = 320, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
-    else
-        ignore(output_icecast_mono(%opus(bitrate = 320, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
-    end
-end
-
diff --git a/src/liquidsoap/readini.liq b/src/liquidsoap/readini.liq
deleted file mode 100644
index 757116e058365fa6a6c117c9f4fc3d2d4f6f1c0d..0000000000000000000000000000000000000000
--- a/src/liquidsoap/readini.liq
+++ /dev/null
@@ -1,149 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-#################
-# Read INI File #
-#################
-
-
-
-debug = false
-
-def read_ini(file)
-  # read ini file
-  settings_file_content = get_process_lines("cat "^file )
-  # one entry stored as ["setting_name", "setting"]
-  settings_map = list.map(string.split(separator="="), settings_file_content)
-
-  def filter_pair(setting_pair) =
-    if debug then
-      print(" +++ IN FILTER_PAIR +++")
-    end
-
-    # get head of settings_pair
-    setting_name = list.hd(default="", setting_pair)
-    if debug then
-      print(" -- setting_name:")
-      print(setting_name)
-    end
-
-    # settings in ini are with '"', so read them with high comma
-    setting_unfiltered = list.nth(default="", setting_pair, 1)
-    if debug then
-      print(" -- setting_unfiltered:")
-      print(setting_unfiltered)
-    end
-
-    # filter high comma out. why the hell comes an array ["1", setting] returned?
-    # the filter patterns are perl regex
-    setting = string.extract(pattern='"(.*)"', setting_unfiltered)
-    if debug then
-      print(" -- setting ( after string.extract):")
-      print(setting['1'])
-    end
-
-    filtered_pair = [(setting_name, setting['1'])]
-    if debug then
-      print(" -- filter_pair returning: --")
-      print(filtered_pair)
-    end
-
-    # return filtered_pair
-    filtered_pair
-  end
-
-  def filter_map(filled_list, next_element) =
-#    if debug then
-#      print(" +++ IN FILTER_MAP +++")
-#      print(" .. length of filled_list: ")
-#      print(list.length(filled_list))
-#      print(" .. next_element")
-#      print(next_element)
-#    end
-
-    # the normal case: settingname and its setting
-    if list.length(next_element) >= 2 then
-      if debug then
-        print(" ===> LENGTH list to insert in settings_list is equal TWO! <===")
-        print(" -- next_element")
-        print(next_element)
-      end
-
-      setting_pair = filter_pair(next_element)
-
-      # add settings_pair to liquidsoap list
-      #list.add(setting_pair, filled_list)
-      list.append(setting_pair, filled_list)
-    else
-      if list.length(next_element) >= 1 then
-        if debug then
-          print(" ===> LENGTH of list to insert in settings_list is equal ONE! <===")
-          print(" -- next_element")
-          print(next_element)
-        end
-
-        #
-        list.append([(list.hd(default="",next_element), "")], filled_list)
-      else
-
-        if debug then
-          print(" ===> LENGTH of list to insert in settings_list is greater then two or less than one <===")
-          print(" -- next_element")
-          print(next_element)
-        end
-
-        # return the list as is
-        filled_list
-      end
-    end
-  end
-
-  # get install dir
-  pwd = get_process_lines("pwd") # returns an array
-  absolute_path = list.hd(default="", pwd) # grabs head of array (pwd only returns one line which is our desired result)
-  install_dir = '"' ^ path.dirname(path.dirname(absolute_path)) ^ '"' # pre and append " for filter_pair function. otherwise this setting would be lost through regex and fold function below would be imho much more difficult to read
-
-  # add installdir to the loaded settings from ini file
-  #settings_map = list.add(["install_dir", install_dir], settings_map)
-
-  # list.fold param description:
-  # f(a,b,c)
-  # a) a function which is fold
-  # b) the list which is to be filled (optional with already containing elements)
-  # c) from this list every element is taken, function applied and inserted into b
-
-  # fold function without pre and appended "
-  settings = list.fold(filter_map, [("install_dir", install_dir)], settings_map)
-
-  #settings = list.fold(filter_map, [], settings_map)
-
-  if debug then
-    print(settings)
-  end
-
-  settings
-end
-
-if debug then
-    ini = read_ini("/etc/aura/engine.ini")
-    print(ini)
-
-    print(list.assoc(default="", "install_dir", ini))
-end
diff --git a/src/liquidsoap/serverfunctions.liq b/src/liquidsoap/serverfunctions.liq
deleted file mode 100644
index 73e51d6599558bfb62648113cde7cf7c35a46e95..0000000000000000000000000000000000000000
--- a/src/liquidsoap/serverfunctions.liq
+++ /dev/null
@@ -1,235 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-
-def icy_update(v) =
-
-  # Parse the argument
-  l = string.split(separator=",",v)
-  def split(l,v) =
-    v = string.split(separator="=",v)
-    if list.length(v) >= 2 then
-      list.append(l,[(list.nth(v,0,default=""),list.nth(v,1,default=""))])
-    else
-      l
-    end
-  end
-  meta = list.fold(split,[],l)
-
-  # Update metadata 
-  if s0_enable == true then
-    icy.update_metadata(
-        mount=s0_mount,
-        user=s0_user,
-        password=s0_pass,
-        host=s0_host,
-        port=s0_port,
-        meta
-        )
-  end
-
-  if s1_enable == true then
-    icy.update_metadata(
-        mount=s1_mount,
-        user=s1_user,
-        password=s1_pass,
-        host=s1_host,
-        port=s1_port,
-        meta
-        )
-  end
-
-  if s2_enable == true then
-    icy.update_metadata(
-        mount=s2_mount,
-        user=s2_user,
-        password=s2_pass,
-        host=s2_host,
-        port=s2_port,
-        meta
-        )
-  end
-
-  if s3_enable == true then
-    icy.update_metadata(
-        mount=s3_mount,
-        user=s3_user,
-        password=s3_pass,
-        host=s3_host,
-        port=s3_port,
-        meta
-        )
-  end
-
-  if s4_enable == true then
-    icy.update_metadata(
-        mount=s4_mount,
-        user=s4_user,
-        password=s4_pass,
-        host=s4_host,
-        port=s4_port,
-        meta
-        )
-  end
-
-  "Done!"
-end
-
-server.register("update", namespace="metadata",
-                 description="Update metadata",
-                 usage="update title=foo,album=bar, ...",
-                 icy_update)
-
-
-# shutdown server function
-#server.register(namespace='server',
-#    description="shutdown server",
-#    usage="stop",
-#    "stop",
-#    fun(x,y) -> shutdown )
-
-
-
-#
-# to reduce complexity of lqs => query 'mixer.inputs' over socket and parse it in python
-#server.register(namespace="auraengine",
-#    "enabled_lineins",
-#    fun (s) -> begin
-#        log("auraengine.enabled_lineins")
-#        "0:#{!linein_0_enabled}, 1:#{!linein_1_enabled}, 2:#{!linein_2_enabled}, 3:#{!linein_3_enabled}, 4:#{!linein_4_enabled}"
-#    end
-#)
-
-#server.register(namespace="auraengine",
-#    "enabled_lineouts",
-#    fun(s) -> begin
-#        log("auraengine.enabled_lineouts")
-#        "0:#{!lineout_0_enabled}, 1:#{!lineout_1_enabled}, 2:#{!lineout_2_enabled}, 3:#{!lineout_3_enabled}, 4:#{!lineout_4_enabled}"
-#    end
-#)
-
-# are outgoing streams connected?
-server.register(namespace="auraengine",
-    description="returns if outgoing streams are connected",
-    usage="out_streams_connected",
-    "out_streams_connected",
-    fun (s) -> begin
-        log("streams.connection_status")
-        "0:#{!s0_connected}, 1:#{!s1_connected}, 2:#{!s2_connected}, 3:#{!s3_connected}, 4:#{!s4_connected}"
-    end
-)
-
-# return a state of the inputs/outputs of the soundserver as JSON
-server.register(namespace = "auraengine",
-    description="returns enabled lineouts/lineins, connected outgoing streams, and recorder. Also returns fallbacksettings.",
-    usage="state",
-    "state",
-    fun(s) -> begin
-        log("auraengine.state")
-
-        ret = '{'
-        ret = ret^'"streams": {'
-        ret = ret^'"stream_0": {"enabled": #{s0_enable}, "connected": #{!s0_connected}},'
-        ret = ret^'"stream_1": {"enabled": #{s1_enable}, "connected": #{!s1_connected}},'
-        ret = ret^'"stream_2": {"enabled": #{s2_enable}, "connected": #{!s2_connected}},'
-        ret = ret^'"stream_3": {"enabled": #{s3_enable}, "connected": #{!s3_connected}},'
-        ret = ret^'"stream_4": {"enabled": #{s4_enable}, "connected": #{!s4_connected}}'
-        ret = ret^'},'
-        ret = ret^'"linein": {'
-        ret = ret^'"linein_0": {"enabled": #{a0_in != ""}},'
-        ret = ret^'"linein_1": {"enabled": #{a1_in != ""}},'
-        ret = ret^'"linein_2": {"enabled": #{a2_in != ""}},'
-        ret = ret^'"linein_3": {"enabled": #{a3_in != ""}},'
-        ret = ret^'"linein_4": {"enabled": #{a4_in != ""}}'
-        ret = ret^'},'
-        ret = ret^'"lineout": {'
-        ret = ret^'"lineout_0": {"enabled": #{a0_out != ""}},'
-        ret = ret^'"lineout_1": {"enabled": #{a1_out != ""}},'
-        ret = ret^'"lineout_2": {"enabled": #{a2_out != ""}},'
-        ret = ret^'"lineout_3": {"enabled": #{a3_out != ""}},'
-        ret = ret^'"lineout_4": {"enabled": #{a4_out != ""}}'
-        ret = ret^'}'
-        ret = ret^'}'
-        ret
-
-        # outgoing streams enabled?
-        #ret = "stream_0_enabled:#{!s0_enable}, stream_1_enabled:#{!s1_enable}, stream_2_enabled:#{!s2_enable}, stream_3_enabled:#{!s3_enable}, stream_4_enabled:#{!s4_enable}, "       
-        #ret = ret^"linein_0_enabled:#{a0_in != ''}, linein_1_enabled:#{a1_in != ''}, linein_2_enabled:#{a2_in != ''}, linein_3_enabled:#{a3_in != ''}, linein_4_enabled:#{a4_in != ''}, "
-        #ret = ret^"lineout_0_enabled:#{a0_out != ''}, lineout_1_enabled:#{a1_out != ''}, lineout_2_enabled:#{a2_out != ''}, lineout_3_enabled:#{a3_out != ''}, lineout_4_enabled:#{a4_out != ''}, "
-        #ret = ret^"fallback_max_blank:#{fallback_max_blank}, fallback_min_noise:#{fallback_min_noise}, fallback_threshold:#{fallback_threshold}"
-
-    end
-)
-
-
-def fadeTo(source_number) =
-    if source_number == "" then
-        print(source_number)
-        "Usage: mixer.fadeto <source nb> #{source_number}"
-    else
-        r = server.execute("mixer.select #{source_number} true")
-        print(r)
-        "Donee!"
-    end
-end
-
-# enable fadeTo for the mixer
-server.register(namespace = "mixer",
-    description = "is fading from one mixer input to another",
-    usage = "fadeto <source number>",
-    "fadeto",
-    fadeTo
-)
-
-ignore(fade_in_time)
-ignore(fade_out_time)
-
-
-# Activate a source by selecting it and setting the volume to 100 (or vice versa)
-
-def activate(p) =
-    params=string.split(separator=" ", p) 
-    if list.length(params) < 2 then
-        print(p)
-        "Usage: mixer.activate <source nb> <true|false>"
-    else
-        source_number = list.nth(default="0", params, 0)
-        source_enable = list.nth(default="false", params, 1)
-
-        if source_enable == "true" then
-            r = server.execute("mixer.select #{source_number} true")
-            print(r)
-            r = server.execute("mixer.volume #{source_number} 100")
-            print(r)
-        else
-            r = server.execute("mixer.volume #{source_number} 0")
-            print(r)
-            r = server.execute("mixer.select #{source_number} false")
-            print(r)
-        end
-        "Done!"
-    end
-end
-
-server.register(namespace = "mixer",
-    description = "is selecting a source and setting the volume to 100",
-    usage = "activate <source nb> <true|false>",
-    "activate",
-    activate
-)
diff --git a/src/liquidsoap/settings.liq b/src/liquidsoap/settings.liq
deleted file mode 100644
index eff5ac42fcacabd200c79adbc213d7e9711933c8..0000000000000000000000000000000000000000
--- a/src/liquidsoap/settings.liq
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-# Aura Engine (https://gitlab.servus.at/aura/engine)
-#
-# Copyright (C) 2017-2020 - The Aura Engine Team.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# READ INI FILE
-%include "readini.liq"
-default_config = "../../config/engine.ini"
-config = list.hd(default=default_config, get_process_lines("ls /etc/aura/engine.ini"))
-log("Config file used: #{config}")
-ini = read_ini(config)
-engine_config_folder = string.split(separator="/engine.ini", config)
-engine_config_folder = list.nth(default="../../config/", engine_config_folder, 0)
-
-# ALLOW LIQUIDSOAP RUN AS ROOT
-lqs_allow_root = list.assoc(default="false", "liquidsoap_as_root", ini)
-if lqs_allow_root == "true" then
-    set("init.allow_root", true)
-end
-
-# BASICS
-set("console.colorize","always")
-
-# TELNET SETTINGS
-set("server.telnet", true)
-set("server.telnet.bind_addr", "0.0.0.0")
-set("server.telnet.port", 1234)
-
-# LOG FILE SETTINGS
-log_dir = list.assoc(default="", "logdir", ini)
-set("log.file.path", "#{log_dir}/engine-lqs.log")
-
-# SOCKET SETTINGS
-set("server.socket", true)
-set("server.socket.path", "./<script>.sock")
-
-#set("request.grace_time",2.)
-
-# SOUND CARD SETTINGS
-#print(ini)
-#a0_in = ini['input_device_0'][0]
-a0_in = list.assoc(default="", "input_device_0", ini)
-a1_in = list.assoc(default="", "input_device_1", ini)
-a2_in = list.assoc(default="", "input_device_2", ini)
-a3_in = list.assoc(default="", "input_device_3", ini)
-a4_in = list.assoc(default="", "input_device_4", ini)
-a0_out = list.assoc(default="", "output_device_0", ini)
-a1_out = list.assoc(default="", "output_device_1", ini)
-a2_out = list.assoc(default="", "output_device_2", ini)
-a3_out = list.assoc(default="", "output_device_3", ini)
-a4_out = list.assoc(default="", "output_device_4", ini)
-
-input_stream_buffer = float_of_string(list.assoc(default="3.0", "input_stream_buffer", ini))
-
-# AUDIO AND PLAYLIST SOURCES
-audio_playlist_folder = "#{engine_config_folder}/playlists"
-audio_playlist_folder = list.assoc(default=audio_playlist_folder, "audio_playlist_folder", ini)
-
-# FALLBACK SETTINGS
-fallback_station_playlist_name = "station-fallback-playlist.m3u"
-fallback_station_playlist_name = list.assoc(default=fallback_station_playlist_name, "fallback_music_playlist", ini)
-fallback_station_playlist_path = "#{audio_playlist_folder}/#{fallback_station_playlist_name}"
-
-fallback_station_dir = list.assoc(default="/var/audio/station", "fallback_music_folder", ini)
-fallback_station_dir_reload = int_of_string(list.assoc(default="300", "fallback_music_folder_reload", ini))
-fallback_max_blank = float_of_string(list.assoc(default="", "fallback_max_blank", ini))
-fallback_min_noise = float_of_string(list.assoc(default="", "fallback_min_noise", ini))
-fallback_threshold = float_of_string(list.assoc(default="", "fallback_threshold", ini))
-
-# FADING SETTINGS
-fade_in_time = list.assoc(default="", "fade_in_time", ini) #int_of_string(list.assoc(default="", "fade_in_time", ini))
-fade_out_time = list.assoc(default="", "fade_out_time", ini) #int_of_string(list.assoc(default="", "fade_out_time", ini))
-
-# ALSA / pulse settings
-soundsystem = list.assoc(default="", "soundsystem", ini)
-use_alsa    = soundsystem == "alsa"
-use_jack    = soundsystem == "jack"
-
-if use_alsa then
-    frame_duration     = float_of_string(list.assoc(default="", "frame_duration", ini))
-    frame_size         = int_of_string(list.assoc(default="", "frame_size", ini))
-    alsa_buffer        = int_of_string(list.assoc(default="", "alsa_buffer", ini))
-    alsa_buffer_length = int_of_string(list.assoc(default="", "alsa_buffer_length", ini))
-    alsa_periods       = int_of_string(list.assoc(default="", "alsa_periods", ini))
-
-    if frame_duration > 0.0 then
-        print("setting frame.duration to #{frame_duration}s")
-        set("frame.duration", frame_duration)
-    end
-    if frame_size > 0 then
-        print("setting frame.size to #{frame_size}")
-        set("frame.audio.size", frame_size)
-    end
-    if alsa_buffer > 0 then
-        print("setting alsa.buffer to #{alsa_buffer}")
-        set("alsa.alsa_buffer", alsa_buffer)
-    end
-    if alsa_buffer > 0 then
-        print("setting alsa.buffer_length to #{alsa_buffer_length}")
-        set("alsa.buffer_length", alsa_buffer_length)
-    end
-    if alsa_periods > 0 then
-        print("setting alsa.periods to #{alsa_periods}")
-        set("alsa.periods", alsa_periods) # assertion error when setting periods other than 0 => alsa default
-    end
-end
-
-print("**************************************************************************************")
-print("     AURA ENGINE - LIQUIDSOAP SETTINGS                                                ")
-print("**************************************************************************************")
-print(" Engine Configuration Folder: #{engine_config_folder}")
-print(" Station Fallback Playlist: #{fallback_station_playlist_path}")
-print(" Station Fallback Directory: #{fallback_station_dir}")
-print("**************************************************************************************")
diff --git a/tests/content/License.md b/tests/content/License.md
deleted file mode 100644
index 06e0520a972618c15f08d1e1365ad247968b79e9..0000000000000000000000000000000000000000
--- a/tests/content/License.md
+++ /dev/null
@@ -1,4 +0,0 @@
-File:    ernie_mayne_sugar.mp3
-Title:   Sugar, Performed by Ernie Mayne
-License: Public Domain 
-Source:  http://www.digitalhistory.uh.edu/music/music.cfm
\ No newline at end of file
diff --git a/tests/content/ernie_mayne_sugar.mp3 b/tests/content/ernie_mayne_sugar.mp3
deleted file mode 100644
index 18e64df55b783810a6b6a10466c8026c5bbdee67..0000000000000000000000000000000000000000
Binary files a/tests/content/ernie_mayne_sugar.mp3 and /dev/null differ
diff --git a/tests/liquidsoap/test_alsa_mixer.liq b/tests/liquidsoap/test_alsa_mixer.liq
deleted file mode 100644
index 8a913448302bfc6dbbca75984b0f420a7228ae69..0000000000000000000000000000000000000000
--- a/tests/liquidsoap/test_alsa_mixer.liq
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-#  engine
-#
-#  Playout Daemon for autoradio project
-#
-#
-#  Copyright (C) 2017-2018 Gottfried Gaisbauer <gottfried.gaisbauer@servus.at>
-#
-#  This file is part of engine.
-#
-#  engine is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation, either version 3 of the License, or
-#  any later version.
-#
-#  engine is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with engine. If not, see <http://www.gnu.org/licenses/>.
-#
-
-set("log.file.path", "./<script>.log")
-
-set("server.telnet", true)
-set("server.telnet.bind_addr", "0.0.0.0")
-set("server.telnet.port", 1234)
-
-# ALSA / pulse settings
-# durch ausprobieren herausgefunden für asus xonar dgx 5.1
-# chip: CMI8788
-# driver: snd_oxygen
-
-set("frame.duration", 0.30)
-set("alsa.alsa_buffer", 8192) # 7168) # 6144) # 8192) # 10240) #15876
-set("alsa.buffer_length", 25)
-set("alsa.periods", 0) # assertion error when setting periods other than 0 => alsa default
-
-input_linein = input.alsa(id="linein", bufferize = false)
-#input_fs = single(id="fs", "/var/audio/fallback/output.flac")
-#input_http = input.http(id="http", "http://stream.fro.at/fro-128.ogg")
-
-#mixer = mix(id="mixer", [input_fs, input_http, input_linein])
-
-#output.alsa(id="lineout", bufferize = false, mixer)
-
diff --git a/tests/liquidsoap/test_alsa_settings.liq b/tests/liquidsoap/test_alsa_settings.liq
deleted file mode 100644
index f1a4490728962206820c7796ccb13d19cdea12e6..0000000000000000000000000000000000000000
--- a/tests/liquidsoap/test_alsa_settings.liq
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-#  engine
-#
-#  Playout Daemon for autoradio project
-#
-#
-#  Copyright (C) 2017-2018 David Trattnig <david@subsquare.at>
-#
-#  This file is part of engine.
-#
-#  engine is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation, either version 3 of the License, or
-#  any later version.
-#
-#  engine is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with engine. If not, see <http://www.gnu.org/licenses/>.
-#
-
-set("log.file.path", "./<script>.log")
-
-set("server.telnet", true)
-set("server.telnet.bind_addr", "0.0.0.0")
-set("server.telnet.port", 1234)
-
-set("frame.duration", 0.30)
-set("alsa.alsa_buffer", 8192)
-set("alsa.buffer_length", 25)
-set("alsa.periods", 0) # assertion error when setting periods other than 0 => alsa default
-
-#input_linein = input.alsa(id="linein", bufferize = false)
-
-audio1 = single(id="fs1", "./sources/1.flac")
-audio2 = single(id="fs2", "./sources/2.flac")
-
-#input_http = input.http(id="http", "http://stream.fro.at/fro-128.ogg")
-
-#mixer = mix(id="mixer", [audio1, audio2])
-#mixer = mix(id="mixer", [input_fs, input_http, input_linein])
-
-mixed = add([audio1, audio2])
-output.alsa(id="lineout", bufferize = false, mixed)
-
diff --git a/tests/liquidsoap/test_icecast_output.liq b/tests/liquidsoap/test_icecast_output.liq
deleted file mode 100644
index 04c9a0da82f3e5bf2eb9ca6ae6d0e753a7c48d32..0000000000000000000000000000000000000000
--- a/tests/liquidsoap/test_icecast_output.liq
+++ /dev/null
@@ -1,24 +0,0 @@
-set("log.file.path", "./<script>.log")
-
-#%include "readini.liq"
-#ini = read_ini("/etc/aura/engine.ini")
-
-# output_source = mksafe(blank())
-
-# %include "stream.liq"
-
-# stream = get_stream(0)
-
-# output_stream = input.external("arecord -f S16_LE -c2 -r44100 -t raw -D dsnoop:1,0 -")
-
-output.icecast(
-  %vorbis(quality = 0.5),
-  mount="aura-test.ogg",
-  host="develop.servus.at",
-  port=8000,
-  name="LQSTest",
-  user="source",
-  password="A7E7tst1",
-  fallible=true,
-  input.alsa(device="pcm.plugj")
-)