Skip to content
Snippets Groups Projects
Commit 09455ccf authored by Bob Mottram's avatar Bob Mottram
Browse files

Update radio script

parent e09dea91
No related branches found
No related tags found
No related merge requests found
......@@ -130,6 +130,7 @@ USB_MOUNT=/mnt/usb
ICECAST_PORT=8005
ICECAST_DIR=/icestream
ICECAST_JINGLES=/jingles
liquidsoap_script=/etc/liquidsoapuser/radio.liq
function backup_mount_drive {
backup_drive_mounted=
......@@ -1750,16 +1751,19 @@ function update_icecast {
ICECAST_SOURCE_PASSWORD=$("${PROJECT_NAME}-pass" -u "$MY_USERNAME" -a icecastsource)
ICECAST_USER_PASSWORD=$("${PROJECT_NAME}-pass" -u "$MY_USERNAME" -a icecastuser)
ICECAST_TITLE_MAIN="$ICECAST_DESCRIPTION"
{ echo '#Settings';
echo '';
echo 'set("log.file.path", "/dev/null")';
echo 'set("server.telnet", false)';
echo 'set("harbor.bind_addr","0.0.0.0")';
echo '';
echo '# Music playlists';
echo "music1 = nrj(playlist(\"$ICECAST_DIR\"))";
echo "music1 = nrj(playlist.safe(\"$ICECAST_DIR\"))";
echo '';
echo '# Some jingles';
echo "jingles = nrj(playlist(\"$ICECAST_JINGLES\"))";
echo "jingles = nrj(playlist.safe(\"$ICECAST_JINGLES\"))";
echo '';
echo '# If something goes wrong, well play this';
echo 'security = single("/etc/icecast2/default.ogg")';
......@@ -1774,40 +1778,40 @@ function update_icecast {
echo 'radio = random(weights = [1, 7], [jingles, radio])';
echo '';
echo '# Add a skip command for the music stream';
echo 'server.register(';
echo 'usage="skip",';
echo 'description="Skip the current song.",';
echo '"skip",';
echo 'fun(_) -> begin source.skip(radio) "Done!" end';
echo '#server.register(';
echo '#usage="skip",';
echo '#description="Skip the current song.",';
echo '#"skip",';
echo '#fun(_) -> begin source.skip(radio) "Done!" end';
echo '';
echo '# Talk over stream using microphone mount.';
echo "mic = input.harbor(\"mic\",port=8080,password=\"$ICECAST_USER_PASSWORD\",buffer=1.0)";
echo "mic = input.harbor(\"mic\",port=8080,password=\"$ICECAST_USER_PASSWORD\",buffer=15.0,max=30.0)";
echo 'radio = smooth_add(delay=0.8, p=0.15, normal=radio, special=mic)';
echo '';
echo '#Add support for live streams.';
echo "live = audio_to_stereo(input.harbor(\"live\", port=8080, password=\"$ICECAST_USER_PASSWORD\", buffer=1.0))";
echo "live = audio_to_stereo(input.harbor(\"live\", port=8080, password=\"$ICECAST_USER_PASSWORD\", buffer=15.0, max=30.0))";
echo 'full = fallback(track_sensitive=false, [live,radio])';
echo '';
echo '# Stream it out';
echo 'output.icecast(%mp3.vbr,';
echo "host = \"localhost\", port = $ICECAST_PORT, password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"music.mp3\", name=\"$ICECAST_TITLE\", description=\"$ICECAST_DESCRIPTION\",radio)";
echo '#output.icecast(%mp3.vbr,';
echo "#host = \"localhost\", port = $ICECAST_PORT, password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"music.mp3\", name=\"$ICECAST_TITLE\", description=\"$ICECAST_DESCRIPTION\",radio)";
echo '';
echo 'output.icecast(%vorbis,';
echo "host = \"localhost\", port = $ICECAST_PORT,";
echo "password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"music.ogg\",";
echo "name=\"$ICECAST_TITLE\", description=\"$ICECAST_DESCRIPTION\",radio)";
echo '#output.icecast(%vorbis,';
echo "#host = \"localhost\", port = $ICECAST_PORT,";
echo "#password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"music.ogg\",";
echo "#name=\"$ICECAST_TITLE\", description=\"$ICECAST_DESCRIPTION\",radio)";
echo '';
echo 'output.icecast(%opus(vbr="unconstrained",bitrate=60),';
echo "host = \"localhost\", port = $ICECAST_PORT,";
echo "password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"music.opus\",";
echo "name=\"$ICECAST_TITLE\", description=\"$ICECAST_DESCRIPTION\",radio)";
echo '#output.icecast(%opus(vbr="unconstrained",bitrate=5),';
echo "#host = \"localhost\", port = $ICECAST_PORT,";
echo "#password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"music.opus\",";
echo "#name=\"$ICECAST_TITLE\", description=\"$ICECAST_DESCRIPTION\",radio)";
echo '';
echo "output.icecast(%mp3.vbr, host = \"localhost\", port = $ICECAST_PORT, password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"stream.mp3\", name=\"$ICECAST_TITLE_MAIN\", description=\"$ICECAST_TITLE_MAIN\", full)";
echo "#output.icecast(%mp3.vbr, host = \"localhost\", port = $ICECAST_PORT, password = \"$ICECAST_SOURCE_PASSWORD\", mount = \"stream.mp3\", name=\"$ICECAST_TITLE_MAIN\", description=\"$ICECAST_TITLE_MAIN\", full)";
echo '';
echo "output.icecast(%vorbis, host=\"localhost\", port=$ICECAST_PORT, password=\"$ICECAST_SOURCE_PASSWORD\", mount=\"stream.ogg\", name=\"$ICECAST_TITLE_MAIN\", description=\"$ICECAST_TITLE_MAIN\",full)";
echo "#output.icecast(%vorbis(samplerate=8000, channels=2, quality=0.1), host=\"localhost\", port=$ICECAST_PORT, password=\"$ICECAST_SOURCE_PASSWORD\", mount=\"stream.ogg\", name=\"$ICECAST_TITLE_MAIN\", description=\"$ICECAST_TITLE_MAIN\",full)";
echo '';
echo "output.icecast(%opus(vbr=\"unconstrained\",bitrate=60), description=\"$ICECAST_TITLE_MAIN\", host=\"localhost\", port=$ICECAST_PORT, password=\"$ICECAST_SOURCE_PASSWORD\", mount=\"stream.opus\", full)"; } > /etc/icecast2/radio.liq
chown icecast2:icecast /etc/icecast2/radio.liq
echo "output.icecast(%opus(vbr=\"unconstrained\",bitrate=20), description=\"$ICECAST_TITLE_MAIN\", host=\"localhost\", port=$ICECAST_PORT, password=\"$ICECAST_SOURCE_PASSWORD\", mount=\"stream.opus\", full)"; } > "$liquidsoap_script"
chown icecast2:icecast "$liquidsoap_script"
sed -i "s|\"icecast_name\".*|\"icecast_name\" value=\"$ICECAST_TITLE\">|g" "$webadmin_install_dir/settings_icecast.html"
sed -i "s|\"icecast_description\".*|\"icecast_description\" value=\"$ICECAST_DESCRIPTION\">|g" "$webadmin_install_dir/settings_icecast.html"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment