Shift X2 status from legacy to archived
[khatus.git] / x4 / bin / khatus_x4_sensor_volume
1 #! /bin/sh
2
3 set -e
4
5 bin_dir="$(dirname $(realpath $0))"
6
7 . "$bin_dir/khatus_x4_lib_common_sensor.sh"
8
9 sensor() {
10 def_sink=$(pactl info | awk '/^Default Sink:/ {print $3}')
11
12 pactl list sinks | awk -v def_sink="$def_sink" '
13 /^Sink \#[0-9]+$/ {
14 sub("^#", "", $2)
15 sink_number = $2
16 next
17 }
18
19 /\tState:/ {
20 state[sink_number] = $2
21 next
22 }
23
24 /\tName:/ {
25 name[sink_number] = $2
26 next
27 }
28
29 /\tMute:/ {
30 mute[sink_number] = $2
31 next
32 }
33
34 # Volume: front-left: 45732 / 70% / -9.38 dB, front-right: 45732 / 70% / -9.38 dB
35 /\tVolume:/ {
36 delete vol_parts
37 delete left_parts
38 delete right_parts
39 sub("^\t+Volume: +", "")
40 split($0, vol_parts, ", +")
41 sub("^front-left: +", "", vol_parts[1])
42 sub("^front-right: +", "", vol_parts[2])
43 split(vol_parts[1], left_parts, " +/ +")
44 split(vol_parts[2], right_parts, " +/ +")
45 vol_left[sink_number] = left_parts[2]
46 vol_right[sink_number] = right_parts[2]
47 next
48 }
49
50 END {
51 for (sink_number in name) {
52 if (name[sink_number] == def_sink) {
53 print("state" , state[sink_number])
54 print("mute" , mute[sink_number])
55 print("vol_left" , vol_left[sink_number])
56 print("vol_right", vol_right[sink_number])
57 }
58 }
59 }
60 '
61 }
62
63 run_as_poller
This page took 0.05163 seconds and 4 git commands to generate.