Skip to content

Cava ​

Audio visualizer using cava.

Usage ​

You can browse the Cava reference.

CLI ​

There is no CLI for this library, use the one provided by cava.

sh
cava

Library ​

js
import Cava from "gi://AstalCava"

const cava = Cava.get_default()

cava.connect("notify::values", () => {
    print(cava.get_values())
})
py
from gi.repository import AstalCava as Cava

cava = Cava.get_default()

def callback(self, pspec):
    print(cava.get_values())

cava.connect("notify::values", callback)
lua
local Cava = require("lgi").require("AstalCava")

local cava = Cava.get_default()

cava.on_notify.values = function()
    print(cava.values)
end
vala
var cava = AstalCava.get_default();

cava.notify["values"].connect(() => {
    foreach (var value in cava.values) {
        print(value);
    }
});

Installation ​

  1. install dependencies

    Note that it requires libcava, a fork of cava, which provides cava as a shared library.

    sh
    sudo pacman -Syu meson vala gobject-introspection
    paru -S libcava
    sh
    # Not yet documented
    sh
    # Not yet documented
  2. clone repo

    sh
    git clone https://github.com/aylur/astal.git
    cd astal/lib/cava
  3. install

    sh
    meson setup build
    meson install -C build

Released under the LGPL v2.1 License