Split-out and refactor 'pactl list sinks' parser
[khatus.git] / bin / khatus_parse_pactl_list_sinks
CommitLineData
d06e7260
SK
1#! /usr/bin/awk -f
2
3/^Sink \#[0-9]+$/ {
4 sub("^#", "", $2)
5 sink = $2
6 next
7}
8
9/\tState:/ {
10 state[sink] = $2
11 next
12}
13
14/\tMute:/ {
15 mute[sink] = $2
16 next
17}
18
19# Volume: front-left: 45732 / 70% / -9.38 dB, front-right: 45732 / 70% / -9.38 dB
20/\tVolume:/ {
21 delete vol_parts
22 delete left_parts
23 delete right_parts
24 sub("^\t+Volume: +", "")
25 split($0, vol_parts, ", +")
26 sub("^front-left: +", "", vol_parts[1])
27 sub("^front-right: +", "", vol_parts[2])
28 split(vol_parts[1], left_parts, " +/ +")
29 split(vol_parts[2], right_parts, " +/ +")
30 vol_left[sink] = left_parts[2]
31 vol_right[sink] = right_parts[2]
32 next
33}
34
35END {
36 for (sink in state) {
37 printf(\
38 "%s %s %s %s %s\n",
39 sink, state[sink], mute[sink], vol_left[sink], vol_right[sink] \
40 )
41 }
42}
This page took 0.028505 seconds and 4 git commands to generate.