yambar/modules
Daniel Eklöf d1c7647b03
module/alsa: add support for capture devices
This mostly comes down to tracking whether each channel is a playback,
or capture channel, and using the appropriate APIs when dealing with
it.

Some cleanup related to this:

* Add a channel struct, for per-channel data. Previously, our channel
  list was just a list of ALSA channel IDs.
* We now store current volume per-channel (but volume min/max is
  per-device)
* Muted state is stored per-channel
* Track both the device’s playback and capture volume ranges, as well
  as whether the device *has* playback or capture volume.
* Get the playback/capture volume ranges once, during init, instead of
  at each update.
* Use struct pointers for the volume/muted channels. This way we don’t
  have to iterate all channels and to string comparisons on the name
  each time we update our state.
2021-08-26 11:03:12 +02:00
..
alsa.c module/alsa: add support for capture devices 2021-08-26 11:03:12 +02:00
backlight.c modules: implement description() 2021-06-20 21:15:24 +02:00
battery.c modules: implement description() 2021-06-20 21:15:24 +02:00
clock.c modules: implement description() 2021-06-20 21:15:24 +02:00
foreign-toplevel.c module/foreign-toplevel: require version 3 of wl-output interface 2021-08-25 18:46:19 +02:00
i3-common.c module/i3-common: fix compilation warning with asan 2020-07-07 14:06:29 +02:00
i3-common.h modules/sway-xkb: new module, uses sway 'input' events to expose kbd layout 2019-08-14 21:51:43 +02:00
i3-ipc.h module/i3: use our own copy of i3/ipc.h 2019-03-31 12:08:44 +02:00
i3.c module/i3: add ‘persistent’ attribute 2021-07-26 21:41:59 +02:00
label.c modules: implement description() 2021-06-20 21:15:24 +02:00
meson.build module/foreign-toplevel: track outputs each toplevel is mapped on 2021-08-25 18:46:19 +02:00
mpd.c modules: implement description() 2021-06-20 21:15:24 +02:00
network.c log: pull in log.{c,h} from foot 2021-08-15 11:41:12 +02:00
removables.c modules: implement description() 2021-06-20 21:15:24 +02:00
river.c module/river: rename the ‘per-output’ option to ‘all-monitors’ 2021-08-25 18:47:33 +02:00
script.c log: pull in log.{c,h} from foot 2021-08-15 11:41:12 +02:00
sway-xkb.c modules: implement description() 2021-06-20 21:15:24 +02:00
xkb.c modules: implement description() 2021-06-20 21:15:24 +02:00
xwindow.c modules: implement description() 2021-06-20 21:15:24 +02:00