From 8484c4ea463da1480de0301a49cc83cfd88c9df2 Mon Sep 17 00:00:00 2001 From: David Trattnig <david.trattnig@o94.at> Date: Thu, 17 Dec 2020 12:51:34 +0100 Subject: [PATCH] Consolidation of fallback playlist and folder. #66 --- Dockerfile | 2 ++ config/sample-development.engine.ini | 8 ++++---- config/sample-docker.engine.ini | 8 ++++---- config/sample-production.engine.ini | 8 ++++---- docs/installation-development.md | 7 ++++--- docs/installation-production.md | 5 +++-- docs/setup-audio-store.md | 4 ++-- run.sh | 2 ++ src/liquidsoap/settings.liq | 10 ++++++++-- 9 files changed, 33 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index 14a3f653..a6d7e29a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,8 @@ RUN whoami RUN mkdir -p /srv RUN mkdir -p /var/audio RUN mkdir -p /var/audio/source +RUN mkdir -p /var/audio/station +RUN mkdir -p /var/audio/playlist COPY . /srv WORKDIR /srv RUN pip3 install -r requirements.txt diff --git a/config/sample-development.engine.ini b/config/sample-development.engine.ini index 919cc076..247ef977 100644 --- a/config/sample-development.engine.ini +++ b/config/sample-development.engine.ini @@ -132,9 +132,9 @@ daemonuser="engineuser" socketdir="/home/username/code/aura/engine/src/liquidsoap" [audiosources] -audio_source_folder="var/audio/source" +audio_source_folder="/var/audio/source" audio_source_extension=".flac" -audio_playlist_folder="var/audio/playlist" +audio_playlist_folder="/var/audio/playlist" [fallback] # track_sensitive => fallback_folder track sensitivity @@ -144,8 +144,8 @@ audio_playlist_folder="var/audio/playlist" fallback_max_blank="20." fallback_min_noise="0." fallback_threshold="-80." -# A playlist holding music for Station Fallbacks (optonal) -fallback_music_playlist= "/home/username/code/aura/config/playlists/station-fallback-playlist.m3u" +# A playlist holding music for Station Fallbacks (optional) +fallback_music_playlist= "station-fallback-playlist.m3u" # A folder holding music for Station Fallbacks (optional) fallback_music_folder="/var/audio/station" # The time in seconds how often the folder should be re-scanned diff --git a/config/sample-docker.engine.ini b/config/sample-docker.engine.ini index b23d5d4a..c6449a70 100644 --- a/config/sample-docker.engine.ini +++ b/config/sample-docker.engine.ini @@ -131,9 +131,9 @@ daemonuser="engineuser" socketdir="/srv/src/liquidsoap" [audiosources] -audio_source_folder="var/audio/source" +audio_source_folder="/var/audio/source" audio_source_extension=".flac" -audio_playlist_folder="var/audio/playlist" +audio_playlist_folder="/var/audio/playlist" [fallback] # track_sensitive => fallback_folder track sensitivity @@ -143,8 +143,8 @@ audio_playlist_folder="var/audio/playlist" fallback_max_blank="20." fallback_min_noise="0." fallback_threshold="-80." -# A playlist holding music for Station Fallbacks (optonal) -fallback_music_playlist= "/opt/aura/engine/config/playlists/station-fallback-playlist.m3u" +# A playlist holding music for Station Fallbacks (optional) +fallback_music_playlist= "station-fallback-playlist.m3u" # A folder holding music for Station Fallbacks (optional) fallback_music_folder="/var/audio/station" # The time in seconds how often the folder should be re-scanned diff --git a/config/sample-production.engine.ini b/config/sample-production.engine.ini index b8fc44e9..6f08a197 100644 --- a/config/sample-production.engine.ini +++ b/config/sample-production.engine.ini @@ -131,9 +131,9 @@ daemonuser="engineuser" socketdir="/opt/aura/engine/src/liquidsoap" [audiosources] -audio_source_folder="var/audio/source" +audio_source_folder="/var/audio/source" audio_source_extension=".flac" -audio_playlist_folder="var/audio/playlist" +audio_playlist_folder="/var/audio/playlist" [fallback] # track_sensitive => fallback_folder track sensitivity @@ -143,8 +143,8 @@ audio_playlist_folder="var/audio/playlist" fallback_max_blank="20." fallback_min_noise="0." fallback_threshold="-80." -# A playlist holding music for Station Fallbacks (optonal) -fallback_music_playlist= "/opt/aura/engine/config/playlists/station-fallback-playlist.m3u" +# A playlist holding music for Station Fallbacks (optional) +fallback_music_playlist= "station-fallback-playlist.m3u" # A folder holding music for Station Fallbacks (optional) fallback_music_folder="/var/audio/station" # The time in seconds how often the folder should be re-scanned diff --git a/docs/installation-development.md b/docs/installation-development.md index f432dd31..d24a6822 100644 --- a/docs/installation-development.md +++ b/docs/installation-development.md @@ -170,12 +170,13 @@ Ensure that the Liquidsoap installation path is valid: liquidsoap_path="/home/david/.opam/4.08.0/bin/liquidsoap" ``` -Finally Engine needs to be able to access the audio folder, where all the tracks of the playlists -are stored via *Tank*: +Finally Engine needs to be able to access the audio and playlist folders, where all the tracks of the playlists are stored via *Tank*: ```ini [audiosource] -audio_source_folder="/var/audio" +audio_source_folder="/var/audio/source" +audio_source_extension=".flac" +audio_playlist_folder="/var/audio/playlist" ``` If the audio device desired for playback is set as `default`, the Engine now should be ready to play diff --git a/docs/installation-production.md b/docs/installation-production.md index 06da73dc..d4398e8b 100644 --- a/docs/installation-production.md +++ b/docs/installation-production.md @@ -198,12 +198,13 @@ liquidsoap_path="/home/engineuser/.opam/4.08.0/bin/liquidsoap" **Configuring the Audio Store** -Finally Engine needs to be able to access the audio folder, where all the tracks of the playlists -are stored via *Tank*: +Finally Engine needs to be able to access the audio and playlist folders, where all the tracks of the playlists are stored via *Tank*: ```ini [audiosource] audio_source_folder="/var/audio/source" +audio_source_extension=".flac" +audio_playlist_folder="/var/audio/playlist" ``` There is some document on how to [Setup the Audio Store](docs/setup-audio-store.md). diff --git a/docs/setup-audio-store.md b/docs/setup-audio-store.md index a86d4d0b..30843e11 100644 --- a/docs/setup-audio-store.md +++ b/docs/setup-audio-store.md @@ -120,7 +120,7 @@ user_allow_other Now create the mount: ```shell -sudo sshfs -o allow_other -o IdentityFile=~/.ssh/id_rsa tankuser@192.168.0.111:/var/audio /opt/aura/audio-store -p22 +sudo sshfs -o allow_other -o IdentityFile=~/.ssh/id_rsa tankuser@192.168.0.111:/var/audio/source /opt/aura/audio-store -p22 ``` Replace `192.168.0.111` with the actual IP for your Engine and `-p22` with the actual port number your Engine's SSH service @@ -131,7 +131,7 @@ in the `/etc/fstab` file by adding this at the end: ```yaml # Audio Store @ AURA Engine -sshfs#tankuser@192.168.0.111:/var/audio /opt/aura/audio-store fuse auto,port=22,identityfile=~/.ssh/id_rsa,allow_other,_netdev 0 0 +sshfs#tankuser@192.168.0.111:/var/audio/source /opt/aura/audio-store fuse auto,port=22,identityfile=~/.ssh/id_rsa,allow_other,_netdev 0 0 ``` diff --git a/run.sh b/run.sh index ce631ee3..303a2790 100755 --- a/run.sh +++ b/run.sh @@ -99,6 +99,8 @@ if [[ $docker == "true" ]]; then -u $UID:$GID \ -v "$BASE_D":/srv \ -v "$BASE_D/audio/source":/var/audio/source:ro \ + -v "$BASE_D/audio/station":/var/audio/station:ro \ + -v "$BASE_D/audio/playlist":/var/audio/playlist:ro \ -v "$BASE_D/config/docker":/etc/aura \ -v "/dev/snd":/dev/snd \ --privileged \ diff --git a/src/liquidsoap/settings.liq b/src/liquidsoap/settings.liq index b8fe0976..eff5ac42 100644 --- a/src/liquidsoap/settings.liq +++ b/src/liquidsoap/settings.liq @@ -66,9 +66,15 @@ 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_path = "#{engine_config_folder}/playlists/station-fallback-playlist.m3u" -fallback_station_playlist_path = list.assoc(default=fallback_station_playlist_path, "fallback_music_playlist", ini) +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)) -- GitLab