diff --git a/res/layouts/pages/settings_audio.xml.lua b/res/layouts/pages/settings_audio.xml.lua
index 1ff217534..b63b06234 100644
--- a/res/layouts/pages/settings_audio.xml.lua
+++ b/res/layouts/pages/settings_audio.xml.lua
@@ -1,4 +1,4 @@
-function create_setting(id, name, step, postfix)
+function create_trackbar_setting(id, name, step, postfix)
local info = app.get_setting_info(id)
postfix = postfix or ""
document.root:add(gui.template("track_setting", {
@@ -10,10 +10,10 @@ function create_setting(id, name, step, postfix)
step=step,
postfix=postfix
}))
- update_setting(app.get_setting(id), id, name, postfix)
+ update_trackbar_label(app.get_setting(id), id, name, postfix)
end
-function update_setting(x, id, name, postfix)
+function update_trackbar_label(x, id, name, postfix)
app.set_setting(id, x)
-- updating label
document[id..".L"].text = string.format(
@@ -24,12 +24,22 @@ function update_setting(x, id, name, postfix)
)
end
+function update_checkbox_setting(id, value)
+ app.set_setting(id, value)
+
+ local recording_enabled = app.get_setting("audio.recording-enabled")
+ document.input_device_select.enabled = recording_enabled
+ document.input_volume_inner.enabled = recording_enabled
+ document.input_volume_outer.enabled = recording_enabled
+end
+
function create_checkbox(id, name, tooltip)
tooltip = tooltip or ''
document.root:add(string.format(
- "%s",
+ "%s",
id, app.str_setting(id), gui.str(tooltip, "settings"), gui.str(name, "settings")
))
+ update_checkbox_setting(id, app.get_setting(id))
end
local initialized = false
@@ -55,11 +65,12 @@ function on_open()
prev_amplitude = amplitude
end)
end
- create_setting("audio.volume-master", "Master Volume", 0.01)
- create_setting("audio.volume-regular", "Regular Sounds", 0.01)
- create_setting("audio.volume-ui", "UI Sounds", 0.01)
- create_setting("audio.volume-ambient", "Ambient", 0.01)
- create_setting("audio.volume-music", "Music", 0.01)
+ create_trackbar_setting("audio.volume-master", "Master Volume", 0.01)
+ create_trackbar_setting("audio.volume-regular", "Regular Sounds", 0.01)
+ create_trackbar_setting("audio.volume-ui", "UI Sounds", 0.01)
+ create_trackbar_setting("audio.volume-ambient", "Ambient", 0.01)
+ create_trackbar_setting("audio.volume-music", "Music", 0.01)
+
document.root:add("")
document.root:add("")
@@ -67,9 +78,7 @@ function on_open()
..""
.."")
local selectbox = document.input_device_select
- local devices = {
- {value="none", text=gui.str("None", "settings.microphone")},
- }
+ local devices = {}
local names = audio.__get_input_devices_names()
for i, name in ipairs(names) do
table.insert(devices, {value=name, text=name})
@@ -78,7 +87,10 @@ function on_open()
local info = audio.input.get_input_info()
if info then
selectbox.value = info.device_specifier
+ else
+ selectbox.value = app.get_setting("audio.input-device")
end
+ create_checkbox("audio.recording-enabled", "Enable microphone", "audio.recording-enabled.tooltip")
create_checkbox("audio.acoustic-effects", "Acoustic effects", "audio.acoustic-effects.tooltip")
end
diff --git a/res/layouts/pages/settings_display.xml.lua b/res/layouts/pages/settings_display.xml.lua
index 1e7861ff0..a3941bf2a 100644
--- a/res/layouts/pages/settings_display.xml.lua
+++ b/res/layouts/pages/settings_display.xml.lua
@@ -9,7 +9,7 @@ tostring_overrides["display.framerate"] = function(x)
end
end
-function create_setting(id, name, step, postfix, tooltip, changeonrelease)
+function create_trackbar_setting(id, name, step, postfix, tooltip, changeonrelease)
local info = app.get_setting_info(id)
postfix = postfix or ""
tooltip = tooltip or ""
@@ -25,10 +25,10 @@ function create_setting(id, name, step, postfix, tooltip, changeonrelease)
tooltip=tooltip,
changeonrelease=changeonrelease
}))
- update_setting(app.get_setting(id), id, name, postfix)
+ update_trackbar_label(app.get_setting(id), id, name, postfix)
end
-function update_setting(x, id, name, postfix)
+function update_trackbar_label(x, id, name, postfix)
local str
local func = tostring_overrides[id]
if func then
@@ -55,8 +55,8 @@ end
function on_open()
- create_setting("camera.fov", "FOV", 1, "°")
- create_setting("display.framerate", "Framerate", 1, "", "", true)
+ create_trackbar_setting("camera.fov", "FOV", 1, "°")
+ create_trackbar_setting("display.framerate", "Framerate", 1, "", "", true)
document.root:add(string.format(
"