table of contents
waybar-cava(5) | User Manual | waybar-cava(5) |
NAME¶
waybar - cava module
DESCRIPTION¶
cava module for karlstav/cava project. See it on github: https://github.com/karlstav/cava.
FILES¶
$XDG_CONFIG_HOME/waybar/config
Per user configuration file
ADDITIONAL FILES¶
libcava lives in:
CONFIGURATION¶
Option | Typeof | Default | Description |
cava_config | string | Path where cava configuration file is placed to | |
framerate | integer | 30 | Frames per second. Is used as a replacement for interval |
autosens | integer | 1 | Will attempt to decrease sensitivity if the bars peak |
sensitivity | integer | 100 | Manual sensitivity in %. It's recommended to be omitted when autosens = 1 |
bars | integer | 12 | The number of bars |
lower_cutoff_freq | long integer | 50 | Lower cutoff frequencies for lowest bars the bandwidth of the visualizer |
higher_cutoff_freq | long integer | 10000 | Higher cutoff frequencies for highest bars the bandwidth of the visualizer |
sleep_timer | integer | 5 | Seconds with no input before cava main thread goes to sleep mode |
hide_on_silence | bool | false | Hides the widget if no input (after sleep_timer elapsed) |
method | string | pulse | Audio capturing method. Possible methods are: pipewire, pulse, alsa, fifo, sndio or shmem |
source | string | auto | See cava configuration |
sample_rate | long integer | 44100 | See cava configuration |
sample_bits | integer | 16 | See cava configuration |
stereo | bool | true | Visual channels |
reverse | bool | false | Displays frequencies the other way around |
bar_delimiter | integer | 0 | Each bar is separated by a delimiter. Use decimal value in ascii table(i.e. 59 = ";"). 0 means no delimiter |
monstercat | bool | false | Disables or enables the so-called "Monstercat smoothing" with or without "waves" |
waves | bool | false | Disables or enables the so-called "Monstercat smoothing" with or without "waves" |
noise_reduction | double | 0.77 | Range between 0 - 1. The raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth. 1 - will be very slow and smooth, 0 - will be fast but noisy |
input_delay | integer | 2 | Sets the delay before fetching audio source thread start working. On author's machine, Waybar starts much faster than pipewire audio server, and without a little delay cava module fails because pipewire is not ready |
ascii_max_range | integer | 7 | It's impossible to set it directly. The value is dictated by the number of icons in the array format-icons |
data_format | string | asci | It's impossible to set it. Waybar sets it to = asci for internal needs |
raw_target | string | /dev/stdout | It's impossible to set it. Waybar sets it to = /dev/stdout for internal needs |
Configuration can be provided as:
ACTIONS¶
String | Action |
mode | Switch main cava thread and fetch audio source thread from/to pause/resume |
DEPENDENCIES¶
SOLVING ISSUES¶
1. In such cases at first need to make sure usual cava application is working as well
RISING ISSUES¶
For clear understanding: this module is a cava API's consumer. So
for any bugs related to cava engine you should contact Cava
upstream(https://github.com/karlstav/cava)
with the one Exception. Cava upstream doesn't provide cava as a shared
library. For that, this module author made a fork
libcava(https://github.com/LukashonakV/cava).
So the order is:
[Bump]x.x.x where x.x.x is cava release version.
EXAMPLES¶
"cava": { //"cava_config": "$XDG_CONFIG_HOME/cava/cava.conf", "framerate": 30, "autosens": 1, //"sensitivity": 100, "bars": 14, "lower_cutoff_freq": 50, "higher_cutoff_freq": 10000, "method": "pulse", "source": "auto", "stereo": true, "reverse": false, "bar_delimiter": 0, "monstercat": false, "waves": false, "noise_reduction": 0.77, "input_delay": 2, "format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ], "actions": { "on-click-right": "mode" } },
2023-11-17 | waybar-cava |