return res
end
+local last_alsa_sound_shark_volume = -1 -- Always update on the first frame.
+
function update_volume()
if Nageru.get_num_audio_buses() < 3 or
Nageru.get_audio_bus_name(2) ~= 'Sound Shark' then
volume_db = -100.0
end
cef_input:execute_javascript_async("set_sound_shark_volume_db(" .. volume_db .. ")")
+
+ local desired_alsa_sound_shark_volume = (volume_db < -40.0) and 0 or 154 -- 154 corresponds to 70% in alsamixer for this input.
+ if desired_alsa_sound_shark_volume ~= last_alsa_sound_shark_volume then
+ os.execute("amixer -D hw:CARD=USB sset 'Mix A Input 04' " .. desired_alsa_sound_shark_volume .. " &")
+ os.execute("amixer -D hw:CARD=USB sset 'Mix B Input 04' " .. desired_alsa_sound_shark_volume .. " &")
+ last_alsa_sound_shark_volume = desired_alsa_sound_shark_volume
+ end
end
local last_rate = 0.0
alsa_name: "Scarlett 18i20 USB"
alsa_info: "USB Audio"
num_channels: 18
- address: "hw:1,0"
-}
-device {
- type: SILENCE
+ address: "hw:2,0"
}
bus {
name: "Ambience mic"
}
bus {
name: "Sound Shark"
- device_index: 1
- source_channel_left: -1
- source_channel_right: -1
+ device_index: 0
+ source_channel_left: 6
+ source_channel_right: 6
}