forked from external/yambar
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. |
||
---|---|---|
.. | ||
alsa.c | ||
backlight.c | ||
battery.c | ||
clock.c | ||
foreign-toplevel.c | ||
i3-common.c | ||
i3-common.h | ||
i3-ipc.h | ||
i3.c | ||
label.c | ||
meson.build | ||
mpd.c | ||
network.c | ||
removables.c | ||
river.c | ||
script.c | ||
sway-xkb.c | ||
xkb.c | ||
xwindow.c |