diff --git a/src/settings.liq b/src/settings.liq index d6e722792b274ae04b1fc3a0a05d4659f52e646c..c5e0ff911a285c37fdd4144298d92f2a458e7e4b 100644 --- a/src/settings.liq +++ b/src/settings.liq @@ -29,8 +29,60 @@ config_file = print( "\tConfig file: '#{config_file}'" ) -ini = read_ini(config_file) -engine_config_folder = string.split(separator="/engine-core.ini", config_file) + +let yaml.parse (config : + { + general: { + engine_id: string, + socket_dir: string, + log_dir: string, + log_level: string, + liquidsoap_as_root: string, + liquidsoap_min_version: string, + api_url_playlog: string + }, + telnet: { + server_enable: string, + server_timeout: string, + server_host: string, + server_port: string + }, + fallback: { + music_folder: string, + show_name: string, + show_id: string, + type: string, + music_playlist: string, + music_folder_reload: string, + max_blank: string, + min_noise: string, + threshold: string + }, + stream: [ + { + enabled: bool, + encoding: string, + bitrate: string, + channels: string, + host: string, + port: float, + mountpoint: string, + user: string, + password: string, + url: string, + name: string, + genre: string, + description: string + } + ], + audio: { + soundsystem: string, + devices: {output: [{name: string}], input: [{name: string}]} + } + } +) = file.contents(config_file) +ini +engine_config_folder = string.split(separator="/engine-core.yaml", config_file) engine_config_folder = list.nth(default="../config/", engine_config_folder, 0) print( "\tengine_config_folder = '#{engine_config_folder}'"