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