X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fultimate.lua;h=3efaa633d0fa873176fb281f5a27621f96faaeb4;hb=8defdf7ec54c2965ff05b870f217500d4ef02b7d;hp=6bfa1c1988319175d2485e9c20db1f20a454982f;hpb=123dcff2b9848d7bf41edc080cfdee64032d964a;p=ultimatescore diff --git a/nageru/ultimate.lua b/nageru/ultimate.lua index 6bfa1c1..3efaa63 100644 --- a/nageru/ultimate.lua +++ b/nageru/ultimate.lua @@ -724,6 +724,8 @@ function fetch_input_resolution(signals, signal_num) 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 @@ -741,6 +743,13 @@ function update_volume() 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